在.Net中用TTS

微软的SAPI提供强大的Text To Speech接口且支持自动化。可在.Net程序中引入该COM组件,通过添加引用、调用相关类的方法实现简单句子发言,还能用SpFileStream创建音频流将文本“读”到wav文件中。不过英文版win2003自带SAPI不支持中文,5.1版本可支持中日英,可到MS网站免费下载。
微软的SAPI(Speech Application Programming Interface)提供了强大的Text To Speech接口,而且支持自动化。这样可以在.Net的程序中引入该COM组件:
先添加SpeechLib的引用,在系统盘Program Files\Common Files\Microsoft Shared\Speech目录中找到sapi.dll。
在代码中调用SpVoiceClass类的Speak方法可以实现简单的句子发言:
None.gifISpeechVoice v=new SpVoiceClass();
None.gifv.Speak(txtSpeak, SpeechVoiceSpeakFlags.SVSFDefault);
还可以用SpFileStream创建音频流,如下面程序可以把文本“读到”wav文件中:
None.gif//Declare the SpVoice object. 
None.gif
ISpeechVoice v=new SpVoiceClass();
None.gif
//Create a wave stream
None.gif
SpFileStream s = new SpFileStream();
None.gif
//Create a new .wav file for writing.
None.gif
s.Open("out.wav", SpeechStreamFileMode.SSFMCreateForWrite, false);
None.gif
//Set the .wav file stream as the output for the Voice object
None.gif
v.AudioOutputStream = s;
None.gif
//Call the Speak method now will send the output to the .wav file.
None.gif
v.Speak(txtSpeak, SpeechVoiceSpeakFlags.SVSFDefault);
None.gif
//Close the file
None.gif
s.Close();
这只是很浅显的一些应用。Windows(我的是英文版win2003)自带的SAPI不支持中文,MS称5.1版本的SAPI可以支持中日英三国语言,可以到MS网站上免费下载。继续研究中……
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值