网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.关于游戏中高效的换色方法.
.安装配置:zip版本Tomcat配置新手.
.JavaI/OAPI之性能分析(下).
.为系统添加新字体和中文显示.
.用java压缩文件示例(没有中文问.
.在Eclipse 3.1体验J2SE 5.0新特性.
.RMI规范--第八章.
.Jive源代码研究.
.Hibernate + Proxool配置.
.FileExists 方法.
.Sun推新虚拟磁盘存储系统 容量提.
.基于UML的工作流管理系统分析二(.
.Java核心代码例程之:RMIExample.
.项目经理需知的Java技术问题.
.用Java调用VC音量控制程序.
.Struts开发指南之Taglib的初步了.
.J2EE1.4新特性之JDBC3.0的新特性.
.简单客户系统的权限控制实现.
.java操作mssql2000的小例子.
.scjp1.4于八月十九上马.

用Java实现IRC文本到语音转换

发表日期:2008-1-5



  由于IRC是一个完全实时的聊天系统,所以你将很难从中受益,除非你能密切关注聊天时对话产生的顺序。不幸的是,这将会导致生产力的低下,这就是为什么很多雇主不赞成使用IRC的原因。然而,假如IRC得到了恰当的使用,它能够使雇员与远程的同事们一起高效地工作,不管他们是位于地球的另一端,或者只是在隔壁的大厦。像IRC这样的实时群组聊天系统使组织会议(甚至可以实现视频会议)、提问问题或是商量去哪里吃午餐这样的小事都变得更加轻易。

  很多老板也许会争辩说,在工作场所提高生产力的最显而易见的方法是完全避免使用IRC。在某些情况下这也许是正确的,但是在很多场合IRC可以是非常有用的。当你使用IRC进行交流时――即使是跟同一办公室中的某个人――在别处的同事将能够看到你们两个谈话的内容。当你不在办公桌旁的时候,你也可以了解同事们在讨论什么。这是电话或常规的点对点聊天系统所不轻易实现的两个重要方面。

  理想的解决方案是设计一种无需经常查看是否有新消息就可以明了IRC对话的方法。只要你的IRC频道不是很繁忙,那么一个文本语音转换系统将会提供给你优秀的解方案。它会将新消息自动朗读出来,这样你就可以继续工作,只在有绝对必要的时候才转移注重力到IRC上面来。

  本文将展示如何建立一个跨平台的IRC机器人(一个自动化的客户端),它使用FreeTTS Java语音合成库来将IRC消息转换成听得见的语音。

  FreeTTS库可以在freetts.sourceforge.net下载。为了连接到IRC服务器上,你需要在www.jibble.org/pircbot.PHP下载PircBot Java IRC API。

  当你下载了所需的两个库之后,建立一个lib目录,然后将下列.jar文件拷贝到里面。

  ?cmu_time_awb.jar
  ?cmu_us_kal.jar
  ?cmulex.jar
  ?cmutimelex.jar
  ?en_us.jar
  ?freetts.jar
  ?pircbot.jar

  现在,写IRC机器人已经变成了一个简单的任务,因为这些库将为你完成多数的困难工作。建立一个名为SpeechBot.java的文件:
import org.jibble.pircbot.*;
import com.sun.speech.freetts.*;
import com.sun.speech.freetts.audio.*;
import javax.sound.sampled.*;
import java.io.File;

public class SpeechBot extends PircBot {

    private Voice voice;
    
    public SpeechBot(String name) {
        setName(name);

        // Choose the voice for the speech synthesizer.
        // 选择语音合成器的话音
        String voiceName = "kevin16";
        VoiceManager voiceManager =
VoiceManager.getInstance();
        voice = voiceManager.getVoice(voiceName);

        if (voice == null) {
            System.out.println("Voice not found.");
            System.exit(1);
        }

        voice.allocate();

        // Set up the output format.
        // 设置输出格式
        AudioPlayer voicePlayer = new JavaClipAudioPlayer();
        voicePlayer.setAudioFormat(new AudioFormat(8000,
16, 1, false, true));
        voice.setAudioPlayer(voicePlayer);
    }    
    
    public void onMessage(String channel, String sender,
String login, String hostname, String message) {
        // Send all IRC messages to the voice
synthesizer.
        // 发送所有的IRC消息到语音合成器
        message = message.trim();
        String input = sender + " on " + channel + "
says: " + message;
        voice.speak(input);
    }

    public static void main(String[] args) throws
Exception {
        if (args.length < 2) {
            System.out.println("Usage: java SpeechBot
");
            System.exit(1);
        }
        SpeechBot bot = new SpeechBot("SpeechBot");
        bot.connect(args[0]);
        bot.joinChannel(args[1]);
    }

}


上一篇:Java设计模式研究之Flyweight模式 人气:595
下一篇:Java入门——对effectivejava的评价 人气:445
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐
  发表评论
姓 名: 验证码: [ 查看评论 ]
内 容: