ubuntu完美安装espeak支持中文和粤语 不再报错:Full dictionary is not installed for 'zh'

最近要做一个音素文本强制对齐的任务,准备安装aeneas工具,但是它要求有espeak这个工具,所以就有了这一篇文章

# 第一步: 安装espeak
sudo apt install espeak	  # 这一步比较简单,直接用apt就可以安装好了
espeak -v zh 你好		  # 简单试用一下,发现是支持中文的,但是会报错:Full dictionary is not installed for 'zh'
espeak -v zhy 你好		  # 试一下粤语,简直就懵逼了,说的根本不是人话

虽然其实我只需要能讲中文就可以了,但是普通话文也会抛出这错误,强迫症的我是受不了的,于是决定解决这个问题,网上搜了一个教程,写的蛮好的,但是他是源码安装的呀,我找了很久都没有找到dictsource这个文件夹(说白了就是没有),那怎么办?我又不想又源码装一次,毕竟我觉得apt install espeak是多么简洁的一个事情呀,于是就开启了我的脑洞做法,如下:

# 第二步: 
tree / | grep espeak	# 我不知道speak的数据具体目录是什么,所以先找名字,果不其然出现一个叫espeak-data的目录
sudo find / -name espeak-data # 查找后,发现是这个路径: /usr/lib/x86_64-linux-gnu/espeak-data
cd /usr/lib/x86_64-linux-gnu/espeak-data && ls # 发现里边有很多dict文件,其实就是espeak用于支持多种语言的字典文件
# 按照上面那个教程, 将需要的zhy_list.zip, zh_listx.zip下载下来并解压后,扔进espeak-data目录,然后compile
sudo cp ~/Downloads/zhy_list zh_listx .
espeak --compile=zh    # 发现根本安装不了,出错:Can't access (r) file 'zh_rules',
espeak --compile=zhy   # 这里我猜是找不到zh_rules文件,因为当前目录下根本就没有这个文件

所以第二步似乎没有什么进展,就只是找到了espeak-data这个目录的绝对路径, 于是我又把源码下载下来,然后解压,然后把解压后的目录下的dictsource目录下的内容全部copy到espeak-data下,果不其然好使啦!!

# 第三步:
sudo cp ~/Downloads/espeak-1.48.15/dictsource/* .
espeak --compile=zh
espeak --compile=zhy  # 成功!!
espeak -v zhy 你好	  # 试用了一下粤语,听到了亲切的"雷猴"

上面是我安装espeak的全部过程,比较杂,同学们可以按照下面的简单方法来:

# 简言之就是两步: 下载解压我给的压缩文件并复制到/usr/lib/x86_64-linux-gnu目录下; 然后执行espeak --compile命令即可

sudo apt install espeak # 下载我下面链接给的zip文件,然后解压(假设解压后的目录是~/Downloads/espeak-data)
cd /usr/lib/x86_64-linux-gnu
sudo cp espeak-data espeak-data.bak	# 最好是先备份一下espeak-data目录
sudo cp ~/Downloads/espeak-data/* espeak-data
cd espeak-data

espeak --compile=zh
espeak --compile=zhy	# 成功

下面是需要的文件的链接,因为espeak的官网和数据下载网页都需要梯子才能上去,所以我把这个文件下载下来,方便没有梯子的同学使用.
espeak-data下载链接

你可能感兴趣的:(tools)