最近的项目中要用到语音合成和识别,还是借用微软的技术,其实还蛮不好意思的,不过既然人家做了这个,不用白不用啊,总不能自己去研究语音合成。。。
SpeechLib这个库提供了语音合成的接口,其中VS2008提供了,而VS2005好像要安装SpeechSDK51.exe和SpeechSDK51LangPack.exe,当然现在的最新版本是5.3,不过还是用以前的吧,也还好,最新的这个文档不是很全面,用法和以前的也有差别。
就不多说了,简单的粘贴一下代码:
SpeechVoiceSpeakFlags svsf;
SpVoiceClass svc=null;
svc = new SpVoiceClass();
svc.SetVolume(20);//音量大小
svc.SetRate(1);//语速正常
svc.Speak("这里是JcServer的第一个TTS程序", svsf);
//svc.Pause();//暂停
//svc.Resume();//继续
最简单的方式去实现这个功能,但是里面到底怎么实现的,我们不得而知,用微软的技术也会让人变傻的。。。
在此还是建议大家去研究一下TTS的结构和实现,这里只是提供一种机器发音的方法。希望对大家有帮助