微软TTS,Neospeech TTS 简单使用

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

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

微软TTS,Neospeech TTS 简单使用

1 using System.Speech.Synthesis;

然后就能调用方法了

1 SpeechSynthesizer speech = new SpeechSynthesizer();

2 speech.Rate = int.Parse(dudRate.Text);//语速

3 speech.Speak("Hello TTS");

4 speech.Dispose();

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

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

1 speech.SelectVoice("Micrsoft HUihui Desktop");

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

  微软TTS,Neospeech TTS 简单使用

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

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

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

1 speech.SelectVoice("VW Paul");

2 speech。speak("Hello");

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

附上下载链接

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

 1 SpeechSynthesizer speech = new SpeechSynthesizer();

 2 SaveFileDialog file = new SaveFileDialog();

 3 file.Title = "保存音频文件";

 4 file.InitialDirectory = ".\\";//对话框的初始目录

 5 file.Filter = "音频文件|*.wav";// 要在对话框中显示的文件筛选器

 6 file.RestoreDirectory = true;//控制对话框在关闭之前是否恢复当前目录

 7 file.FilterIndex = 1;//在对话框中选择的文件筛选器的索引,如果选第一项就设为1

 8 file.AddExtension = true;

 9 if (file.ShowDialog() == DialogResult.OK)

10 {

11      speech.SetOutputToWaveFile(file.FileName);//这三个方法顺序不能换哦

12      speech.Speak(richTextBox1.Text);

13      speech.SetOutputToNull();

14 }

写得有点乱的感觉

 

你可能感兴趣的:(tts)