首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTK: HCompV ReadString:字符串太长

HTK: HCompV ReadString:字符串太长
EN

Stack Overflow用户
提问于 2016-03-11 21:01:23
回答 2查看 683关注 0票数 0

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

我已经到了必须使用"HCompV“的地步(3.2.1步骤6-创建扁平开始单声道)

我的工作目录中有"cd“,我的命令如下所示

代码语言:javascript
复制
HCompV -C wav_config_HCompV -f 0.01 -m -S train.silmodel.scp -M hmm0 proto.silmodel

(不要介意我在这里做了几次尝试,并用新名称重命名新文件版本以保留旧文件版本)

我的"wav_config_HCompV“包含

代码语言:javascript
复制
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“包含

代码语言:javascript
复制
"/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“包含

代码语言:javascript
复制
~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> 

当我运行该命令时,我得到以下错误

代码语言:javascript
复制
ERROR [+5013]  ReadString: String too long
FATAL ERROR - Terminating program HCompV

我觉得这很奇怪。因为在像understanding htk error messages这样的页面上

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

代码语言:javascript
复制
ERROR [+5013] ReadString: String too long
FATAL ERROR - Terminating program HLEd 

解决方案应该是

代码语言:javascript
复制
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有什么关系,在网上也没有其他地方我发现任何与我奇怪的错误有关的东西。有没有人有线索?

我好像没有这个逗号里的字典,所以没有加起来。

在此致以最良好的敬意,Darkyere

EN

回答 2

Stack Overflow用户

发布于 2016-03-11 21:53:49

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

票数 0
EN

Stack Overflow用户

发布于 2017-10-10 16:19:22

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35940938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档