ADSP-BF531在嵌入式語(yǔ)音識(shí)別系統(tǒng)中的應(yīng)用
摘要:設(shè)計(jì)了一個(gè)嵌入式語(yǔ)音識(shí)別系統(tǒng),該系統(tǒng)硬件平臺(tái)以ADSP-BF531為核心,采用離散隱馬爾可夫模型(DHMM)檢測(cè)和識(shí)別算法完成了對(duì)非特定人的孤立詞語(yǔ)音識(shí)別。試驗(yàn)結(jié)果表明,該系統(tǒng)對(duì)非特定人短詞匯的綜合識(shí)別率在90%以上。該系統(tǒng)具有小型、高速、可靠以及擴(kuò)展性好等特點(diǎn);可應(yīng)用于許多特定場(chǎng)合,有很好的市場(chǎng)前景。文中講述了該系統(tǒng)CODEC、片外RAM、ROM以及CPLD等與DSP的接口設(shè)計(jì),語(yǔ)音識(shí)別運(yùn)用的矢量量化、Mel倒譜參數(shù)、Viterbi等有關(guān)算法及其實(shí)際應(yīng)用效果。
關(guān)鍵詞:ADSP-BF531;語(yǔ)音識(shí)別;離散隱馬爾可夫模型;非特定人;孤立詞
自上世紀(jì)70年代以來(lái),國(guó)內(nèi)外的專家們?cè)谡Z(yǔ)音識(shí)別研究領(lǐng)域內(nèi)取得了重大突破,先后出現(xiàn)了動(dòng)態(tài)時(shí)間規(guī)整技術(shù)(DTW)、隱馬爾可夫模型(HMM)和人工神經(jīng)網(wǎng)絡(luò)(ANN)等3種主要方法。DTW雖然在孤立詞語(yǔ)音識(shí)別中取得了不錯(cuò)的性能,但其要求的存儲(chǔ)量和計(jì)算量太大;ANN雖然前景看好但其目前尚未有突破性進(jìn)展,目前它們都難以在工程中得到廣泛的應(yīng)用。HMM算法使語(yǔ)音識(shí)別的計(jì)算量得到大大減少,而且正確率較高,從而在語(yǔ)音識(shí)別中得到廣泛引用。
筆者在以ADSP-BF531為核心構(gòu)建的嵌入式系統(tǒng)上實(shí)現(xiàn)了對(duì)非特定人、孤立詞的語(yǔ)音識(shí)別,該系統(tǒng)采用了端點(diǎn)檢測(cè)、矢量量化(VQ)和離散隱馬爾可夫模型(DHMM)等算法。
1 ADSP-BF531介紹
ADSP-BF531是ADI公司Blackfin系列的高性能DSP,其最高主頻為400MHz,內(nèi)有2個(gè)16位MAC,2個(gè)40位ALU,4個(gè)8位視頻ALU,以及1個(gè)40位移位器,RISC式寄存器和指令模型,編程簡(jiǎn)單,編譯環(huán)境友好。
BF531包含豐富的外設(shè),通用外設(shè)如UART、帶有PWM(脈沖寬度調(diào)制)和脈沖測(cè)量能力的定時(shí)器、通用的I/O標(biāo)志引腳、以及一個(gè)實(shí)時(shí)時(shí)鐘和一個(gè)“看門狗”定時(shí)器。它還有多個(gè)獨(dú)立的DMA控制器,能夠以最小的處理器內(nèi)核開銷完成自動(dòng)的數(shù)據(jù)傳輸。DMA傳輸可以發(fā)生在ADSP-BF531處理器的內(nèi)部存儲(chǔ)器和任何有DMA能力的外設(shè)之間。此外,DMA傳輸也可以在任何有DMA能力的外設(shè)和已連接到外部存儲(chǔ)器接口的外部設(shè)備之間完成(包括SDRAM控制器、異步存儲(chǔ)器控制器)。具有DMA傳輸能力的外設(shè)包括SPORTS、SPI端口、UART和PPI端口。每個(gè)獨(dú)立的有DMA能力的外設(shè)至少有一個(gè)專用DMA通道。
2 硬件電路設(shè)計(jì)
該系統(tǒng)電路主要由DSP、音頻編碼器、CPLD、片外SDRAM、FLASH和EEPROM存儲(chǔ)器以及電源、時(shí)鐘等組成。硬件接口如圖1所示。
各器件的主要功能如下:
1)AD73311將經(jīng)前置放大后的麥克風(fēng)音頻信號(hào)經(jīng)A/D轉(zhuǎn)換后通過(guò)串行端口輸入BF531,同時(shí)完成對(duì)BF531輸出的數(shù)字音頻信號(hào)的D/A轉(zhuǎn)換,而后輸出到功放和喇叭;
2)BF531作為該系統(tǒng)的核心,對(duì)信號(hào)進(jìn)行特征提取和DHMM識(shí)別,同時(shí)對(duì)其外圍的器件進(jìn)行控制管理;
3)CPLD完成對(duì)DSP的外圍的器件時(shí)序和數(shù)據(jù)流程控制,以及對(duì)LCD顯示屏初始化檢測(cè)設(shè)置;
4)由于DSP片內(nèi)的RAM有限,配置了一塊SDRAM用于擴(kuò)展系統(tǒng)的內(nèi)存,以滿足程序運(yùn)行時(shí)數(shù)據(jù)和指令存儲(chǔ)的要求;
5)EEPROM用于存放DSP程序代碼和系統(tǒng)初始化所需的數(shù)據(jù);
6)FLASH用于存放訓(xùn)練樣本庫(kù)。
2.1 AD73311與BF531接口設(shè)計(jì)
本系統(tǒng)中設(shè)計(jì)AD73311的采樣率為16 kHz,其與BF531的串口0(SPORT0)連接,通過(guò)DMA方式在單時(shí)鐘周期內(nèi)完成操作。BF531支持32 bit的串口數(shù)據(jù)傳輸,由于AD73311為16 bit的音頻器件,而且16 bit已可滿足系統(tǒng)精度要求,因此本系統(tǒng)只使用了BF531的主傳輸數(shù)據(jù)通道,即:DTOPRI和DROPRI,而將第二傳輸數(shù)據(jù)通道DTOSEC和DROSEC進(jìn)行了屏蔽。AD73311與BF531的連接方式如圖2所示。
2.2 SDRAM接口設(shè)計(jì)
SDRAM主要用于擴(kuò)展系統(tǒng)內(nèi)存,為保證程序運(yùn)行的裕量及后續(xù)升級(jí)的需要,這里選用了三星電子的一款容量為32 MB的移動(dòng)式SDRAM,其型號(hào)為K4M56163PG。SDRAM與DSP的I/O總線連接,如圖3所示。
評(píng)論