文本转换成语音

“让别人读书给你听”,在某些情况下是一种需求。从程序员的角度来说,就是要把“人”换成“程序”,让程序来朗读文字。满足这个需求的关键技术点,是“文本转换成语音”,简称TTS。

这次介绍的,并不是TTS实现的原理,而是TTS的应用,也就是基于特定的库或开源项目的使用。对于原理的东西,小程在准备好理论的知识后再尝试讲解清楚。

TTS的实现,有不少项目,这里介绍的是eSpeak。

本文介绍如何通过eSpeak来实现文本转换成语音的功能。

eSpeak是一个语音生成(合成)器,它的官网地址是:
<http://espeak.sourceforge.net/&gt;

在官网上,可以看到eSpeak的介绍是这样的:

eSpeak的可执行程序的下载页面是:
<http://espeak.sourceforge.net/download.html&gt;

在下载页面选择相应平台的程序包,下载,解压后,可以看到这样的程序目录结构:

小程下载的是mac平台的eSpeak-1.45.04版本。

在执行eSpeak之前,有什么准备工作要做吗?小程觉得,有几个知识点是要注意到的:

* 在eSpeak目录下面找到speek,这个是命令行的可执行程序,通过运行它来实现功能。读者也可以给它设置一个环境变量,这样就可以在任何路径都能执行到这个程序。

* 目录espeak-data,是语音包,支持什么语言,就看这个目录下面有什么内容了。

* 执行speek程序时,可以用参数--path来指定speek使用的语音包,如果没有指定,则默认在/usr/share目录下面查找espeak-data,如果找不到会提示出错。

* 读者需要安装portaudio,因为eSpeak依赖这个库。小程在装备其它环境时,就已经顺带安装过portaudio了,读者可以按照下面这个引导来安装portaudio:

portaudio是一个跨平台的音频输入输出库。在安装portaudio之前,如果是在macos上,则先要安装好xcode,并且保证“command line developer tools”已经安装上,因为需要使用xcode的编译器来make install。可以使用命令xcode-select --install来检测是否已经安装好command line developer tools,如果没有就按提示安装。

然后用brew来安装portaudio:
brew install portaudio

其中,espeak-data是语音包。小程再重点介绍下它里面的内容,可以参考下面几个eSpeak程序目录的截图:

一切准备就绪之后,就可以执行speak命令行程序了。

speak的功能,就是把文本读出来,或把“读出来”的语音保存成wav文件。

至于,读什么文本(从哪里读)、以什么语言读、以什么语速读(等等),都可以通过参数来设置。

可以先看一下eSpeak有什么样的参数(./speak -h):

了解这些参数后,就可以执行speak来“朗读”了,比如:

./speak -stdout "1 2 3 4 5 6 7" --path="./" -s 200 -v zh+f5
表示以中文女声来数数,指定了语音包的位置,以及朗读的速度。

再比如这些命令的截图:


小程在macos上,下载下来的espeak,默认就支持中文语音即zh。但对于粤语,虽然在语音包中有zh-yue文件,但执行时听不到声音(espeak-1.45.04版本),小程没有细究其中的原因。

最后,小程先让eSpeak“读出”一个wav文件,再让读者听一听,命令如下:

./speak -stdio "1 2 3 4 5 6 7 多劳多得!欢迎关注广州小程微信公众号" --path="./" -s 140 -v zh+f5 -w "welcome.wav"

读者如果是在微信公众号(广州小程)打开这篇文章,那可以听一下以下的wav文件(小程上传的文件)。



总结一下,本文介绍了如何使用eSpeak来做到“读出”文本,主要是一些参数的了解与使用,难度系数为低。

原文地址:http://blog.51cto.com/13136504/2088690

时间: 2024-10-10 16:56:34

文本转换成语音的相关文章

将文本转换成语音

又一次在这里和大家在这里和大家见面了.几天给大家看的是如何实现将文本转换成语音.这可是现在很流行的一种快捷表达方式哦!!看<nikita>没?当时我的那个羡慕呀!!不过还好,有我们的讯飞科技为我们写这个强大的程序接口,这样,我们就有机会实现其效果哦! 这里只是谢了一个简单的类似与HelloWorld的那种简单程序.但是这个一通则百通吧. 首先呢?我们必须要在Eclipse环境里面导入一个jar包,那就是这个地址上的jar包.http://download.csdn.net/detail/wan

文本转换成语音的免费工具

