基于MSP53C392的語音合成系統(tǒng)
關(guān)鍵詞:MSP53C392語音處理器 單片機(jī) 語音壓縮算法 語音合成
隨著語音處理和合成技術(shù)以及大規(guī)模集成電路的快速發(fā)展,語音合成不斷地產(chǎn)品化,不同廠商推出了用各種不同原理實現(xiàn)的語音合成器件。本文介紹一種性價比較高的,由TI生產(chǎn)的MSP53C392被動式合成器,它是由單片機(jī)控制的語音合成系統(tǒng)。該系統(tǒng)的優(yōu)點:①無需開發(fā)語音數(shù)據(jù)代碼,且由于MSP53C392語音處理器被設(shè)計成目錄式,可以讓用戶快速地把語音系統(tǒng)推上市場;②能利用多種語音壓縮算法無縫地混合匹配,用以優(yōu)化語音質(zhì)量和存儲容量。
1 系統(tǒng)原理
由MSP53C392構(gòu)成的語音合成系統(tǒng)的原理如圖1所示,利用PC機(jī)和TI的專用軟件對語音數(shù)據(jù)進(jìn)行轉(zhuǎn)換和壓縮,然后下載到Flash存儲器中。用單片機(jī)通過查表和散轉(zhuǎn)讀取語音數(shù)據(jù),再送MSP53C392合成輸出語音,經(jīng)濾波、功率放大后驅(qū)動揚(yáng)聲器。
2 硬件設(shè)計
2.1 MSP53C92語音合成器
美國德州儀器公司生產(chǎn)的語音合成芯片,接受來自主處理器的壓縮語音數(shù)據(jù),并由此產(chǎn)生語音或音樂。器件的特性如下:
①可直接驅(qū)動32Ω揚(yáng)聲器。
②在休眠方式下,最大待機(jī)電流僅10μA。
③片內(nèi)集成有各種語音合成算法,用戶可以根據(jù)要求選擇從低數(shù)據(jù)率到高質(zhì)量合成程序以適應(yīng)各種不同的應(yīng)用。支持的算法包括:
*LPC 5220的LPC D6格式——在8kHz的采樣頻率時,數(shù)據(jù)率分別為3.0Kbps和1.5Kbps。
*MELP Ver4.1——在8kHz的采樣頻率時,數(shù)據(jù)率為2~3.5Kbps。
*CELP V3.4——在8kHz的采樣頻率時,數(shù)據(jù)率可在4.2Kbps、4.8Kbps、6.2Kbps、8.6Kbps、10.7Kbps中選擇。
*8位PCM——在采樣頻率8kHz時,數(shù)據(jù)率為64Kbps。FM II用于雙通道樂器合成的頻率調(diào)制:
*可用軟件選擇8kHz或10kHz的語音采樣頻率;
*有不需要接任何外部元器件的內(nèi)部時鐘發(fā)生器;
*有數(shù)字音量控制。
MSP53C392引腳及定義如圖2所示.
2.2 硬件電路原理
主處理器利用檢測方式與合成器進(jìn)行通信,3根控制線,8根數(shù)據(jù)線。數(shù)據(jù)被寫入合成器中,合成器的狀態(tài)被讀回。下面以89C51實現(xiàn)控制為例,用89C51的P0口與MSP53C392的8位數(shù)據(jù)線相連,用P1口P1.0、P1.1和P1.2分別接MSP53C392的R/W、STROB和INIT端子。89C51與合成器的接線圖如圖3。
2.3 軟件控制
圖3
壓縮數(shù)據(jù)通過檢測的方法傳送MSP53C392和從其讀取數(shù)據(jù)。讀操作的步驟如下:①89C51使合成器的R/W為高電平。②使合成器的STROB的高電平,并且去讀回BUSY和EOS的狀態(tài)。(A,如果BUSY信號是高電平,則合成器不忙,準(zhǔn)備接受一次寫操作;否則,沒準(zhǔn)備好接受寫操作,繼續(xù)重復(fù)讀操作,直至BUSY為高電平。B,如果EOS信號是高電平,合成過程已經(jīng)到達(dá)語音數(shù)據(jù)流的結(jié)束碼,89C51停止傳送數(shù)據(jù),使合成器復(fù)位。)③89C51使合成器的STROB為高電平,寫操作的步驟如下:①89C51根據(jù)BUSY的狀態(tài)判別合成器是否已經(jīng)準(zhǔn)備好;②89C51使R/W變?yōu)榈?;?9C51向數(shù)據(jù)線發(fā)送數(shù)據(jù);④89C51給STROB發(fā)送一個上升沿,使數(shù)據(jù)鎖存在合成器輸入鎖存器中。
2.4 輸出電路
合成器有兩個D/A轉(zhuǎn)換輸出引腳DAC+和DAC-。其輸出有兩種方式:方式1,可以直接驅(qū)動32Ω的揚(yáng)聲器;方式2,驅(qū)動一個運(yùn)放,如圖4所示。虛線框內(nèi)為一級低通濾波器,100kΩ電位器用于音量調(diào)節(jié)。
3 軟件部分
(1)語音合成系統(tǒng)控制軟件
圖4
固化在單片機(jī)中的語音合成系統(tǒng)控制軟件主要功能是:對系統(tǒng)進(jìn)行初始化,檢測鍵盤,根據(jù)不同按鍵以決定讀取不同的語音段裝數(shù)據(jù),與語音合成器進(jìn)行通信,傳送語音數(shù)據(jù),完成語音合成器件的復(fù)位和其它控制,完成語音合成器件的復(fù)位和其它控制。89C51與MSP53C392之間數(shù)據(jù)交換程序流程如圖5所示。
(2)語音合成軟件
用于控制語音合成器分離語音參數(shù),譯碼、插值和D/A轉(zhuǎn)換的程序,無須編寫,已經(jīng)固化在合成器中的ROM中。
(3)數(shù)據(jù)的轉(zhuǎn)換和壓縮程序
由于合成器只能支持相應(yīng)的算法,所以對于已有的語音文件必須對之進(jìn)行處理。例如,采樣頻率為44.1kHz CD音質(zhì)的文件,WAV文件的語音文件進(jìn)行預(yù)處理。首先,對之實現(xiàn)重新抽樣的功能,例如,用COOL EDIT和GOLDWAVE這類程序就可以實現(xiàn)這樣的功能,通過GOLDWAVE軟件進(jìn)行低通濾波,使其頻率寬為4kHz或5kHz,然后以8kHz或10kHz的頻率重新抽樣;同時,對容量進(jìn)行調(diào)節(jié),以16位單聲道PCM的數(shù)據(jù)格式保存,其次,利用TI的SDS3000軟件把數(shù)據(jù)轉(zhuǎn)換成MELP或CELP格式,或WINSDS工具把數(shù)據(jù)轉(zhuǎn)換成LPC格式。
至于產(chǎn)生雙聲道立體聲音樂,可用MD2FM.EXE把MIDI(.mid)格式的轉(zhuǎn)換成FM格式。