詳解QtSpeech Qt文本語音輸出TTS API
QtSpeech是一個Qt封裝的跨平臺TTS(文本變成語音輸出)API,在不同平臺下利用系統(tǒng)自帶的TTS引擎。在Windows下使用SAPI, 在Mac下使用SpeechSynthesis,而在Linux下使用 Festival.
QtSpeech的官方項目主頁在:http://lynxline.com/projects/qtspeech
源碼git倉庫地址則在:http://gitorious.org/qt-speech
QtSpeech的“Hello World”
API的使用非常簡單,如果你是同步調(diào)用,發(fā)音結(jié)束后返回,可以使用QtSpeech::say
- <blockquote>#include <QtSpeech>
- …
- QtSpeech voice;
- voice.say(“Hello World!”);
如果是異步調(diào)用(發(fā)音不會阻塞程序運行),則可以使用QtSpeech::tell
- <blockquote>#include <QtSpeech>
- …
- QtSpeech * voice = new QtSpeech(this);
- voice->tell(“Hello asynchronous world!”);
如果使用QtSpeech::tell,還可以加入slot函數(shù),在發(fā)音結(jié)束時回調(diào)該slot
- voice->tell(“Hello!”, this, SLOT(onSpeechFinished()));
VoiceName可以用于設(shè)定發(fā)音類型的,比如英語或者法語,意大利語等
- QtSpeech::VoiceNames vs = QtSpeech::voices();
- //不過,目前從源代碼來看只支持英語
在ubuntu下編譯
- $ #qtspeech 依賴的tts是festival,所以需要先安裝
- $ sudo apt-get install festival festival-dev
- $ sudo apt-get install libasound2-dev
- $ git clone git://gitorious.org/qt-speech/qt-speech.git
- $ cd qt-speech/
- $ qmake QtSpeech.pro
- $ make
- $ #test目錄下有可以測試的例子
【編輯推薦】