3个开源TTS(一)——安装使用
项目在身,要求分析几款开源的TTS引擎(不需要是中文的),然后选择一个为系统朗读英文文本提供接口。先从eGuideDog的余音(Ekho)开始,Ekho(余音)是一个把文字转换成声音的软件。它目前支持粤语、普通话(国语)、诏安客语和韩语(试验中),英文则通过Festival间接实现。先是找到了它的英文实现方式,不过之前看到过这样一篇文章《7个开源的TTS(文本转语音)系统推荐》,因此从中选择了3个。忘了提项目还要求C/C++为主设计的,因此初步筛选为(1)Festival (2)eSpeak (3)Flite 。目前情况是仅在安装有debian 6的虚拟机上安装使用了下3个软件,进一步分析后续再补上。(1)Festival
Festival提供了一个通用的框架,用于构建语音合成系统,该系统包含了各种模块示例。它提供了完整的文本转语音的API,可以通过shell、C++静态库等多种方式调用,原生支持Mac OS,支持的语言包括英语和西班牙语;而且系统是使用c++编写,底层调用Edinburgh Speech Tools;
首先阅读它的手册得知,下载需要的压缩包(http://festvox.org/packed/festival/2.1/):
festival-2.1-release.tar.gz Festival语音合成系统源文件
speech_tools-2.1-release.tar.gz Edinburgh语音工具库
festlex_CMU.tar.gzfestlex_POSLEX.tar.gz词典
festvox_kallpc16k.tar.gz 语料库
前两个解压后需要配置编译,后三个解压后自动解压在festival文件夹中。首先编译speech_tools,进入该文件夹,输入
#./configure 配置
#make 编译
其它如在Cygwin、vc下的编译在INSTALL文件中有说明。
然后进入festival文件夹,按照INSTALL文件中的说明进行安装,是可以看到详细的安装说明,以及需要文件夹festival speech_tools的。还是一般的./configure make即可,由于仅是在本地使用,没有了Site initialization这一步,在安装完成后运行bin/festival,如无错误提示出现:
Festival Speech Synthesis System 2.1:release November 2010
Copyright (C) University of Edinburgh, 1996-2010. All rights reserved.
clunits: Copyright (C) University of Edinburgh and CMU 1997-2010
clustergen_engine: Copyright (C) CMU 2005-2010
hts_engine:
The HMM-based speech synthesis system (HTS)
hts_engine API version 1.04 (http://hts-engine.sourceforge.net/)
Copyright (C) 2001-2010Nagoya Institute of Technology
2001-2008Tokyo Institute of Technology
All rights reserved.
For details type `(festival_warranty)'
festival>
可以输入help或者(SayText "Hello World!")测试。如果出现Can't open /dev/dsp的错误,可以在~/.festivalrc文件写入:
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")
(2)eSpeak
eSpeak是c语言写的一个小型的、开放源码的语音合成系统,支持多种语言。eSpeak使用共振峰合成方法,这可以使提供的语言文件非常小,但是缺点是不如采用基于人录音的语料库的声音平滑自然。该系统支持 Windows、Linux同时已被移植到其它平台,如Solaris and Mac OSX,支持命令行、动态链接库,支持Windows平台上的SAPI5,所以能用于屏幕阅读程序和其他支持Windows SAPI5接口的程序。eSpeak可以将文本转换成音素代码,因此它也可以用于另一个语音合成引擎的前端。它的安装比较简单,下载ZIP压缩包(http://espeak.sourceforge.net/download.html),在Windows上直接安装即可。
(3)Flite
Flite是一个小型、快速的TTS系统,是festival的C版本,可用于嵌入式系统,支持WinCE、Palm OS 。下载压缩包(http://www.speech.cs.cmu.edu/flite/download.html)./configure make即可,安装使用参考文件夹下的README即可,如阅读一段文本,并生成.wav文件
#flite example example.wav在example文件中有英文文本,输出为example.wav。我这里使用有些问题,example.wav文件在debian中无法播放,用Windows Media player也播不了,结果用QQ影音可以。还有就是直接运行flite读文本出现oss_audio: failed to open audio device /dev/dsp的错误,而且即使是生成语音文件也会出现failed to open file "example" for reading的错误,具体情况还不知道。
参考文章:
【1】7个开源的TTS(文本转语音)系统推荐 http://sd.csdn.net/a/20111228/309754.html
【2】archlinux Festival https://wiki.archlinux.org/index.php/Festival 作者:w7849516230 发表于2012-2-16 15:10:01 原文链接
页:
[1]