介绍
Montreal Forced Aligner 是一种将语音和转录结果进行强制对齐的工具,使用该工具,你可以获取到语音中每个片段所表示的文本内容。Montreal Forced Aligner 只需一行简单的命令就可以进行语音和转录文本的对齐,且其文档丰富详细,上手使用快速简单。下面对 Montreal Forced Align 的快速上手进行介绍。
安装
最简单的安装方式是使用 conda,这也是官方文档中推荐的安装方式,一行命令即可安装成功。详情请参考官方的安装指南。
conda create -n aligner -c conda-forge montreal-forced-aligner
使用
一行命令即可进行对齐。为此,你需要准备好对齐的数据、发音字典以及声学模型。
mfa align [OPTIONS] CORPUS_DIRECTORY DICTIONARY_PATH ACOUSTIC_MODEL_PATH OUTPUT_DIRECTORY
-
CORPUS_DIRECTORY
是你的对齐数据,它由语音文件和其对应的转录结果文件组成。推荐采用如下的目录结构,recording1.lab
为 语音recording1.wav
的转录结果,以单空格分割每个 word。MFA 还支持其他形式的对齐数据格式,详细请参考:https://montreal-forced-aligner.readthedocs.io/en/latest/user_guide/corpus_structure.html#corpus-formats-and-structurecorpus_directory | --- recording1.wav | --- recording1.lab | --- recording2.wav | --- recording2.lab | --- ...
-
DICTIONARY_PATH
为发音字典路径,MFA 提供了许多可用的发音字典,详细见:https://mfa-models.readthedocs.io/en/latest/dictionary/index.html -
ACOUSTIC_MODEL_PATH
为声学模型路径,MFA提供了很多可用的预训练声学模型,参见:https://mfa-models.readthedocs.io/en/latest/acoustic/index.html 。你也可以使用自己的数据重新训练一个声学模型,参考:https://montreal-forced-aligner.readthedocs.io/en/latest/first_steps/index.html#training-a-new-acoustic-model-on-a-corpus 。 -
OUTPUT_DIRECTORY
对齐结果的保存目录。
对齐结果的文件(xx.TextGrid)内容形式如下:
File type = "ooTextFile"
Object class = "TextGrid"
xmin = 0
xmax = 5.472
tiers? <exists>
size = 2
item []:
item [1]:
class = "IntervalTier"
name = "words"
xmin = 0
xmax = 5.472
intervals: size = 20
intervals [1]:
xmin = 0.0
xmax = 1.01
text = ""
intervals [2]:
xmin = 1.01
xmax = 1.27
text = "the"
intervals [3]:
xmin = 1.27
xmax = 1.3
text = ""
intervals [4]:
xmin = 1.3
xmax = 1.72
text = "internet"
item [2]:
class = "IntervalTier"
name = "phones"
xmin = 0
xmax = 5.472
intervals: size = 44
intervals [1]:
xmin = 0.0
xmax = 1.01
text = ""
intervals [2]:
xmin = 1.01
xmax = 1.11
text = "d̪"
intervals [3]:
xmin = 1.11
xmax = 1.27
text = "ə"
intervals [4]:
xmin = 1.27
xmax = 1.3
text = ""
关于 TextGrid 的信息,详情见:https://textgrid.de/web/guest 。你也可以使用 python 中的 aligned-textgrid 库来解析文件。通过解析,可以切分出文本内容出现在原始语音的哪个时间区间,例如在上面的示例中,可以从原始语音中 1.3 至 1.72 区间切分出 internet 的语音片段。
注意事项
-
有时候,MFA并没有现成的声学模型,发音字典等,而在MFA中,这两者是语音对齐必不可少的,因此你需要根据你的预料去训练一个声学模型,使用 G2P模型为你的语料生成一个发音字典,你可以在 https://montreal-forced-aligner.readthedocs.io/en/latest/first_steps/index.html# 中找到解决方案。
-
在验证你的数据是否满足对齐格式要求时,可能会出现一些 error,可以尝试清除 MFA 在对齐过程中产生的 cache 文件,例如:
rm -rf /root/Document/MFA
(cache 产生目录)。 -
若你要进行对齐的数据不是指定 speaker 的形式,在使用 mfa 进行对齐、验证、训练等操作时,添加
--num_jobs xx —single_speaker
选项,不然后会默认单线程。
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » Montreal Forced Aligner 工具使用
发表评论 取消回复