天天看點

用TTS技術開發具有文本朗讀功能的應用程式(轉)之二

2.關于Microsoft Speech SDK

實作TTS的核心技術本身是非常複雜的,不是一般開發人員所能完成的,但是有了

Microsoft Speech SDK這樣的工具的幫助,隻需要在應用程式中加入一些不太複雜的指令和操作,我們就可以建立具有TTS功能的應用程式了。

國内外有許多高科技公司和科研機構緻力于TTS技術的開發和研究,如微軟公司、IBM公司以及國内的科大迅飛公司都有較成熟的語音産品,并且任何人都可以獲得微軟公司免費提供的語音軟體開發工具:Microsoft Speech SDK。

目前的Microsoft Speech SDK已經有4.0,5.1等幾個版本,最近還推出了适合網絡語音程式開發的The Microsoft Speech Application SDK的測試版,這些SDK主要包括語音應用程式程式設計接口SAPI(SAPI使我們象使用windows API一樣友善地在程式中使用語音功能)和微軟語音識别引擎和微軟語音合成引擎,還提供了進行應用設計的例子。Microsoft Speech SDK 5.1 提供了英文和中文兩種TTS引擎,即可以用它開發朗讀中文和英文的應用程式,非常适合中國的開發者使用。

利用這些SDK,開發人員可以很容易地把TTS技術內建到應用軟體中,并可以自由釋出。另外Microsoft Speech SDK還提供了詳細的文檔幫助開發者進行程式開發。

3.實作TTS的條件準備

利用Microsoft Speech SDK進行TTS語音應用程式開發前要作一些軟體和硬體的準備:

1)      去http://www.microsoft.com/speech/下載下傳Microsoft Speech SDK 5.1或其它版本SDK,并且安裝到自己的機器上。

2)      Microsoft VC++ 6.0 ,service pack 3 或更新的版本。

3)      聲霸卡和喇叭

4)      要實作該SDK的全部功能,則去http://www.microsoft.com/msdownload/platformsdk下載下傳新的Platform SDK。

另外要注意的是SAPI 5.1不支援windows 95。

4.在應用程式中實作TTS功能

微軟SAPI 5.1實作text-to-speech的核心是對COM接口IspVoice的應用,是以應用TTS技術最好要了解一下COM程式設計技術,但是即使從來沒有用過COM程式設計,隻要按照SDK的示例,也可以順利的實作TTS的功能。

SAPI 的API接口封裝得很好,我們不需要了解任何發聲引擎底層的工作細節。例如一旦在程式中建立了一個IspVoice對象,就可以通過調用

ISpVoice::Speak實作文本朗讀,通過調用ISpVoice::SetRate實作對朗讀速度的控制,以及通過調用ISpVoice::SetVoice實作對朗讀聲音的不同人物或語言控制(男聲/女生,中文/英文)等。事實上掌握對這個接口的應用就可以實作大多數TTS的應用。

繼續閱讀