繁体   English   中英

如何确定语音识别中HMM的观察序列长度

[英]How to determine length of observation sequence for HMM in speech recognition

我正在重新学习如何使用隐马尔可夫模型进行语音识别,我有一个问题。 似乎大多数/所有使用HMM的讨论都考虑了已知观测序列的情况:[O1,O2,O3,...,OT]其中T是一个已知数。 但是,如果我们尝试在语音上实时使用受过训练的HMM,或者在有人逐个说出一句话的WAV文件中使用经过训练的HMM,那么究竟如何选择T的值呢? 换句话说,如何知道说话者何时结束一个句子并开始另一个句子? 实际的用于语音识别的HMM是否仅使用固定值T并使用过去固定长度的长度为T的窗口周期性地重新计算最佳状态序列,直到当前观察? 还是有一些更好的方法可以随时随地动态选择T?

实际的用于语音识别的HMM是否仅使用固定值T并使用过去固定长度的长度为T的窗口周期性地重新计算最佳状态序列,直到当前观察?

Viterbi解码算法逐帧工作,因此您只需遍历帧,就可以无限期地进行迭代,直到回溯矩阵填满所有内存为止。

训练算法会考虑训练前准备的音频,通常为1-30秒。 用于训练的音频长度是已知的。

如何知道说话者何时结束一个句子并开始另一个句子?

这里有不同的策略。 解码器搜索静音以环绕解码。 沉默不一定意味着句子之间的中断,句子之间可能根本没有中断。 句子的中间也可能会中断。

因此,要找到静音,解码器可以使用独立的语音活动检测算法,并在VAD检测到静音时中断,或者解码器可以分析回溯信息来确定是否出现静音。 第二种方法更可靠。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM