用TTS实现文本转语音

最近被toefl单词虐成狗::>_<::

想做一个可以自动把单词转成语音的软件,这样就可以在路上戴耳机边走边听啦~

用微软的TTS语音库可以很容易地实现。早期的TTS要想实现中英文混合朗读还很麻烦,然而Win10里自带的新版SDK已经解决了这个问题。可以自动识别出中文和英文。这点超赞~

注意:如果用的是英文版系统,需要先安装中文Speech Library

然后在控制面板--语音识别选项里可以看到这个新的语音库:

进入VS,新建一个C#工程,然后在Solution Explorer----References上右键,Add References,添加如下选项:

实现文本转语音有两种Library,System.Speech或者SpeechLib。这里我用的SpeechLib

基本的朗读功能实现如下:

SpVoice voice = new SpVoice();
voice.Rate = 0; //语速,[-10,10]
voice.Volume = 100; //音量,[0,100]
voice.Voice = voice.GetVoices().Item(2); //语音库
voice.Speak("中文speech");

但是为了在手机上播放,仅仅让它读出来还不够....最好能保存到音频文件

可以用SpeechLib自带的类:  SpeechLib.SpFileStream sfs=new SpeechLib.SpFileStream();

自制了一个小Demo:

单击Select File,通过打开对话框打开txt文件

单击Read,将文本自动转语音,并保存到D:\233.mp3文件    【懒得写保存对话框啦

Download

时间: 2024-11-03 01:25:18

用TTS实现文本转语音的相关文章

C# 百度TTS,文本转语音,RestAPI之Get请求

因为用得到,所以作个记录: 代码如下: public class BaiduTTSService : IBaiduTTSService { public string tok = GetBaiduToken(); private const string lan = "zh";//语言 private const string per = "4";//发音人选择 0位女 1位男 默认 女0为女声,1为男声,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女声

C#文本转语音并保存wav和MP3文件

回顾上次写博客至今都有4个多月了,最近工作比较的忙没时间写博文.以后会多坚持写博文,与大家分享下最近遇到的问题.最近因为项目需要,研究了下用C#开发TTS.下面把大体的思路给大家说说,希望对大家有所帮助. 首先需要了解下MS的SAPI,它是微软的语音API.它包括了语音识别SR引擎和语音合成SS引擎两种语音引擎.等下会给大家看下语音合成SS引擎.它由不同的版本,操作系统的不同使用的版本不同,不过我喜欢使用其他的合成语音包,比如:NeoSpeech公司的合成语音包.回过头来,MS 的SAPI的版本

DelphiXE7调用GOOGLE的TTS(文字转语音)

注意:在手机上必须选安装文字转语音引擎“google Text To Speech”地址:http://www.shouji56.com/soft/GoogleWenZiZhuanYuYinYinQingGoogleTexttoSpeech_3864/ 1. 新建一个单元Androidapi.JNI.TTS 1 {*******************************************************} 2 { } 3 { CodeGear Delphi Runtime L

jQuery.speech实现文本转语音播报功能

先放一个实例的地址https://github.com/wenco/speech jQuery.speech是用jQuery写的扩展插件,主要是用来语音播报. 接口调用百度翻译的接口,所以存在url参数长度问题.百度接口本身也不允许长文本调用,只能短文本调用. 初始参数详解: "speech": true, //通过点击链接播报,还是直接播报 "lang": "zh", //语言 "speed": 3, //语速 "

文本框语音输入

<input type="text" x-webkit-speech lang="zh-CN" onwebkitspeechchange="change()" x-webkit-grammar="builtin:search"/>  onwebkitspeechchange:语音输入时 x-webkit-grammar 去掉多余的lang  语音种类 <input type="file"a

C#将文本用语音朗读

在C#中文字语音朗读有三种方法,下面暂介绍其中一个方法. 在项目中引用System.Speech,具体方法为右键点击项目 > 添加引用 > .Net > 找到System.Speech点击确定. 下面为实现代码,将以控制台程序为例: using System.Speech.Synthesis; namespace ConsoleApplication1{ class Program{ static void Main(string[] args){ SpeechSynthesizer v

js文本转语音

百度找了好多,大概分为两种,一种使用百度语音的API,另一种使用H5自带(低版本不兼容) 下面为一个模拟页面 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <div> <input type="t

可直接拿来用的文本转语音的代码

using DotNetSpeech; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace YLSoft.Pola.Utils.Common { public class VoiceHelper { private int _volume=100; /// <summary> /// 音量(从0到100的整数) /// </summary> p

string转utf8后解决TTS识别中文的问题

今天遇到string字符编码的问题,因为遇到了用TTS将文本转语音的一个API,里面的中文必须是utf8的,我传了一个uncode编码的中文进去,就一直不能正常读出来,后来才发现是编码的问题.这里在网上找到两个API,可将string 传成utf8编码的string,挺好用的. 记录下来: std::string string_To_UTF8(const std::string & str) { int nwLen = ::MultiByteToWideChar(CP_ACP, 0, str.c