Speech recognition CMU Sphinx对几个词的改编
我正在尝试改编《华尔街日报》的模式,使其只对我写的4个字进行理解,我创建了一个bash文件,我尝试了近20次,但当我运行并说“停止”时,失败率高达90%。这是我的bash文件,请让我知道,我是做错了什么,还是需要更多的训练,比如100次Speech recognition CMU Sphinx对几个词的改编,speech-recognition,cmusphinx,Speech Recognition,Cmusphinx,我正在尝试改编《华尔街日报》的模式,使其只对我写的4个字进行理解,我创建了一个bash文件,我尝试了近20次,但当我运行并说“停止”时,失败率高达90%。这是我的bash文件,请让我知道,我是做错了什么,还是需要更多的训练,比如100次 #!/bin/bash for i in {1..4} do fn=`printf arctic_%04d $i`; read sent; echo $sent; rec -r 16000 -e signed-i
#!/bin/bash
for i in {1..4}
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
sphinx_fe -argfile Model/feat.params \
-samprate 16000 -c arctic20.fileids -di . -do . \
-ei wav -eo mfc -mswav yes
bw/bw \
-hmmdir Model \
-moddeffn Model/mdef \
-ts2cbfn .cont. \
-feat 1s_c_d_dd \
-cmn current \
-agc none \
-dictfn arctic20.dic \
-ctlfn arctic20.fileids \
-lsnfn arctic20.transcription \
-accumdir .
cp -a Model/* Model.adapted
map_adapt/map_adapt \
-meanfn Model/means \
-varfn Model/variances \
-mixwfn Model/mixture_weights \
-tmatfn Model/transition_matrices \
-accumdir . \
-mapmeanfn Model.adapted/means \
-mapvarfn Model.adapted/variances \
-mapmixwfn Model.adapted/mixture_weights \
-maptmatfn Model.adapted/transition_matrices
cp -r Model.adapted/* ~/NetBeansProjects/sphinx4-1.0beta6/models/acoustic/wsj
cp -r Model.adapted/* Model
#/bin/bash
对于{1..4}中的i
做
fn=`printf北极_U04d$i`;
读发送;回音$已发送;
rec-r 16000-e有符号整数-b 16-c 1$fn.wav 2>/dev/null;
完成
我一遍又一遍地运行它
然后我清理并构建项目,并运行helloworld演示,我在那个里修改了.gram文件。
btw转录:
停止(北极地区0001)
左(北极地区)
右(北极_0003)
围棋(北极)
我添加了空格,这样它就不会在这里读代码了
字典和文件ID也可以
谢谢
另外,多亏了dariusz,但它仍然不起作用很难确定在如此复杂的过程中会发生什么 您应该做的是设置一个可重复的测试用例,并使用它来验证您的进度。它应该包含至少100个测试句子(单词,在你的例子中)。这可以用斯芬克斯完成 只有在测试准备就绪后,才能继续对声学模型或语法进行更改。将您所做的每个更改与原始(未修改的模型)精度进行比较。然后你就会知道哪些步骤是好的,哪些步骤是坏的
另一件事是训练数据——我可能错了,但我认为这样短的一个单词的音频文件不是适应模型的最佳方式。我建议使用更长的文件,即使这意味着重复同一个单词数次。只需确保你说的话准确无误,字里行间留有空格。你根本不应该使用MAP。地图自适应需要大量的自适应数据,因为它会修改模型中的所有参数。您将有更好的机会使用MLLR,它在sphinx中提供,以下是教程:是
rec-r 16000
正确吗?难道你不应该使用8000
?我更正了它,仍然不起作用,请看:)很遗憾,你对短音频文件的看法是错误的。问题不在于大小,如果最终应用程序能够识别短单词,也可以适应短单词。@NikolayShymyrev我不是说适应短单词不好-我是说SphinxTrain可能在处理非常短的音频文件的培训时遇到问题。我没有证据,但这是我在改编(后来创建)自己的声学模型时的印象。长时间的训练序列(例如一整句话)会产生更好的效果。这只是你的印象。如果您适应识别短命令,则需要在适应数据中使用短命令。