0

嗨,我是 HTK 的新手,并遵循了http://htk.eng.cam.ac.uk/的 HTK 书中的“使用 HTK 的教程示例”

我已经到了必须使用“HCompV”的地步(3.2.1 第 6 步 - 创建平面开始单音器)

我有“cd”到我的工作目录,我的命令如下

HCompV -C wav_config_HCompV -f 0.01 -m -S train.silmodel.scp -M hmm0 proto.silmodel

(不要介意奇怪的名字,我尝试了几次到达这里并用新名称重命名新文件版本以保留旧名称)

我的“wav_config_HCompV”包含

TARGETKIND = MFCC_0_D_A
TARGETRATE = 100000.0
SAVECOMPRESSED = T
SAVEWITHCRC = T
WINDOWSIZE = 250000.0
USEHAMMING = T
PREEMCOEF = 0.97
NUMCHANS = 26
CEPLIFTER = 22
NUMCEPS = 12

我的“train.silmodel.scp”包含

"/home/pi/HTK/htk.eng.cam.ac.uk/HTK Book/train/wav-2/S0001.wav"
"/home/pi/HTK/htk.eng.cam.ac.uk/HTK Book/train/wav-2/S0002.wav"
"/home/pi/HTK/htk.eng.cam.ac.uk/HTK Book/train/wav-2/S0003.wav"
"/home/pi/HTK/htk.eng.cam.ac.uk/HTK Book/train/wav-2/S0004.wav"
"/home/pi/HTK/htk.eng.cam.ac.uk/HTK Book/train/wav-2/S0005.wav"
"/home/pi/HTK/htk.eng.cam.ac.uk/HTK Book/train/wav-2/S0006.wav"
"/home/pi/HTK/htk.eng.cam.ac.uk/HTK Book/train/wav-2/S0007.wav"
etc...

我的“proto.silmodel”包含

~o <VecSize> 39 <MFCC_0_D_A>
~h "proto
<BeginHMM>
<NumStates> 5
<State> 2
<Mean> 39
0.0 0.0 0.0 ...
<Variance> 39
1.0 1.0 1.0 ...
<State> 3
<Mean> 39
0.0 0.0 0.0 ...
<Variance> 39
1.0 1.0 1.0 ...
<State> 4
<Mean> 39
0.0 0.0 0.0 ...
<Variance> 39
1.0 1.0 1.0 ...
<TransP> 5
0.0 1.0 0.0 0.0 0.0 
0.0 0.6 0.4 0.0 0.0 
0.0 0.0 0.6 0.4 0.0 
0.0 0.0 0.0 0.7 0.3 
0.0 0.0 0.0 0.0 0.0 
<EndHMM> 

当我运行命令时出现错误

ERROR [+5013]  ReadString: String too long
FATAL ERROR - Terminating program HCompV

我觉得这很奇怪。因为在 理解 htk 错误信息之类的页面上

我最终发现不在“HCompV”错误消息中,而是在“HLed”错误中说

ERROR [+5013] ReadString: String too long
FATAL ERROR - Terminating program HLEd 

解决方案应该是

Make changes to the pronunciation dictionary:
Replace all multiple spaces with single space;
Replace all tabs with single space;
Put a '\' before every double quote ("); %"
Put a '\' before any dictionary entry beginning with single quote (')

我看不出这个错误代码与 HCompV 有什么关系,而且我在网上没有其他地方发现任何与我的奇怪错误有关的东西。有没有人有线索?

我似乎在这个命令中没有任何字典,所以它不加起来。

Ty 阅读,并致以最诚挚的问候,Darkyere

4

2 回答 2

0

输入文件HCompV必须是 mfc 格式,而不是 wav。将所有 wav 转换为 mfc,HCopy并更改train.silmodel.scp指示 mfc 文件路径的文件。

于 2017-10-10T08:19:21.550 回答
0

此错误是由某些输入文件末尾缺少新行引起的。确保每个输入文件都以换行符结尾。您可以为此使用任何好的文本编辑器。

于 2016-03-11T13:53:49.323 回答