首先,添加DotNetSpeech.dll引用,可以在这里直接下载,也可以参照这篇文章说的,在安装Speech SDK以后,在Common Files\Microsoft Shared\Speech\目录下面找到SAPI.dll,用Tlbimp.exe工具将该dll转换成.net平台下的Assembly---DotNetSpeech.dll。

然后,using DotNetSpeech;

朗读功能:

using DotNetSpeech;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Speech.Synthesis;
using System.Speech;namespace MyProject
{public class ValuesController : ApiController{public SpeechSynthesizer synth; //语音合成对象GET api/<controller>//public IEnumerable<string> Get()//{//    return new string[] { "value1", "value2" };//}GET api/<controller>/5//public string Get(string cont)//{//    return cont;//}POST api/<controller>//public void Post([FromBody] string value)//{//}PUT api/<controller>/5//public void Put(int id, [FromBody] string value)//{//}DELETE api/<controller>/5//public void Delete(int id)//{//}//[HttpPost][HttpGet]public string ToCall(string cont){//调用示例:http://192.168.6.195:8081/api/values/ToCall?cont=请,刘笑笑,李秀秀,导医台领结果吧//https://localhost:44399/api/values/ToCall?cont=请,刘笑笑,李秀秀,导医台领结果吧//SpeechVoiceSpeakFlags flags = SpeechVoiceSpeakFlags.SVSFlagsAsync;//SpVoice sp = new SpVoice();sp.Voice = sp.GetVoices(" name=Microsoft Simplified Chinese ", "").Item(0);//sp.Voice = sp.GetVoices(string.Empty, string.Empty).Item(0); //0选择默认的语音,//sp.Rate = 0;//语速//sp.Volume = 100;//音量//sp.Speak(cont, flags);synth = new SpeechSynthesizer();//使用 synth 设置朗读音量 [范围 0 ~ 100]synth.Volume = 100;//使用 synth 设置朗读频率 [范围 -10 ~ 10]synth.Rate = 0;synth.SelectVoice(synth.GetInstalledVoices()[0].VoiceInfo.Name);//synth.SelectVoice("Microsoft Lili");//Voice.Speak(ggg, SpFlags);synth.SpeakAsync(cont);return "12345";}[HttpGet]public string GetAll(){return "Success";}}
}

注:SpeechVoiceSpeakFlags是语音朗读的风格; Voice中是语音类型(语言、男(女)声),有 Microsoft Simplified Chinese,Microsoft Mary(Sam,Mike)等,

也可以这样:voice.Voice = voice.GetVoices(string.Empty, string.Empty).Item(0); //0选择默认的语音,
1选择第二个语音;Rate指的是语速。

当然,你也可以在此不写,打开控制面板中的语音设置类型和语速

生成语音文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Speech.Synthesis;
using System.Collections.ObjectModel;
using System.Web.Configuration;
using DotNetSpeech;
using Microsoft.Win32;
using System.Windows.Forms;
using System.Threading;SpeechVoiceSpeakFlags flags = SpeechVoiceSpeakFlags.SVSFlagsAsync;SpVoice sp = new SpVoice();//sp.Voice = sp.GetVoices(" name=Microsoft Simplified Chinese ", "").Item(0);sp.Voice = sp.GetVoices(string.Empty, string.Empty).Item(0); //0选择默认的语音,sp.Rate = 0;//语速sp.Speak(strCont, flags);System.Windows.Forms.SaveFileDialog dialog = new System.Windows.Forms.SaveFileDialog();dialog.Filter = " All files (*.*)|*.*|wav files (*.wav)|*.wav ";dialog.Title = " Save to a wave file ";dialog.FilterIndex = 2;dialog.RestoreDirectory = true;if (dialog.ShowDialog() == DialogResult.OK){SpeechStreamFileMode spFileMode = SpeechStreamFileMode.SSFMCreateForWrite;SpFileStream spFileStream = new SpFileStream();spFileStream.Open(dialog.FileName, spFileMode, false);sp.AudioOutputStream = spFileStream;sp.Speak("文字转语音的内容", flags);sp.WaitUntilDone(Timeout.Infinite);spFileStream.Close();}

(在WinForm和Web中都适用)

参考:http://www.microsoft.com/china/community/program/originalarticles/TechDoc/Cnspeech.mspx

使用语音即时校对输入内容 - 斯克迪亚 - 博客园

转载于:https://www.cnblogs.com/pfs1314/archive/2011/01/11/1932870.html

.net实现简单语音朗读(TTS)功能相关推荐

  1. 用python朗读字母-使用python编写一个语音朗读闹钟功能的示例代码

    想找一个可以播放文字的闹钟找不到,自己写一个更简单.TTS实现由很多种办法,百度等都提供了API接口,但类似百度,需要先注册等一系列动作. 其实windows自带的win32com功能可以简单实现TT ...

  2. python在线朗读-使用python编写一个语音朗读闹钟功能的示例代码

    想找一个可以播放文字的闹钟找不到,自己写一个更简单.TTS实现由很多种办法,百度等都提供了API接口,但类似百度,需要先注册等一系列动作. 其实windows自带的win32com功能可以简单实现TT ...

  3. python闹钟源码_使用python编写一个语音朗读闹钟功能的示例代码

    想找一个可以播放文字的闹钟找不到,自己写一个更简单.TTS实现由很多种办法,百度等都提供了API接口,但类似百度,需要先注册等一系列动作. 其实windows自带的win32com功能可以简单实现TT ...

  4. python 语音朗读软件下载_使用python编写一个语音朗读闹钟功能的示例代码

    想找一个可以播放文字的闹钟找不到,自己写一个更简单.TTS实现由很多种办法,百度等都提供了API接口,但类似百度,需要先注册等一系列动作. 其实windows自带的win32com功能可以简单实现TT ...

  5. Android开发之语音朗读

    老年人刷新闻两宝:字体放大跟语音朗读,今天我们往项目中加入语音朗读的功能. 第一步 声明并实例化TextToSpeech lateinit var tts: TextToSpeech tts = Te ...

  6. 关于 java 实现 语音朗读

    最近有个java项目要实现 一个 java语音朗读的功能,百度了半天 没有现成的 .也是一头雾水.没具体思路.....大体上总结了下网上的资料  1.java 实现起来 比c或者vb 能麻烦点,或者是 ...

  7. iOS开发之语音朗读文字

    本文使用AVSpeechSynthesizer和AVSpeechUtterance两个类来完成语音朗读文字功能. 需要: 为项目添加AVFoundation框架 导入头文件import AVFound ...

  8. js语音播报android浏览器,JS 简单调用百度TTS接口实现语音朗读

    TTS简介 TTS是Text To Speech的缩写,即"从文本到语音",是人机对话的一部分,让机器能够说话.网页作为世界之窗,自然是向所有人开放的,所以也就包括视力不好的人群了 ...

  9. win7系统调用tts的语音朗读功能

    windows的tts组件,正版系统或者win10系统是可以直接调用成功的,但win7有的是阉割版,有的不支持,调用的时候各种异常,网上的人各种抄袭,不知道所以然,还爱瞎bb,我就费了好大劲才完全搞清 ...

最新文章

  1. Producing Open Source Software
  2. html5媒体对象居中,媒体对象 - Media Objects
  3. C/C++中使用函数memset对int型数组赋值(0,-1,max,min)
  4. 使用delphi 开发多层应用(十二)使用kbmMW webserver 返回JSON
  5. 电脑重装系统之后git pull报错 Permission denied (publickey)
  6. ES6、7学习笔记(尚硅谷)-4-模板字符串
  7. SRC漏洞挖掘之信息收集
  8. .NET中代理服务器WebProxy的各种用法
  9. C语言实现【关机程序】
  10. C语言全局变量重复定义检查-fno-common
  11. multitask_note
  12. android模拟器克隆app,易语言一键克隆/启动安卓模拟器
  13. CF891D Sloth
  14. PCI Express 2D 多媒体显卡_IOEHM-GC_V1.0 Mini-PCIe 显卡_嵌入式行业图像显示_视频加速和2D加速功能
  15. CorelDRAW2021标准版 序列号授权码
  16. 计算机体系结构:系统平均无故障时间(MTTF)计算例题
  17. Windows常用Dos命令详解_被迫流浪者的博客
  18. 用户吐槽不能给安卓手机发视频,库克:“给你妈妈买台 iPhone !”
  19. 专业工作站版、企业版、企业LTSC版、Servers版哪个更稳定更适合应对灾难
  20. Eclipse开发Android的安装配置。

热门文章

  1. 使用Java语言搭建一个简易的局域网直播(live)系统
  2. kali linux连不上网,NAT模式静态ip解决问题
  3. 物联网技术体系、网络架构和产业链条,入门知识大全
  4. C# Excel版本兼容性问题
  5. 程序初始化失败的解决办法
  6. python re模块
  7. the module was loaded but the call to DllRegisterServer failed with error code 0x80020009
  8. Mac 数据库模型建模工具PDMan(PowerDesigner替代品)
  9. spa项目开发(登录注册)
  10. innerHTML与outerHTML 的区别?