用TTS实现文本转语音

摘要:
最近,他被托福单词::˃_˂:虐待成狗,我想建立一个能自动将单词转换成语音的软件,这样我就可以在路上戴着耳机听。它可以通过微软的TTS语音库轻松实现。早期的TTS在实现中英文混合阅读方面仍有很多困难。然而,Win10中包含的新SDK解决了这个问题。

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

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

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

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

用TTS实现文本转语音第1张

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

用TTS实现文本转语音第2张

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

用TTS实现文本转语音第3张

实现文本转语音有两种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();

还要注意一个问题:

NT系统默认是Unicode编码,而TXT文件默认是ANSI编码。这样会导致txt文件中的中文识别不出来。解决方法是在StreamReader中自定义编码

StreamReader reader = new StreamReader(FileName, System.Text.Encoding.Default)

自制了一个小Demo:

用TTS实现文本转语音第4张

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

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

Download

免责声明:文章转载自《用TTS实现文本转语音》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux中最大进程数和最大文件数Kruskal算法&amp;amp;Prim算法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CentOS 5下freeswitch中集成使用ekho实现TTS功能二

三:以上Festival安装完成以后回到ekho安装目录: 执行./configure --enable-festival 前 更改configure 1:替换 #AC_DEFINE(ENABLE_FESTIVAL,,[Enable Festival]) #LIB_FESTIVAL="${srcdir}/lib/libFestival.a ${srcdir...

初探机器学习之使用讯飞TTS服务实现在线语音合成

最近在调研使用各个云平台提供的AI服务,有个语音合成的需求因此就使用了一下科大讯飞的TTS服务,也用.NET Core写了一个小示例,下面就是这个小示例及其相关背景知识的介绍。 一、什么是语音合成(TTS) 1.1 What is 语音合成? 将文字信息转化为声音信息,给应用配上“嘴巴”,这就是语音合成。 Note:语音合成和语音识别技术是实现人机语音通...

C#语音朗读文本 — TTS的实现

TTS, Text To Speech的缩写,是使用语音朗读文本的技术。目前,在国内应用较多的是排队叫号系统 Windows 平台的TTS,通常使用的是微软自带的 Speech API。 Windows XP 自带的是 Speech API 5.1,默认是只支持英文的。如果要朗读中文,需要安装LangPack,里面支持简体中文,不过,是个男生的发音。...

UNIMRCP 代码走读

基于UNIMRCP1.5.0的代码走读 与 填坑记录 1. server启动配置加载 入口:unimrcp_server.c   static apt_bool_t unimrcp_server_load(mrcp_server_t *mrcp_server, apt_dir_layout_t *dir_layout, apr_pool_t *pool);...

如何使用华为机器学习服务和Kotlin实现语音合成

1. 引言   你曾遇到过这种情况吗?一本小说太长,要花很长时间阅读,但如果有app能自动为你阅读,就会省时很多。因此,将文本转换成语音的工具应运而生。华为机器学习服务(HUAWEI ML Kit)具备语音合成(Text To Speech, TTS)功能,能让app快速实现从文本到语音的转换。TTS可以将文本转换成人声。这也可以通过默认方法实现,但这些方...

pyttsx3--文字转语音库

写在前面,部分window由于是盗版影响,部分语音库存在问题,报错无效的类字符串或者没有注册的类那么可能是win7 tts语音有问题体,提醒可以去下载相应补丁链接:https://pan.lanzou.com/i0h951cimport pyttsx3#初始化engine=pyttsx3.init()#test1engine.say('小说说的真好')e...