前言
kaldi 发音字典可以通过3种工具来生成,分别是:g2p-seq2seq Phonetisaurus 和 Sequitur,据说g2p-seq2seq的准确性更好些,今天我们就来介绍以下g2p-seq2seq的使用
一、python安装
python的版本最好是3.6。
二、tensorflow安装
tensorflow的版本1.14即可,千万不要安装2.0+版本,会报某些模块找不到.
三 、g2p-seq2seq安装
1.下载源码
https://github.com/cmusphinx/g2p-seq2seq
2.安装
解压g2p-seq2seq并进入该目录下:
执行:
sudo python setup.py install
安装过程中,提示却少什么库,安装就可以了.
四、使用方法
1.输入单词给出识别音素
g2p-seq2seq –interactive –model model_folder_path
hello
HH EH L OW
2.转换单词文件为音素(生成发音字典)
g2p-seq2seq –decode your_wordlist –model_dir model_folder_path
默认输出到终端上,如果想输出到文件,可以执行:
g2p-seq2seq –decode your_wordlist –model_dir model_folder_path > phoneme.txt
3.训练模型
下载字典
https://github.com/cmusphinx/cmudict
g2p-seq2seq –train train_dictionary.dic –model_dir model_folder_path
注意:model_folder_path必须是一个目录
遇到的一个问题:
大概是AttributeError: ‘…Dataset’ object has no attribute ‘output_shapes’
解决方案类似:
train_dataset = train_dataset.padded_batch(BATCH_SIZE, train_dataset.output_shapes)
with
train_dataset = train_dataset.padded_batch(BATCH_SIZE, tf.compat.v1.data.get_output_shapes(train_dataset))
参考:
https://www.jianshu.com/p/0682b9f328c5
建立语音字典(官方教程):
https://cmusphinx.github.io/wiki/tutorialdict/#introduction
g2p-seq2seq(工具):
https://github.com/cmusphinx/g2p-seq2seq