在C中的语音合成与识别技术.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在C中的语音合成与识别技术

在.net中,对英文语音有较好的支持,但是对中文语音的支持还没有加入进来,我们要想实现中文发音或中文语音识别,必需先安装微软的Speech Application SDK(SASDK),它的最新版本是 SAPI 5.1 他能够识别中、日、英三种语言,你可以在这里下载:/speech/download/sdk51/,需要安装这两个文件Speech SDK 5.1和5.1 Language Pack,其中5.1 Language Pack可以选择安装支持的语言。  安装好以后,我们就可以开始进行语音程序的开发了,当然,在这之前我们需要把SAPI.dll通过如下图所示添加到引用中  下面我们设计一个能够朗读中英文混合语言的类:  我们将用单例模式实现该类,类的代码如下,我们将详细解释:public class Speach{  private static Speach _Instance = null ;  privateSpeechLib.SpVoiceClass voice =null;  privateSpeach()   {   BuildSpeach() ;   } public static Speach instance() {  if (_Instance == null)    _Instance = new Speach() ;   return _Instance ; } private void SetChinaVoice() {  voice.Voice = voice.GetVoices(string.Empty,string.Empty).Item(0) ; } private void SetEnglishVoice() {  voice.Voice = voice.GetVoices(string.Empty,string.Empty).Item(1) ; } private void SpeakChina(string strSpeak) {  SetChinaVoice() ;  Speak(strSpeak) ; } private void SpeakEnglishi(string strSpeak) {  SetEnglishVoice() ;  Speak(strSpeak) ; } public void AnalyseSpeak(string strSpeak) {  intiCbeg = 0 ;  intiEbeg = 0 ;  boolIsChina = true ;  for(inti=0;istrSpeak.Length;i++)   {   charchr = strSpeak[i] ;   if (IsChina)    {    if (chr=122chr=65)     {     intiLen = i - iCbeg ;     stringstrValue = strSpeak.Substring(iCbeg,iLen) ;     SpeakChina(strValue) ;     iEbeg = i ;     IsChina = false ;    }    }   else   {    if (chr122||chr65)     {     intiLen = i - iEbeg ;     stringstrValue = strSpeak.Substring(iEbeg,iLen) ;     this.SpeakEnglishi(strValue) ;     iCbeg = i ;     IsChina = true ;    }    }   }//end for  if (IsChina)   {   intiLen = strSpeak.Length - iCbeg ;   stringstrValue = strSpeak.Substring(iCbeg,iLen) ;   SpeakChina(strValue) ;   }  else  {   intiLen = strSpeak.Length - iEbeg ;   stringstrValue = strSpeak.Substring(iEbeg,iLen) ;   SpeakEnglishi(strValue) ;   } } private void BuildSpeach() {  if (voice == null)   voice = new SpVoiceClass() ; } publicint Volume {  get  {   returnvoice.Volume ;   }  set  {   voice.SetVolume((ushort)(

文档评论(0)

tianma2015 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档