net中语音识别和语音合成

net中语音识别和语音合成

ID:14850906

大小:33.13 KB

页数:9页

时间:2018-07-30

net中语音识别和语音合成_第1页
net中语音识别和语音合成_第2页
net中语音识别和语音合成_第3页
net中语音识别和语音合成_第4页
net中语音识别和语音合成_第5页
资源描述:

《net中语音识别和语音合成》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、net中语音识别和语音合成.net中语音识别和语音合成2010-07-2013:05准备SpVoiceClass详解属性描述AlertBoundary取得或设置停顿分界线。AllowAudioOutputFormatChangesOnNextSet设置是否允许声音自动调整到合适状态以适应其音频输出。AudioOutput.取得或设置当前声音使用的的音频输出对象AudioOutputStream取得或设置当前声音使用的的音频输出流对象。EventInterests取得或设置当前声音返回的事件类型。Priority取得或设置

2、声音的优先级。Rate取得或设置阅读的速度。Status返回一个ISpeechVoiceStatus对象用于显示当前阅读和事件的状态SynchronousSpeakTimeout取得或设置一个时间间隔,用于标识多久未获得一个输出设备后,一个同步的Speak和SpeakStream将终止,以毫秒计算。Voice取得或设置发音对象。Volume取得或设置声音的大小。方法描述DisplayUI是否在控制面板中展示详细设置。GetAudioOutputs返回一个可用的音频输出标记。GetVoices返回一个可用的发音对象。IsU

3、ISupported决定是否能通过控制棉板的音频设置来控制。Pause暂停朗读。.Resume恢复暂停,继续播放。Skip在当前输入的文本流中向前或向后跳一定距离再播放。Speak阅读一个字符串。SpeakCompleteEvent得到一个朗读完毕的时间句柄SpeakStream朗读一个文本流或一个声音文件。WaitUntilDone阻塞进程,直到声音播放完毕或者超时。.关于语音合成的一些基础知识,就是先j建立一个SpVoiceClass类的对象,然后调用对象的GetVoices方法取的一个发音的对象,但是通过设置该方法

4、的参数只能建立中文发音或是英文发音的对象,而对于中英文混合的文本却没有办法。为解决这个问题,可以对字符串中的每的字符的ASC码进行判断,进而分辨传入的字符串是中文还是英文。以下是判断的代码。publicboolAnalyse(stringstrSpeak){intiCbeg=0;intiEbeg=0;boolIsChina=true;for(inti=0;istrSpeak.Length;i++){charchr=strSpeak[i];if(IsChina){if(chr=122&&chr=65){intiLen=i-

5、iCbeg;stringstrValue=strSpeak.Substring(iCbeg,iLen);SpeakChina(strValue);iEbeg=i;IsChina=false;}}else{if(chr122

6、

7、chr65){intiLen=i-iEbeg;stringstrValue=strSpeak.Substring(iEbeg,iLen);this.SpeakEnglishi(strValue);iCbeg=i;IsChina=true;}}}returnIsChina;}对于Speak方法的参数,

8、第一个是一个字符串类型,第二个是一个SpeechVoiceSpeakFlags类型的枚举。当将其设置为SVSFDefault时,则第一个就是要读的文本,若将其设置为SVSFIsFilename时,第一个参数就是所要读的文本的文件名,而不是要读的内容。下面介绍这个类的SpeakStream方法,这个方法有2个参数,第一个是SpeechBaseStream,第二和Speak一样,是一个SpeechVoiceSpeakFlags类型的枚举。SpeechBaseStream是一个接口,继承它的有3个对象,这3个都很相似,先介绍其

9、中之一SpFileStream。SpFileStream有3个比较常用的方法:Read,Seek,Write。其中Read方法可以创建一个*.wav文件,以下代码演示了创建文件的步骤:SpFileStreamClassfs1=newSpFileStreamClass();SpVoiceClassv=newSpVoiceClass();fs1.Open(textBox1.Text,SpeechStreamFileMode.SSFMCreateForWrite,false);//textBox1.text是要创建的文件的路径

10、。v.AudioOutputStream=fs1;stringss=newstring[4]{"this","is","a","demo"};foreach(stringsinss){v.Speak(s,SpeechVoiceSpeakFlags.SVSFlagsAsync);}fs1.Close();下面的代码将用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。