CMU狮身人面像改编几个词



我正在尝试使 wsj 模型适应 undersrand 我只有 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-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

我一遍又一遍地运行它比我清理和构建项目,并运行helloworld演示,我在那里修改了.gram文件。顺便说一句,转录: 停止 (arctic_0001) (arctic_0002) right (arctic_0003) go (arctic_0004)我添加了空格,以便在这里它不会读作代码字典和文件ID也可以

谢谢

附言感谢大流士,但它仍然不起作用

很难

确定在如此复杂的过程中会发生什么。

您应该做的是设置一个可重复的测试用例并使用它来验证您的进度。它应该包含至少 100 个测试句子(在您的情况下是单词)。可以用狮身人面像来完成,请参阅此链接

只有在准备好测试后,才能继续更改声学模型或语法。将您所做的每项更改与原始(未修改的模型)精度进行比较。然后你就会知道哪些步骤是好的,哪些是坏的。

另一件事是训练数据 - 我可能是错的,但我认为这么短的单字音频文件并不是适应模型的最佳选择。我建议使用更长的文件,即使这意味着多次重复相同的单词。只要确保你说的量恰到好处,并在单词之间留出清晰的空格。

你根本不应该使用 MAP。MAP适应需要大量的适应数据,因为它会修改模型中的所有参数。 您将有更好的机会使用MLLR,它在狮身人面像中可用,这是教程:http://cmusphinx.sourceforge.net/wiki/tutorialadapt

最新更新