天天看点

用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的应用。

继续阅读