zoukankan      html  css  js  c++  java
  • 微软TTS,Neospeech TTS 简单使用

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

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

    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");

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

     

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

        还是加其它语言库吧,都说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 }

    写得有点乱的感觉

  • 相关阅读:
    .NetCore Grpc 客服端 工厂模式配置授权
    DOCKER 拉取 dotnet 镜像太慢 docker pull mcr.microsoft.com too slow
    Introducing .NET 5
    VSCode 出现错误 System.IO.IOException: The configured user limit (128) on the number of inotify instances has been reached.
    Omnisharp VsCode Attaching to remote processes
    zookeeper3.5.5 centos7 完全分布式 搭建随记
    Hadoop2.7.7 centos7 完全分布式 配置与问题随记
    MySQL索引 索引分类 最左前缀原则 覆盖索引 索引下推 联合索引顺序
    SQL基础随记3 范式 键
    MySQL调优 优化需要考虑哪些方面
  • 原文地址:https://www.cnblogs.com/WMTcore/p/3830365.html
Copyright © 2011-2022 走看看