Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Speech recognition 连续语音中音素识别的隐马尔可夫模型_Speech Recognition_Speech To Text_Hidden Markov Models - Fatal编程技术网

Speech recognition 连续语音中音素识别的隐马尔可夫模型

Speech recognition 连续语音中音素识别的隐马尔可夫模型,speech-recognition,speech-to-text,hidden-markov-models,Speech Recognition,Speech To Text,Hidden Markov Models,当我有一个孤立的音素时,我知道如何应用隐马尔可夫模型(HMM)。我只需要创建几个HMM模型(每个模型至少有3个状态),每个音素一个,计算所有模型的前向算法,看看哪个模型的概率最大 但现在我有了一个连续语音数据库,每帧都有音素标签(TIMIT)。如何训练HMM,使其能够识别连续语音中的音素?简而言之:对于连续语音识别,使用辅助静默模型将音素模型连接到大型HMM中 首先,您可以在孤立音素上训练模型,并将其应用于连续语音。例如,您可以根据现有标签对培训音频进行分块 在识别步骤,对组合模型应用维特比解码

当我有一个孤立的音素时,我知道如何应用隐马尔可夫模型(HMM)。我只需要创建几个HMM模型(每个模型至少有3个状态),每个音素一个,计算所有模型的前向算法,看看哪个模型的概率最大

但现在我有了一个连续语音数据库,每帧都有音素标签(TIMIT)。如何训练HMM,使其能够识别连续语音中的音素?

简而言之:对于连续语音识别,使用辅助静默模型将音素模型连接到大型HMM中

首先,您可以在孤立音素上训练模型,并将其应用于连续语音。例如,您可以根据现有标签对培训音频进行分块

在识别步骤,对组合模型应用维特比解码(最可能的隐藏状态序列)相当于识别音素序列。有关更多详细信息,您可以学习HTK手册中相应的内容

要在连续数据上训练HMM,您还需要做一个类似的技巧:将单个音素模型组合成整个基础句子的大型模型。培训框架将在模型状态和音频之间找到最佳对齐方式。同样,提供了一个很好的教程


提供了方法的完整概述,并提供了大量参考文献。例如,描述了一种与上下文无关的音素识别的基本方法。

好的,我明白了。所以这些静默模型不需要单独训练,对吗?通常,每个音素模型(包括静默)都是与其他音素模型一起训练完整的句子音频。将话语分块成音素可能非常耗时和浪费空间,而且确实不需要。很抱歉再次打扰您,但在培训步骤中,您说“将单个音素模型组合成整个基本句子的大型模型”。您只是让音素模型未经培训?它们最初没有经过培训,但在实际训练开始之前,使用估计的全局平均值和方差值初始化。请参阅“创建平启动单音扬声器”部分: