2010-02-16 33 views
5

我无法从this research paper确切地确定如何重现标准矢量量化算法以基于训练数据集确定未识别语音输入的语言。下面是一些基本信息:语音处理解释中的矢量量化

摘要信息 语言识别(如日语,英语,德语等)使用声学特征是对当前语音 技术的一个重要而困难的问题。 ...本文使用的语音数据库包含20种语言:16 句子,由4名男性和4名女性发出两次。每个 句子的持续时间约为8秒。第一种算法是基于标准的 矢量量化(VQ)技术。每种语言都通过其自己的VQ代码簿来表征 。

识别算法 第一种算法是基于标准矢量量化(VQ)技术。每种语言k都有其自己的VQ码本alt text。在识别阶段,通过alt text对输入语音进行量化,并且累计量化失真d_k被计算。作为最小失真的语言被识别。调整VQ失真,应用几种LPC频谱失真测量...在这种情况下,WLR加权最小比率 - 距离:http://tinyurl.com/yc52gcl

标准VQ算法: 使用训练语句生成每种语言的码本alt text http://tinyurl.com/y8csx6e。在句子,alt text输入向量的累积距离,定义为:alt text http://tinyurl.com/ybynjc2

的距离d可以是对应于声学特征的任何距离,并且它必须是相同的用于码本生成的一个。每种语言的特点是其VQ码本,alt text

我的问题是,我该如何做到这一点?我有一套英语50句话。在MATLAB中,我可以轻松计算任何给定信号的WLR。但是,我该如何制定一个密码本,因为我必须使用WLR来进行英文的“密码本生成”。我也很好奇如何比较尺寸为16的VQ码本(它被认为是最好的尺寸)和给定的输入信号。如果有人能为我提供这份文件,我会非常感激。

谢谢!

回答

1

第二个问题(比较码本与给定信号)更容易:对于每个码本条目V_k_j,必须使用输入信号计算距离d。具有最小距离'd'的'j'将包含最适合的码本条目。作为距离函数,您可以使用WLR

Building codebook(trainig)有点复杂。你必须把你的句子分成长度为N(16)的矢量,然后用一些聚类算法(如k-means)对这些矢量进行聚类。然后在每个群集中找到平均值。这意味着并将成为密码本条目。想到这是一件很费劲的事情。

另一种算法(我相信它会更好)可以找到here。 另外,两种简单的训练算法在Wikipedia