Kaldi搭建语音识别系统实践——发音词典相关文件准备

在上一篇文章,我们讲述了如何利用kaldi进行声学特征的提取,以及当前比较流行的声学特征(MFCC)。语音识别系统除了声学特征外,还有需要音素、发音词典、声学单元及kaldi识别的格式*.fst等文件

发音词典

开源普通话数据集aishell为我们提供了发音词典,如下所示

该发音词典主要采用声韵母结构,其中a1中数字代表声调,常用的声调有5种,分别阴平、阳平、上声、及去声,外加一个轻声;而对于静音或者噪音,则统一采用SIL(silent的3个首字母)来表示。

声学单元

kaldi中关于声学单元有四种文件,在data/local/dict目录下,由脚本生成, 文件如下所示:

其中:

  • lexicon.txt: aishell提供的发音词典,脚本生成过程中拷贝了一份到此处。

  • silence_phones.txt: 静音因素,此处为sil。

  • nonsilence_phones.txt: 非静音因素集,除去SIL的音素。

  • optional_silence.txt: 包含一个单独的音素用来作为词典中默认的静音音素。

  • extra_questions.txt: 构建决策树的问题集,可以是空的,包含多组相同的音素,每一组音素包含相同的重音或者声调;也有可能是一致表示非语音的静音/噪音音素;这可以用于增加自动生成问题的数量。

以上就是关于声学单元相关内容,按照惯例,小编会把kaldi中生成dict的脚本放到此处,供有兴趣的小伙伴一起学习~

#!/usr/bin/env bash

# Copyright 2017 Xingyu Na
# Apache 2.0

# prepare dict resources
if [ -d data/local/dict ]; then
    echo "dict is prepared"
    exit 0;
fi
. ./path.sh
    
[ $# != 1 ] && echo "Usage: $0 <resource-path>" && exit 1;
res_dir=$KALDI_ROOT/egs/aishell/s5/aishell/data/resource_aishell
dict_dir=data/local/dict
mkdir -p $dict_dir
cp $res_dir/lexicon.txt $dict_dir

cat $dict_dir/lexicon.txt | awk '{ for(n=2;n<=NF;n++){ phones[$n] = 1; }} END{for (p in phones) print p;}'| 
  perl -e 'while(<>){ chomp($_); $phone = $_; next if ($phone eq "sil");
    m:^([^d]+)(d*)$: || die "Bad phone $_"; $q{$1} .= "$phone "; }
    foreach $l (values %q) {print "$ln";}
  ' | sort -k1 > $dict_dir/nonsilence_phones.txt  || exit 1;

echo sil > $dict_dir/silence_phones.txt

echo sil > $dict_dir/optional_silence.txt

# No "extra questions" in the input to this setup, as we don't
# have stress or tone

cat $dict_dir/silence_phones.txt| awk '{printf("%s ", $1);} END{printf "n";}' > $dict_dir/extra_questions.txt || exit 1;
cat $dict_dir/nonsilence_phones.txt | perl -e 'while(<>){ foreach $p (split(" ", $_)) {
  $p =~ m:^([^d]+)(d*)$: || die "Bad phone $_"; $q{$2} .= "$p "; } } foreach $l (values %q) {print "$ln";}' 
 >> $dict_dir/extra_questions.txt || exit 1;

echo "$0: AISHELL dict preparation succeeded"
exit 0;

欢迎有兴趣的小伙伴一起来研究kaldi~

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/saltape/p/16279263.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!

相关课程