Ekho语音合成软件的原理很简单,为每一个拼音录制一个音频文件,然后拼接起来合成句子。
Ekho默认的安装包里包含的音频文件是gsm后缀的,尺寸较小,质量较低。大家可以到Ekho语音数据页面下载质量更高的语音包替换。步骤如下:
- 访问Ekho Voice Data页面:https://sourceforge.net/projects/e-guidedog/files/Ekho-Voice-Data/0.2/
- 找到需要下载的语言即版本,文件名中44100这样的数字表示音频文件的采样率,44100Hz是CD的音质。以藏语为例,应该下载tibetan-trinley-44100-wav-v1.tar.xz。文件放在国外的服务器,下载起来可能会比较慢(这里有一个藏语语音数据包国内镜像)。
- 下载以后解压文件,替换Ekho/ekho-data文件夹里对应的语音数据文件夹。继续以藏语为例,tibetan-trinley-44100-wav-v1.tar.xz解压后是tibetan-trinley-44100-wav,改名为tibetan,替换C:\Program Files\Ekho\ekho-data\tibetan。tibetan目录下应该有许多wav文件(而不应再嵌套一个tibetan目录)。
- 如果是Linux版本的普通话,需要把ekho-data下的pinyin.voice和pinyin.index文件删除,然后创建目录名称是pinyin,把新音频文件放到pinyin目录里。在第一次运行之后会自动生成pinyin.voice和pinyin.index,它们是缓存文件。如果之后pinyin目录内容有改动,需要删除pinyin.voice和pinyin.index文件。
- 如果是Linux版本的粤语,对应目录是jyutping,缓存文件是jyutping.voice和jyutping.index。
- Linux版本下,在运行sudo make install之后,会引用/usr/local/share/ekho-data的语音数据。如果要修改语音,应该先运行sudo make uninstall删除/usr/local/share/ekho-data。再把代码目录的ekho-data/pinyin.index, pinyin.voice删除。然后运行./ekho 123重新生成代码目录的ekho-data/pinyin.index和pinyin.voice,再运行sudo make install安装到/usr/local/share/ekho-data。
- 重新运行Ekho即可。
以上方法,同样适用于制作和替换自己的声音。
评论19
替换语音文件的bug
我尝试替换了高质量的语音文件,然后删除了pinyin.voice和pinyin.index。
之后执行报错
lin@ubuntu:~$ ekho "时间:10:20,车道:1,车牌:皖A51G61,违法代码:20004" -s -20 -o 123.wav
Segmentation fault (core dumped)
我在Ubuntu 18.04下用Ekho 7.5…
我在Ubuntu 18.04下用Ekho 7.5.1和Ekho Data里的pinyin-yali-44100语音没有重现问题。你用的是不是自己录制的语音?我猜可能是音频格式问题,你不妨发几个数字的音频样本到我邮箱hgneng at 163 dot com,我看看。
替换语音文件
按上述替换语音文件后出现:Segmentation fault,是因为pinyin.voice和pinyin.index需要自动重新生成,普通用户权限不足。
运行:
sudo ekho -o voice.wav "时间:10:20,车道:1,车牌:皖A51G61,违法代码:20004"
然后会重新生成pinyin.voice和pinyin.index
我用 pinyin-yali-44100 的语音会…
我用 pinyin-yali-44100 的语音会 Segmentation fault ,但 pinyin-huang-44100 正常,有同样问题的童鞋可以参考。
替换语音文件的bug
尝试了最新的7.1,7.0,6.5三个版本,都是同样的问题
如何添加新语言
如果想加个新语言,比如闽南语,要如何增加呢?谢谢。
您好!linux下可以正常编译运行…
您好!linux下可以正常编译运行,如果需要新增单个词组的拼读,怎么修改呢
读音有重声
你好,运行的很完美,用了44.1k的语音文件,声音也很好,但是朗读时有重声,读了一个字时,同时背景上还有个字音出现,不知要怎么处理才能消除这个重声。
把样本发我邮箱hgneng at gmail dot…
把样本发我邮箱hgneng at gmail dot com,我听一下
样本文件已发
样本文件已发,我的发件邮箱是zjfchine@foxmail.com
谢谢
我运行起来,也是出现你一样的问题,不知道应该怎么处理呢?
我运行起来,也是出现你一样的问题,不知道应该怎么处理呢?
字母读不出来
您好!我用上述方法使用pinyin-yali-44100-wav-v10.tar.xz覆盖后,字母读不出来。到字母都是“咚”的声音。
替换之前能读吗?英文的朗读有两种方式:一种是单个字母…
如何使用它搭建一个api呢
如何使用它搭建一个api呢
API
编程的问题见:https://eguidedog.net/doc/doc_programme_with_ekho.php
嵌入式
看原理为每一个拼音录制一个音频文件,然后拼接起来合成句子。
那么对于英语等其他语种有办法这样实现吗?谢谢!
不支持录制英语等语言的语音。目前英语是调用eSpeak的…
不支持录制英语等语言的语音。目前英语是调用eSpeak的,也支持调用Festival。
想咨询下Ekho是用的波形拼接法完成的TTS合成吗…
想咨询下Ekho是用的波形拼接法完成的TTS合成吗?那前端的处理是使用的什么呢?借助于eSpeak么?不知道有没相关原理说明的介绍文档可以学习一下。谢谢!
是用波形拼接。前端用PulseAudio来播放声音…
是用波形拼接。前端用PulseAudio来播放声音。没有原理说明文档,Ekho并不是学习写TTS的好例子。