微软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 }

写得有点乱的感觉

微软TTS,Neospeech TTS 简单使用,布布扣,bubuko.com

时间: 2024-10-07 11:52:01

微软TTS,Neospeech TTS 简单使用的相关文章

微软语音引擎 TTS 最基本使用

TTS(TextToSpeak) 需求:需要借助程序实现 文字合成语音/语音识别. TTS 介绍就不说了,这里介绍非常详细 >>> TTS详细介绍  +  SAPI(微软的TTS语音合成和识别接口,可在程序中直接调用) 下面介绍一下,怎么来使用它 1. 下载安装TTS引擎 到微软的官方网站上去下载一下 下载地址>>>微软官方 TTS http://www.microsoft.com/download/en/details.aspx?id=10121 进入下载页面,可以先

微软 消息队列 MessageQueue 简单使用

1.在服务电脑上打开 消息队列 ①进入控制面板>程序>启用或关闭windows功能 ②将需要的勾选(我自己全选了哈哈哈) ③我的电脑 右键 打开管理 见到消息队列 在专用队列上新建专用队列 ⑤填写名称还有选择是否是事务性 好到这里就基本准备完成 下面就要使用队列 来发送消息 //创建消息队列 并发送消息到队列 try { //连接到本地新创建的队列 MessageQueue myQueue = new MessageQueue(".\\private$\\test2");

转自大楚网:微软SAPI:让你的软件能说会道

[IT168专稿]“没声音,再好的戏也出不来.”这虽然是一句广告,但是也说出了一个道理,我们所开发的软件,特别是一些多媒体软件,要是能够发 出声音,能说会道,将为我们的软件增添不少光彩.同时,我们面临的是一个老龄化的社会,将会有越来越多的视力不太好的老年人成为我们的用户,开始使用我们 的软件,如果我们的软件能说会道,可以用语音的方式提示用户进行操作,这将大大增加软件的可用性,从而获得用户的喜爱. 那么如何才能让我们的软件能说会道呢?别着急,微软有解决办法,用微软提供的SAPI就可以让我们的软件能

微软新专利:只属于你的手势解锁技术

近年来随着消费者对个人隐私数据保护意识的增强,澳门新濠天地也不断优化和提升安全等级,除传统密码 保护之外面部识别和指纹识别俨然成为当下的主流,不过微软带来了更简单更高效的解决方案.根据微软最新获得的技术专利,尝试基于手势来解锁系统.那么这项专利又是如何来保护我们的手机哪?从本质上就是精准检测手势在屏幕上的位置信息. 根据专利描述,屏幕会精准检测手指之间的角度,不同手指触碰屏幕的时间间隔.赋予的压力和尺寸大小等等参数,从而通过这些数据的整合来确保使用者是机主还是陌生人.这项技术专利不仅仅应用于移动

微软WSFC全方位解析

Windows Server Failover Clustering是微软重要的Windows Server功能,它为微软众多企业级平台提供底层高可用机制,掌握WSFC的概念原理,功能使用,故障排错将对管理员运维有很大帮助,本系列文章将从WSFC的概念介绍,功能使用,故障排错,性能优化,WSFC 2016新功能解析等多个层面来为大家介绍WSFC,一层层揭开它的神秘面纱,让更多朋友知道它,使用它 WSFC概念与管理操作知识补遗21篇: 浅谈群集与分布式基础知识 http://blog.51cto.

微软输入法TSF SampleIME 代码浅说

原文:微软输入法TSF SampleIME 代码浅说 微软提供了一个简单的TSF拼音输入法的示例SampleIME,主要的问题是:不支持数字键选候选字,不能自动上屏,没有联想功能.在笔者开发动态输入法Windows版时,以其为蓝本,主要针对上面几个问题进行了改造:支持数字键选,支持自动上屏,支持联想.下面从应用的角度对SmapleIME源代码进行解说,看看从按键到汉字上屏这个过程都发生了什么. SampleIME 的源代码结构 SampleIME 的源代码有四五十个cpp文件,这些文件可以说是支

Jasper语音助理介绍

1. 介绍 Jasper是一款基于树莓派的开源语音控制助理 Jasper工作原理主要是设备被动监听麦克风, 当收到唤醒关键字时进入主动监听模式, 此时收到语音指令后进行语音识别, 然后对得到的文本进行语义内容解析并处理, 然后将处理结果通过语音合成并输出给用户. 其中涉及到的技术包括声音的录制和播放; 语音识别(ASR/STT); 语义内容(NLU/NLP); 语音合成(TTS) 2. 音频系统 2.1 硬件 音频系统的硬件设备为声卡, 声卡通过DAC(数模转换)和ADC(模数转换)实现音频的输

C# ms speech文字转语音例子

最近突发奇想 想玩玩  文字转语音的东东   谷歌了一下 发现微软有一个TTS 的SDK   查了查相关资料  发现 还真不错  然后就开始玩玩Microsoft Speech SDK的 DEMO了 现在网上最新版好像是Microsoft Speech SDK Version 5.1    先下载下来 下载地址是  http://www.52z.com/soft/22068.html 要先安装第一个SDK 然后安装语言包    只有安装了语言包   语言包是用来支持中文翻读的 然后开始我们的C#

Android能发音的生词本

---前台界面部分 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/LinearLayout1"    android:layout_width="match_parent"    an