首先来介绍下voxforge。voxforge是个收集语音的网址,你可以免费的得到语音库。下载的话你可以用一些批量下载的软件或者利用kaldi/egs/voxforge/s5里的getdata.sh来下载。大概有12.6GB的大小,大家保证你的linux系统有足够的空间来存储。这个希望大家一开始就评估下,最好预留20GB的空间来进行试验。此外,最好你有2个机器,因为下数据的时间也很长,我们的网速不是很好,花了大约2天的时间左右吧。
上面是数据的准备和一些注意的地方。希望你可以提前知晓,让你的实验不在困难吧。然后,把数据放在extracted目录下。设置后工作路径,你就可以开始实验了。
在实验的过程中,你会遇到各种问题。希望你平常心去对待吧,毕竟跑程序虽然很简单,但这个的确不同。
第一个问题:FLAC decompressor needed but not found!
问题解决:sudo apt-get install flac
第二个问题:checking for Fortran 77 libraries of .....
问题解决:sudo apt-get install gfortran
第三个问题:需要安装python,numpy ,swig,pcre ,G2P等。
问题解决:自己耐心的去安装,G2P的安装我一直出现问题,然后我单独装了一次似乎就好了。
备注:出现错误后,最好把前面的东西都删了,这样就不会出现覆盖不覆盖的问题。这个也是我花很长时间的原因所在。
最后,贴下部分结果。原因是我用虚拟机跑的,而且是CPU跑的。在这个数量级上,我的机器工作了很长时间,还是被我断电了。
下面是部分结果:
--- Preparing pronunciations for OOV words ...
stack usage: 1245
--- Prepare phone lists ...
--- Adding SIL to the lexicon ...
*** Dictionary preparation finished!
Checking data/local/dict/silence_phones.txt ...
--> reading data/local/dict/silence_phones.txt
--> data/local/dict/silence_phones.txt is OK
Checking data/local/dict/optional_silence.txt ...
--> reading data/local/dict/optional_silence.txt
--> data/local/dict/optional_silence.txt is OK
Checking data/local/dict/nonsilence_phones.txt ...
--> reading data/local/dict/nonsilence_phones.txt
--> data/local/dict/silence_phones.txt is OK
Checking disjoint: silence_phones.txt, nonsilence_phones.txt
--> disjoint property is OK.
Checking data/local/dict/lexicon.txt
--> reading data/local/dict/lexicon.txt
--> data/local/dict/lexicon.txt is OK
Checking data/local/dict/extra_questions.txt ...
--> data/local/dict/extra_questions.txt is empty (this is OK)
**Creating data/local/dict/lexiconp.txt from data/local/dict/lexicon.txt
fstaddselfloops 'echo 162 |' 'echo 13155 |'
prepare_lang.sh: validating output directory
Checking data/lang/phones.txt ...
--> data/lang/phones.txt is OK
Checking words.txt: #0 ...
--> data/lang/words.txt has "#0"
--> data/lang/words.txt is OK
Checking data/lang/phones/context_indep.{txt, int, csl} ...
--> 5 entry/entries in data/lang/phones/context_indep.txt
--> data/lang/phones/context_indep.int corresponds to data/lang/phones/context_indep.txt
--> data/lang/phones/context_indep.csl corresponds to data/lang/phones/context_indep.txt
--> data/lang/phones/context_indep.{txt, int,