大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > C#技巧 > 微软TTS,Neospeech TTS 简单使用

微软TTS,Neospeech TTS 简单使用

关键词:微软TTSNeospeechTTS  阅读(5010) 赞(15)

[摘要]本文是对微软TTS,Neospeech TTS 简单使用的讲解,对学习C#编程技术有所帮助,与大家分享。

今天搞了下微软的TTS,逛了好多网页、博客,拼拼凑凑搞了点东西吧。

首先添加类库调用,系统自带的system.speech

 using System.Speech.Synthesis;

然后就能调用方法了

 SpeechSynthesizer speech = new SpeechSynthesizer();
 speech.Rate = int.Parse(dudRate.Text);//语速
 speech.Speak("Hello TTS");
 speech.Dispose();

里面有个speech.SelectVoiceByHints()方法。按它的解释可以自己挑选声音,我还以为看到曙光了,一边写一边赞叹微软的强大。等写好运行时才发现没有用,一点变化也没有。当然也不知道它默认的声音是哪来的。然后又看了一边里面的方法,发现有个只读的成员speech.voice,它有好多属性(age、gender、name...)。果断调个name看看,我电脑声音是谁的。结果是MicrsoftHUihuiDesktop。额,有点扯多了。这个名字可以在控制面板里的讲述人和语音识别里找到。我系统是win8的,还有个Micrsoft Zira Desktop,这个只能读英语。huihui都能读,但读英语效果没Zira好,真是难以取舍哇。

这是设置语音的方法。不设置的话就用系统默认的了。

 speech.SelectVoice("Micrsoft HUihui Desktop");

都只有女声,听听就腻了,偶尔也要换换口味嘛。想看看系统还有其他语音么

貌似又感觉到微软强大的曙光了。。果断满怀希望点进去看了,但是但是万万没想到跳出个英文网站,而且根本没有其它语音,网页看上去也有点年纪的样子。然后在微软社区搜了下,说是不能添加讲述人语音的。好吧~~

还是加其它语言库吧,都说NeoSpeech好,捡过来用用。它有好几中类型的

一开始直接装了个Paul,调用

 speech.SelectVoice("VW Paul");
 speech。speak("Hello");

运行听听看,果然还是男声很好听。不是我有问题,是系统自带的语音没这个好,之后用女声的感觉更好哦。但是我就写了个hello,为啥他能说这么多,话唠哇。。听了好几次才发现原来是广告,原来我下的是未注册的。我这么正直怎么能用这个呢,于是又到网上荡了,查到汉语大字典网站上有正版的哦。

附上下载链接

还有个保存音频的功能,代码:

 SpeechSynthesizer speech = new SpeechSynthesizer();
 SaveFileDialog file = new SaveFileDialog();
 file.Title = "保存音频文件";
 file.InitialDirectory = ".\\";//对话框的初始目录
 file.Filter = "音频文件|*.wav";// 要在对话框中显示的文件筛选器
 file.RestoreDirectory = true;//控制对话框在关闭之前是否恢复当前目录
 file.FilterIndex = 1;//在对话框中选择的文件筛选器的索引,如果选第一项就设为1
 file.AddExtension = true;
 if (file.ShowDialog() == DialogResult.OK)
 {
      speech.SetOutputToWaveFile(file.FileName);//这三个方法顺序不能换哦
      speech.Speak(richTextBox1.Text);
      speech.SetOutputToNull();
 }


相关评论