關鍵詞: 語音錄放;采樣變換;語音芯片
Winbond公司的ISD系列語音芯片因為采用了獨特的模擬數據直接存儲技術,使其聲音存貯效果較以前產品有大幅提高,實際試聽主觀評價可以達到磁帶錄音機的水平,是目前市場上錄放效果最好的語音電路之一。
我們在開發產品“多功能英語語音示教儀”時,需要做大容量的語音存儲重放。產品要求除了能夠存儲全部的英語音標、字母外,還要存儲所有初中英語課本中的英語單詞、詞組,經過計算,所有的語音錄音時間加起來,約有10多分鐘,我們選擇的ISD4004系列芯片有4個型號,分別可以存儲不同時長的聲音,如表1所示。
ISD各個型號的內存容量是一樣的,但是聲音采樣頻率不一樣,因此錄放的時間也不一樣。雖然其中有10分鐘和12分鐘的型號,因為其采樣頻率低,會造成錄音內容損失更多的高頻信息。經過對比試聽,發現如果用8kHz的采樣頻率,可以比較好的完成語音的重播,達到語音教學的目的,而如果用6.4kHz或以下的采樣頻率,語音中的高頻部分會有較多的損失,采樣頻率越低,損失越大,當采樣頻率降低到5.3kHz左右時,如果是單詞、詞組等,仍然可以很容易分辨,但如果是重放發音相近的字母、音標,比如b和d、[z]和[s]時,則很難分辨,達不到教學的要求。
為了達到存儲全部語音信息,有三個解決方案可供選擇,第一是用一片ISD4004-08M,再增加一片小容量的語音芯片(8kHz采樣率),這樣音質最好,但是成本高。第二是用一片小容量的ISD芯片(8kHz采樣頻率),再配合一片ISD4004-10M,這樣音質要求高的字母音標存于8kHz采樣率芯片中,而對音質要求較低的單詞、詞組等則存于低采樣率芯片中,這個方案成本稍低一些,但是仍然要用兩片芯片,成本上仍不理想。第三種方案是使用一片ISD4004芯片,對片內的不同錄音段分別使用不同的采樣率,這個方案因為只需要使用一片芯片而成本最低,但是因為不同于其典型的應用,沒有相關應用實例可以參考,因此其效果需要經過試驗驗證。
表1 ISD語音芯片
圖1 ISD芯片的內部結構
圖2 雙頻振蕩和切換電路
ISD4004系列芯片的內部結構如圖1所示。
ISD系列芯片均有一個外部時鐘輸入引腳XCLK,如果該引腳接地,則芯片使用在出廠時已經設定的內部時鐘。如果對該引腳輸入一時鐘信號,則芯片內的采樣頻率就由外部時鐘頻率來決定,根據其資料顯示,當外部時鐘頻率為1024kHz時,內部聲音的采樣頻率是8kHz。
查閱ISD4004的數據手冊,其中并無關于改變時鐘頻率應用的說明,相反倒是有不能改變時鐘頻率的提示,原因是芯片內的抗混疊(antialias)電路和輸出濾波電路均已經是固定的,改變采樣頻率,會影響這兩個電路正常發揮作用。
但是在我們的應用中是降頻使用,采樣頻率降低,相當于抗混疊電路和輸出濾波器的設定頻率偏高,這樣應該不會對還原質量造成影響,有可能使信噪比下降,但如果頻率改變不大,信噪比下降將會很有限。
為了驗證我們的推論,進行了兩個測試,一個是降頻使用的測試,一個是分段降頻的測試,即在同一片中分別使用兩種不同的時鐘頻率的測試。
首先,在測試前,需要對ISD芯片編程器進行一些改造,我們將ISD4004的時鐘輸入XCLK引腳斷開,接入可調頻率發生器,測試芯片在不同時鐘頻率下的工作情況。我們用一片ISD4004-8M(內部頻率1024kHz),在錄音和重放時分別將外部頻率調整到682kHz和512kHz,與ISD4004-12M和ISD4004-16M相比較。經比較發現,ISD4004-8M在682kHz時,與ISD4004-12M在錄放效果上,基本上沒有可察覺的差別;在512kHz時,與ISD4004-16M相比,除感覺聲音略微有些“發毛”外,也沒有明顯的差別,這就證明,ISD芯片可以適當降低頻率使用,以獲得更長的錄放時間,適合在對語音質量要求不是很高,以及頻率降低的范圍不很大的應用中。
第二步,測試在同一芯片內使用不同的時鐘頻率,具體測試方法是,使用ISD4004-8M芯片,前半段錄音使用1024kHz的時鐘頻率,然后調低到682kHz,再繼續錄音;重放時,前半段使用1024kHz的頻率,后半段使用682kHz的頻率。測試結果證明,這樣的做法是可行的。
變頻使用ISD芯片時,有三個問題是在定頻使用時不會遇到的,一個是芯片的變頻錄制,第二是變頻芯片的復制,第三個是重放時的頻率控制。
對于第一個問題,因為我們的產品中語音數據的存放比較有規律,音標、字母、單詞、詞組順序存放,也就是說采用1024kHz高頻率的數據均在前半段,而后半段均采用低頻率。低頻率段的具體頻率,應根據具體需要的錄音時間長短來決定,頻率越低,錄音時間越長,但是相應的錄音質量越低,因此應該采用盡可能高的頻率。經過測算,如果采用750kHz左右的頻率,剛好可以把所有的內容錄完。
錄制完一個母片,其余生產用的芯片均可以由這個母片復制產生。不過,對于改變采樣頻率使用的芯片,必須按照低一檔次的芯片進行設置。我們低頻段使用的是750kHz,這樣應該按照系統頻率是682.7kHz的ISD4004-12M設置。因為對后半段語音信號來說,如果使用更高的頻率來重放,必然會引起音調的升高,但是因為ISD4004-8M芯片內部的濾波器已經固定在了3.4kHz,這樣就可能引起語音中高頻部分的損失;而如果設成更低的系統頻率,雖然音調降低,但因為ISD芯片具有良好的低頻響應,因此在復制出的芯片重新以原頻率放音時,不會有聲音質量的損失。
為了在系統中重放時能夠隨時改變ISD芯片的時鐘頻率,我們采用了如圖2的電路。
電路中,MCU端接單片機控制輸出,XCLK接ISD芯片時鐘輸入。當模擬開關關閉時,振蕩電路以較低的頻率(約750kHz)振蕩,當模擬開關接通時,等效電阻減小,振蕩電路頻率升高(約1024kHz)。。
經過實際應用,證明ISD芯片的變頻使用的方案是可行的,達到了預期的目的。
- 語音芯片(35485)
相關推薦
評論
查看更多