基于DSP嵌入式說(shuō)話(huà)人識別系統的設計
1.2 選擇說(shuō)話(huà)人
該系統要訓練10個(gè)人的語(yǔ)音,每個(gè)人的語(yǔ)音存放在FLASH ROM的不同位置。在訓練的開(kāi)始階段,系統需確定當前訓練者的身份,以便對訓練完成后說(shuō)話(huà)者模型參數存儲位置有準確的判斷。對當前訓練者身份的選擇由系統中的4個(gè)Switch實(shí)現。若把每個(gè)Switch的開(kāi)關(guān)兩種狀態(tài)看成是二進(jìn)制數的0,1,則最終可形成16種組合,代表16個(gè)人。該系統選取前10個(gè)組合。
1.3 AIC23語(yǔ)音采集
考慮到系統的實(shí)用性,語(yǔ)音的輸入由mic in接口輸入。語(yǔ)音采集若設為雙聲道,則采集的左右聲道數據差別不大,對識別沒(méi)有太大的幫助,而且采集到的語(yǔ)音會(huì )占用太大存儲器空間,故采用單聲道采樣;對于采樣精度要求,TLV320AIC23可實(shí)現8~96 kHz,16 b,20 b,24 b,32 b,的不同采樣,隨著(zhù)采樣頻率的提高,采樣間隔將相應的縮短,要求更大的內存空間和更長(cháng)的處理時(shí)間,實(shí)驗表明,采樣率由16 kHz下降到8 kHz,所造成的識別率的微乎其微,但是可以節省50%的動(dòng)態(tài)存儲空間,并可減少大量的運算。對于采樣位數,16 b精度已能滿(mǎn)足該系統要求,故采樣精度設為8 kHz,16 b采樣。
1.4 數據的存儲
由TLV320AIC23獲得的語(yǔ)音信號的數據,只有賦值給相應的數組,才能在接下來(lái)的算法中有所應用。為此在SDRAM中定義一片數組存儲區域。對于數組大小及類(lèi)型的選擇基于以下兩點(diǎn):
(1)數組大小選擇。該系統算法中包含訓練和識別兩個(gè)內容。語(yǔ)音信號的訓練需要大量的數據才能準確的提取語(yǔ)音的特征參量。該系統采用8 kHz采樣率的10 s的語(yǔ)音信號,所需的數組空間大小為80 000個(gè)數據單位;語(yǔ)音信號的識別要求快速性,該系統采用時(shí)間較短的8 kHz 3 s語(yǔ)音信號,所需數組空間大小為30 000個(gè)數據單位,為了減少數據空間,系統設定為與訓練數組共用前30 000個(gè)數據單位的空間。
(2)數組類(lèi)型為浮點(diǎn)型,由于設定的采樣格式是16 b采樣,而采樣后數據類(lèi)型是Uint32,語(yǔ)音數據位于低16位,所以賦值過(guò)程中取低16位數據賦值給數組。
1.5 模型參數存入與參數調出
將模型參數存入FLASH ROM的目的是保存訓練所得的參數,以供識別時(shí)調用。訓練可能用于多次識別,或者訓練和識別可能處于不同的時(shí)間地點(diǎn),所以,保存參數的存儲器選定為具有掉電時(shí)數據不丟失特點(diǎn)的FLASH ROM。每個(gè)說(shuō)話(huà)者語(yǔ)音參數代表一個(gè)說(shuō)話(huà)者身份,所以每個(gè)說(shuō)話(huà)者模型參數應存儲在FLASHROM中一個(gè)確定的位置。為此,該系統在FLASHROM中分配了10塊的區域,每個(gè)說(shuō)話(huà)者模型參數占有一塊特定的區域。
在FLASH ROM中存人數據格式為32 b無(wú)符號整數。而訓練得到的是浮點(diǎn)型的數據。這就要求在數據存入之前將浮點(diǎn)數轉換為32 b無(wú)符號類(lèi)型的整數,假設要轉換的數據為float x[M][N]則轉換方法如下:
(1)x[M][N]歸一化;
(2)對x[M][N]乘以一常數K得到有符號整型的數組y[M][N],即:
y[M][N]=x[M][N]×K (1)
(3)屏蔽第32位符號位,得到32 b無(wú)符號類(lèi)型的整數數組。方法如下:
z[i][j]=y[i][j]0x7FFFFFFF (2)
(4)將z[i][j]存入FLASH ROM。
通過(guò)統計實(shí)驗數據發(fā)現歸一化后數據的范圍為10-5~1,故K選擇為108,既可以實(shí)現較大精度的轉化,又不會(huì )影響第31位的數值。轉換得到的有符號整型數組y[M][N]范圍為-108~108,在存儲器中正數為原碼表示,負數為補碼表示,通過(guò)計算發(fā)現,該范圍的正數第31位為0,負數第31位為1,所以,上述第(3)步,將有符號數轉換為無(wú)符號數后,數值的正負改為使用第31位標識。在識別階段,要將說(shuō)話(huà)者的GMM參數依次從FLASH ROM中讀出,逐個(gè)與待識別者語(yǔ)音的MFCC參數比較,求最大似然值。參數調出過(guò)程與以上存入過(guò)程相反。
評論