PocketSphinx语音识别系统语言模型的训练和声学模型的改进

里面的句子的因素组成,我建立这个文件的时候还是比较坎坷的。先是按词语为单位,到后面统计时,统计不过去,然后我改成以词为单位,还是统计不了,出现段错误,最后我改成以句子为单位,就是下面这样,才可以,注意下面标红的这几个,和我们平时的拼音有点不一样:

你确定吗 n i q uxe d ing m a

打开我的电脑,确定还是取消 d a k ai w o d e d ian n aoq uxe d ing h ai sh ibq ux x i ao

关闭计算机,退出浏览器 g uan b i j i s uan j i t ui ch u l iu l an q i

你好吗?可以退出程序吗 n i h ao m a k e y i t ui ch u ch engx ux m a

返回上一页还是返回主菜单 f an h ui sh ang y i y e h aish ib f an h ui zh u c ai d an

放大还是缩小页面 f ang d a h ai sh ib s uo x iao y e m ian

今天的天气不错,不下雨 j in t ian d e t ian q i b u c uo b u x ia y u

你喜欢听音乐吗,需要打开音乐播放器吗,听第几首歌 n i x i h uan t ing y iny uxs uxe m a x ux y ao d a k ai y in y uxe b o f ang q i m a t ing d i j i sh ou g e

需要浏览图片,上一张还是下一张 x ux y ao l iu l an t u p ian sh ang y i zh ang h ai sh i x ia y i zh ang

我想看视频,有什么电影 w o x iang k an sh i p in y ou sh en m e d ian y ing

打开系统设置,基本设置 d a k ai x i t ong sh ezh ib j i b en sh e zh ib

进入主菜单,请控制,向左,向右,还是,向上,向下 j in r u zh u c ai d an q ing k ong zh ib x iang z uo x iang y ou h ai sh i x iang sh ang x iang x ia

1.2、录制你的适应数据

为适应语料库里面的每一个句子录制一个语音文件,录音文件的命名需要和arctic20.transcription与arctic20.fileids的一致

注意:此处音频文件采样率16KHz,16bit单声道录音,而且是wav格式。

我在Linux下写了一个处理脚本来实现上面这12个句子的录音:rec_wav.sh,内容如下:

for i in `seq 1 12`; do

fn=`printf arctic_%04d $i`;

read sent; echo $sent;

rec -r 16000 -e signed-integer -b 16 -c 1 $fn.wav 2>/dev/null;

done < arctic20.txt

在这里我们需要用到rec这个录音命令,这个命令是由Linux下一个很有名的音频转换程序sox携带的,所以我们需要先安装sox:

#apt-get install sox

然后改变rec_wav.sh的运行属性:

#chmod 777 rec_wav.sh

#./rec_wav.sh

这个脚本会显示一句话,然后进入录音,我们把这个句子读出来,然后按ctrl+c显示下一句话,然后录音,如此循环到全部的句子的语音数据拿到。这样在当前文件夹下面就会显示如下文件:

arctic_0001.wav

arctic_0002.wav

…..

arctic_0012.wav

然后,我们需要测试下每个音频文件是否正常:

for i in *.wav; do play $i; done

他会依次的播放我们录下的这些音频文件;如果不对的话,就得重录,我的就没有什么问题。

2、适应声学模型

首先我们需要先拷贝现有的默认的声学模型到当前目录下

#cp -a /usr/local/share/pocketsphinx/model/hmm/zh/tdt_sc_8k/ .

这个是pocketsphinx自带的中文声学模型

2.1、生成声学特征文件

我们需要对我们录制的wav语音文件提取MFCC特征,而且必须以和默认的模型相同的声学模型参数去提取这些特征,他们存储在声学模型目录的feat.params文件中。

#sphinx_fe -argfile tdt_sc_8k/feat.params -samprate 16000 -c arctic20.fileids -di . -do . -ei wav -eo mfc -mswav yes

这样在当前文件夹下就会对每一个语音文件生成一个*.mfc后缀的特征文件:(我这里生成的是*.mfc,但我执行后面的工作,也就是统计数据时,发现统计程序需要的是*..mfc的,我也不知道哪里出现问题了,所以我只能将其修改为*..mfc)

arctic_0001.mfc

arctic_0001.wav

arctic_0002.mfc

arctic_0002.wav

……

2.2、转化sendump和mdef文件

有一些模型没有足够的数据去做适应。这里有一个额外的文件我们需要下载的,为了节省空间,所以没有添加进PocketSphinx的发行版包了。我们可以从下面的链接下载:

?view=tar

并且为之实践了关怀和付出的善举。对于我性情中的易感和怨薄,

PocketSphinx语音识别系统语言模型的训练和声学模型的改进

相关文章:

你感兴趣的文章:

标签云: