2010-02-16 61 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