文本转换成语音的免费工具?日常生活中,我们在使用微信聊天工具的时候,如果不方便输入文字的情况下,我们会使用语音给对方发送消息.如果对方不方便听取语音消息的时候,可以将语音转换成文字,但是仅限于翻译普通话.那么,文字转换成语音,有没有好用靠谱的软件呢?小编给大家分享一个工具,可以将文字转换成语音.使用工具:迅捷PDF转换器1.首先大家可以在百度浏览器搜索关键词PDF转换器,然后将软件下载安装到电脑中.为下面的操作提前准备.2.软件安装后,鼠标双击进入工具操作页面,这个软件的色彩搭配很好,增强了视觉

python将文本转换成语音的代码

将写代码过程中经常用的一些代码片段备份一下,如下代码段是关于python将文本转换成语音的代码,应该是对小伙伴们有一些好处. # Text To Speech using SAPI (Windows) and Python module pyTTS by Peter Parente# download installer file pyTTS-3.0.win32-py2.4.exe # and pywin32-204.win32-py2.4.exe at this date the latest

文档资料文字怎么在线转换成语音内容

文档资料文字怎么在线转换成语音内容,由于工作的需要,每天都需要看文档资料,严重的用眼过度,而且很多时候出门在外看文档特别不方便,如果将文字转换成语音内容,这样不仅在外也可以阅读,而且大大的提高了工作的效率,那如何进行文字转语音的操作呢!步骤一:我们借助电脑,在浏览器中搜索"迅捷语音云服务"并点击进入到在线操作平台.步骤二:进入到在线操作平台后,选择转换功能"文字转语音"进入待转换界面.步骤三:在待转换页面输入框内输入/粘贴需要转换的文本内容. 步骤四:待转换页面下方

怎么把文字转换成语音

眼睛酸不想看文件,老人大了看新闻不方便,视频配音没有好的源声,那怎么把文字转换成语音呢,今天就给大家介绍一个简单的小技巧,大家可要仔细听哦.操作工具:[迅捷语音云服务]步骤一:我们借助电脑,在浏览器中搜索"迅捷语音云服务"并点击进入到在线操作平台. 步骤二:进入到在线操作平台后,选择转换功能"文字转语音"进入待转换界面.步骤三:在待转换页面输入框内输入/粘贴需要转换的文本内容.步骤四:待转换页面下方可以自定义设置转换的参数,设置完成后,点击"开始转换&qu

文本转换成音频流

1.生成声音文件 DotNetSpeech.SpeechVoiceSpeakFlags SSF = DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync; DotNetSpeech.SpVoice vo = new SpVoiceClass(); System.Windows.Forms.SaveFileDialog SFD = new System.Windows.Forms.SaveFileDialog(); SFD.Filter = "All f

科大讯飞(2) 语音合成(文字转换成语音)

科大讯飞开放平台.SDK下载.添加静态库.初始化见UI进阶 科大讯飞(1) 语音听写(语音转换成文字) 实现语音合成 功能实现步骤: 导入头文件 创建文字识别对象 指定文字识别后的回调代理对象 开启文字识别功能 在回调方法中处理文字识别后返回的对象 文字合成中的参数: 代码展示: 1 //文字识别的回调方法接口 2 #import <iflyMSC/IFlySpeechSynthesizerDelegate.h> 3 4 //文字识别对象 5 #import <iflyMSC/IFlyS

powershell 将文本转换成表格的另一种方式

$text=" 1 梦幻西游 216406 2014-01-21 资料片 2 炉石传说 15905 2014-01-24 公测 3 新大话西游 214465 2002-08-01 公测 4 问道 11322 2006-04-22 公测 5 沃土 10094 2014-04-23 内测 6 QQ仙灵 10056 2014-06-06 公测 7 神武 10011 2010-09-17 公测 8 大侠Q传 9576 2014-06-27 内测 9 女神三国 9343 2014-06-28 内测 10

文字怎样转换成语音的?转换的方法

文字怎样转换成语音?转换的方法,当我们在阅读一些文字时,有的时候我们需要将这些文件中的文字进行转换成语音的形式,这就需要我们进行在线转换,下面就让小编给大家简单介绍一下.步骤一:我们可以通过在浏览器上的查找和搜索迅捷语音云服务找到文字转语音的网站中进行转换: 步骤二:找到文字转语音的功能按钮,点击进入之后就可以进行一些参数的设置,输出格式.音色类型.背景音乐等一系列的设置: 步骤三:等设置完后即可进行文字的输入,将需要转换成语音的文字输入到界面中去: 步骤四:等输入好之后就可以进行文件的转换了点