怎样替换Ekho的语音文件

By admin, 18 十二月, 2017

Ekho语音合成软件的原理很简单,为每一个拼音录制一个音频文件,然后拼接起来合成句子。

Ekho默认的安装包里包含的音频文件是gsm后缀的,尺寸较小,质量较低。大家可以到Ekho语音数据页面下载质量更高的语音包替换。步骤如下:

  1. 访问Ekho Voice Data页面:https://sourceforge.net/projects/e-guidedog/files/Ekho-Voice-Data/0.2/
  2. 找到需要下载的语言即版本,文件名中44100这样的数字表示音频文件的采样率,44100Hz是CD的音质。以藏语为例,应该下载tibetan-trinley-44100-wav-v1.tar.xz。文件放在国外的服务器,下载起来可能会比较慢(这里有一个藏语语音数据包国内镜像)。
  3. 下载以后解压文件,替换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目录)。
  4. 如果是Linux版本的普通话,需要把ekho-data下的pinyin.voice和pinyin.index文件删除,然后创建目录名称是pinyin,把新音频文件放到pinyin目录里。在第一次运行之后会自动生成pinyin.voice和pinyin.index,它们是缓存文件。如果之后pinyin目录内容有改动,需要删除pinyin.voice和pinyin.index文件。
  5. 如果是Linux版本的粤语,对应目录是jyutping,缓存文件是jyutping.voice和jyutping.index。
  6. 重启Ekho即可。

 

以上方法,同样适用于制作和替换自己的声音。

标签

评论19

Restricted HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id> <img src>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。
验证码
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
请输入"Drupal10"

ws008 (未验证)

5 years 7 months 之前

我尝试替换了高质量的语音文件,然后删除了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.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

konio (未验证)

5 years 之前

如果想加个新语言,比如闽南语,要如何增加呢?谢谢。

zjfchine (未验证)

3 years 8 months 之前

你好,运行的很完美,用了44.1k的语音文件,声音也很好,但是朗读时有重声,读了一个字时,同时背景上还有个字音出现,不知要怎么处理才能消除这个重声。

eledog (未验证)

2 years 8 months 之前

您好!我用上述方法使用pinyin-yali-44100-wav-v10.tar.xz覆盖后,字母读不出来。到字母都是“咚”的声音。

tom (未验证)

2 years 2 months 之前

看原理为每一个拼音录制一个音频文件,然后拼接起来合成句子。
那么对于英语等其他语种有办法这样实现吗?谢谢!