国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

用Java實現(xiàn)IRC文本到語音轉(zhuǎn)換

2019-11-18 13:31:48
字體:
供稿:網(wǎng)友

  由于IRC是一個完全實時的聊天系統(tǒng),所以你將很難從中受益,除非你能密切關(guān)注聊天時對話產(chǎn)生的順序。不幸的是,這將會導(dǎo)致生產(chǎn)力的低下,這就是為什么很多雇主不贊成使用IRC的原因。然而,假如IRC得到了恰當(dāng)?shù)氖褂茫軌蚴构蛦T與遠程的同事們一起高效地工作,不管他們是位于地球的另一端,或者只是在隔壁的大廈。像IRC這樣的實時群組聊天系統(tǒng)使組織會議(甚至可以實現(xiàn)視頻會議)、提問問題或是商量去哪里吃午餐這樣的小事都變得更加輕易。

  很多老板也許會爭辯說,在工作場所提高生產(chǎn)力的最顯而易見的方法是完全避免使用IRC。在某些情況下這也許是正確的,但是在很多場合IRC可以是非常有用的。當(dāng)你使用IRC進行交流時――即使是跟同一辦公室中的某個人――在別處的同事將能夠看到你們兩個談話的內(nèi)容。當(dāng)你不在辦公桌旁的時候,你也可以了解同事們在討論什么。這是電話或常規(guī)的點對點聊天系統(tǒng)所不輕易實現(xiàn)的兩個重要方面。

  理想的解決方案是設(shè)計一種無需經(jīng)常查看是否有新消息就可以明了IRC對話的方法。只要你的IRC頻道不是很繁忙,那么一個文本語音轉(zhuǎn)換系統(tǒng)將會提供給你優(yōu)秀的解方案。它會將新消息自動朗讀出來,這樣你就可以繼續(xù)工作,只在有絕對必要的時候才轉(zhuǎn)移注重力到IRC上面來。

  本文將展示如何建立一個跨平臺的IRC機器人(一個自動化的客戶端),它使用FreeTTS java語音合成庫來將IRC消息轉(zhuǎn)換成聽得見的語音。

  FreeTTS庫可以在freetts.sourceforge.net下載。為了連接到IRC服務(wù)器上,你需要在www.jibble.org/pircbot.php下載PircBot Java IRC API。

  當(dāng)你下載了所需的兩個庫之后,建立一個lib目錄,然后將下列.jar文件拷貝到里面。

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

  現(xiàn)在,寫IRC機器人已經(jīng)變成了一個簡單的任務(wù),因為這些庫將為你完成多數(shù)的困難工作。建立一個名為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.
        // 設(shè)置輸出格式
        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.
        // 發(fā)送所有的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]);
    }

}



發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 和顺县| 全州县| 汶上县| 青阳县| 滕州市| 永胜县| 桃园县| 夏河县| 修文县| 溆浦县| 遂溪县| 娱乐| 尼玛县| 同心县| 扎囊县| 通化市| 宜兴市| 九江市| 沾益县| 武鸣县| 定日县| 新绛县| 沙湾县| 苏尼特左旗| 梓潼县| 麻江县| 贺州市| 温宿县| 炉霍县| 绥棱县| 黄石市| 富蕴县| 新邵县| 朝阳县| 资源县| 德格县| 巢湖市| 临高县| 建水县| 汽车| 同江市|