irpas技术客

对齐工具MFA_GaryGao99_mfa 对齐

irpas 866

MFA(Montreal Forced Aligner)是一种forced alignment工具。MFA底层是使用了kaldi工具,相对于其它的工具MFA使用triphone acoustic model来建模上下文信息,同时包含了和说话人相关的特征,因此可以适应不同的说话人。MFA具有可训练性 (trainability) ,即可由用户自己在新数据上训练acoustic model。

1、MFA安装

MFA有多种安装方式,可参考MFA installation。mfa需要kaldi,kaldi安装参考kaldi安装

2、MFA使用 2.1、查看MFA版本 mfa version 2.2 数据格式

对齐数据或者训练模型需要的数据需要按照如下格式:

+-- prosodylab_corpus_directory | +-- speaker1 | --- recording1.wav | --- recording1.lab | --- recording2.wav | --- recording2.lab | +-- speaker2 | --- recording3.wav | --- recording3.lab | --- ...

数据目录下每个说话人对应一个目录,每个说话人目录下一个语音数据wav文件对应一个文本数据文件lab,文件名除了扩展名之外其他的部分要一一对应。

2.3 、下载预训练模型和词典

MFA提供了已经预先训练好的模型以及词典,下载地址。

词典下载地址

模型下载地址

一种方式是手动下载,另外是使用mfa命令下载,如下以中文为例:

#下载模型 mfa models download acoustic mandarin_mfa #下载词典 mfa models download dictionary mandarin_mfa mfa models download dictionary mandarin_pinyin 2.4、对齐命令 mfa align corpus_directory # 对齐数据 dictionary_path # 词典 acoustic_model_path # 声学模型 output_directory # 输出对齐结果 --temporary_directory #指定临时目录,存储中间结果 --disable_mp # 关闭多进程,默认是False

对齐输出结果为TextGrid格式。

2.5、训练模型 mfa train corpus_directory # 数据 dictionary_path # 词典 output_directory # 输出模型 --temporary_directory #指定临时目录,存储中间结果 --disable_mp # 关闭多进程,默认是False 2.6、其它命令使用

参考mfa all command

3、遇到问题

3.1、由于MFA底层用到kaldi,所以kaldi下的可执行文件都要链接到PATH变量中。

3.2、缺少某些so库,需要找到对应so库并链接到LD_LIBRARY_PATH。

3.3、so库的版本低,对于当前环境下某些so库版本低(例如:libm.so.6、libstdc++.so.6等),需要下载so库对应的源码编译,使用的时候将so库链接到变量?LD_PRELOAD。

3.4、如果执行中出现任何问题,可以去--temporary_directory指定的目录下查看log文件。另外,调试的时将--disable_mp设置为True(就是使用单进程执行),如果没有问题的再使用用多进程。

由于mfa有个小bug:如果有异常出现,多进程执行时可能不会输出错误信息。

(完)


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #mfa #对齐 #MFAMontreal #Forced #alignment工具 #Acoustic