版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、凌陽音頻,用61板如何實(shí)現(xiàn)語音播放,語音壓縮工具的使用,結(jié)合流程舉例介紹,如何實(shí)現(xiàn)語音的播放?,語音壓縮編碼基礎(chǔ),壓縮編碼的目的: 通過對資料的壓縮,達(dá)到高效率存儲和轉(zhuǎn)換資料的結(jié)果,即在保證一定聲音質(zhì)量的條件下,以最小的資料率來表達(dá)和傳送聲音信息。 壓縮編碼的必要性: 實(shí)際應(yīng)用中,未經(jīng)壓縮編碼的音頻資料量很大,進(jìn)行傳輸或存儲是不現(xiàn)實(shí)的。 所以要通過對信號趨勢的預(yù)測和冗余信息處理,進(jìn)行資料的壓縮,這樣就可以使我們
2、用較少的資源建立更多的信息。,1、SACM_A2000此格式的音頻文件壓縮后的編碼率有16Kbit/s20Kbit/s、24Kbit/s三種由此可以計算出,如果采用16Kbit/s編碼率播放一分鐘的語音所占用的存儲器空間為:16Kbit/s *60s = 960Kbit =120Kbyte = 60Kword,凌陽音頻壓縮編碼,SACM_A2000語音壓縮比為8:1,8:1.25, 8:1.5 由此可以計算出,如果采用
3、8Kbyte的wave文件,經(jīng)過SACM_A2000壓縮后,語音文件只有1Kbyte的大小。 由于SACM_A2000壓縮比較小,對音質(zhì)的影響也較小,因此較適合音樂播放。,凌陽音頻壓縮編碼,2、SACM_S480此格式的音頻文件壓縮后的編碼率有4.8Kbit/s、7.2 Kbit/s兩種。由此可以計算出,如果采用4.8Kbit /s編碼率播放一分鐘的語音所占用的存儲器空間為:4.8Kbit /s *60s = 288Kbi
4、t =36Kbyte = 18Kword,凌陽音頻壓縮編碼,SACM_S480語音壓縮比為80:3,80:4. 5, 由此可以計算出,如果采用80Kbyte的wave文件,經(jīng)過SACM_S480壓縮后,語音文件只有3Kbyte的大小。 由于SACM_ S480壓縮比較大,對語音的音質(zhì)影響也較大,因此較適合語音播放。,凌陽音頻壓縮編碼,3、SACM_S240此格式的音頻文件壓縮后的編碼率為2.4Kbit/s、由此可以計
5、算出,如果采用2.4Kbit /s編碼率播放一分鐘的語音所占用的存儲器空間為:2.4Kbit /s *60s = 144Kbit =18Kbyte = 9Kword,凌陽音頻壓縮編碼,SACM_S240語音壓縮比為80:1.5 由此可以計算出,如果采用80Kbyte的wave文件,經(jīng)過SACM_S240壓縮后,語音文件只有1.5Kbyte的大小。 由于SACM_ S240壓縮比較大,因此較適合語音音質(zhì)要求不高時使用。如電
6、子辭典等。,凌陽音頻壓縮編碼,凌陽音頻播放過程,,,,,第一步:Wave格式語音文件因?yàn)檎Z音壓縮工具(后面有介紹)只支持對Wave文件的壓縮,因此語音播放源文件,需要為Wave文件。如果用戶播放的語音需要自己錄制時,注意錄制屬性設(shè)置,最好選擇為8Khz, 16位,單聲道。,凌陽音頻播放過程,第一步:Wave格式語音文件 如果用戶播放的語音采用已有的語音文件,也要注意語音文件的屬性,最好選擇為8Khz, 16位,單聲道的語音文
7、件。 提示:凌陽大學(xué)計劃網(wǎng)站下載專區(qū)中, 提供“語音素材大全”。,凌陽音頻播放過程,,第二步:語音壓縮 此過程主要是將Wave文件轉(zhuǎn)成凌陽音頻格式文件。 凌陽大學(xué)計劃網(wǎng)站下載專區(qū)提供“語音壓縮工具”。 開發(fā)板或者實(shí)驗(yàn)箱配送的光盤中也包含“語音壓縮工具”。,凌陽音頻播放過程,語音壓縮工具的使用,壓縮工具主界面,用戶可以選擇壓縮多個文件和單個文件,默認(rèn)是單個文件,壓縮工具使用,通過瀏覽按鈕
8、選擇壓縮的Wave文件,點(diǎn)擊下一步,壓縮工具使用,,壓縮后生成文件存儲路徑,,選擇壓縮算法,選擇該算法編碼率,,選擇結(jié)束后,點(diǎn)擊“壓縮” 。壓縮結(jié)束后,點(diǎn)擊“下一步”,壓縮工具使用,,壓縮前文件名稱、大小和屬性,壓縮后文 件名稱、大小和壓縮算法,,雙擊壓縮前后的文件名稱會有該文件的聲音播放,用戶對比壓縮前后語音音質(zhì)的變化。,第三步:語音播放第三步是SPCE061A通過編程來實(shí)現(xiàn)的。 下面結(jié)合舉例介紹,凌陽音頻
9、播放過程,結(jié)合流程舉例介紹,了解凌陽音頻庫函數(shù):【API格式】 C:void SACM_A2000_Initial(int Init_Index) ASM:R1=[ Init_Index] Call F_ SACM_A2000_Initial【功能說明】SACM_A2000語音播放之前的初始化?!緟?數(shù)】Init_Index=0 表示手動方式;Init_Index=1 則表
10、示自動方式。 【返 回 值】無【備 注】該函數(shù)用于對定時器、中斷和DAC等的初始化。,,采用SACM_A2000播放語音,了解凌陽音頻庫函數(shù): 【API格式】C:void SACM_A2000_ServiceLoop(void)ASM:Call F_ SACM_A2000 _ServiceLoop 【功能說明】從資源中獲取SACM_A2000語音資料,并將其填入譯碼隊列中。 【參 數(shù)】 無
11、。 【返 回 值】無。,采用SACM_A2000播放語音,了解凌陽音頻庫函數(shù): 3) 【API格式】 C:void SACM_A2000_Play(int Speech_Index, int Channel, int Ramp_Set); ASM:R1=[ Speech _Index] R2=[ Channel] R3=[ Ramp_Set]
12、 Call SACM_A2000_Play 【功能說明】播放資源中SACM_A2000語音或樂曲。,采用SACM_A2000播放語音,【參數(shù)】 Speech _Index: 表示語音索引號。 Channel: 1.通過DAC1通道播放; 2.通過DAC2通道播放;
13、3.通過DAC1和DAC2雙通道播放。Ramp_Set: 0.禁止音量增/減調(diào)節(jié); 1.僅允許音量增調(diào)節(jié); 2.僅允許音量減調(diào)節(jié); 3.允許音量增/減調(diào)節(jié)。【返 回 值】無。,了解凌陽音頻庫函數(shù):【API格式】 ASM: F_FIQ_Service_ SACM_A20
14、00 Call F_FIQ_Service_ SACM_A2000 【功能說明】SACM_A2000語音播放。【參 數(shù)】 無【返 回 值】無【備 注】中斷服務(wù)子程序F_FIQ_Service_ SACM_A2000 必須安置在TMA_FIQ中斷向量上,采用SACM_A2000播放語音,程序流程圖:,,采用SACM_A2000播放語音,編寫代碼:第一步: 新建項目文件,
15、項目文件名稱為SACM2000,如果不知新建項目方法的用戶,請參考“如何進(jìn)行產(chǎn)品開發(fā)”部分介紹,采用SACM_A2000播放語音,編寫代碼:第二步: 新建C文件,文件名稱為main,采用SACM_A2000播放語音,編寫代碼:第三步: 編寫主函數(shù)代碼#include “A2000.h” //包含用A2000函數(shù)的頭文件main () {SACM_A2000_Initial(1);
16、 //采用A2000語音播放初始化 SACM_A2000_Play(0, 3, 3); //播放音樂while(SACM_A2000_Status()&0x01) //判斷音樂是否播放結(jié)束{SACM_A2000_ServiceLoop(); //取語音壓縮碼并解壓縮填充隊列F_ClearWatchdog(); //清看門狗,防止看門狗復(fù)
17、位}},采用SACM_A2000播放語音,編寫代碼:第三步: 編寫主函數(shù)代碼,編輯器界面,采用SACM_A2000播放語音,編寫代碼:第四步: 新建匯編文件,匯編文件名稱為isr,采用SACM_A2000播放語音,編寫代碼:第四步:開始編寫匯編代碼.text.include hardware.inc // 包含SPCE061A硬件聲明頭文件.include A2000.inc //包含用A2000
18、函數(shù)的頭文件.public _FIQ; //聲明中斷入口函數(shù)_FIQ:PUSH R1,R4 to [sp]; //寄存器入棧 R1 = 0x2000;test R1,[P_INT_Ctrl]; //判斷是否是定時器A中斷jnz L_FIQ_TimerA;R1 = 0x0800;test R1,[P_INT_Ctrl]; //判斷是否是定時器B中斷jnz L_FIQ_T
19、imerB;L_FIQ_PWM:R1 = C_FIQ_PWM; //進(jìn)入PWM中斷[P_INT_Clear] = R1; //清除PWM中斷標(biāo)志POP R1,R4 from[sp]; //出?;謴?fù)RETI,采用SACM_A2000播放語音,編寫代碼:第四步:開始編寫匯編代碼,L_FIQ_TimerA: //進(jìn)入定時器A中斷[P_INT_Clear] = R1;
20、 //清除定時器A中斷標(biāo)志call F_FIQ_Service_SACM_A2000; // 將語音送到DAC通道pop R1,R4 from [sp]; //出?;謴?fù)RETI; //中斷返回L_FIQ_TimerB: //進(jìn)入定時器B中斷[P_INT_Clear] = R1; //清除定時器B中斷標(biāo)志pop R1,R4 from [sp];
21、 //出?;謴?fù)RETI; //中斷返回,采用SACM_A2000播放語音,編寫代碼:第四步:編寫匯編代碼,編輯器界面,采用SACM_A2000播放語音,添加語音資源文件(即通過壓縮工具壓縮后的文件):,第一步:點(diǎn)擊Watch窗口(圖1)的頁簽ResourceView,進(jìn)入 ResourceView窗口(圖2),圖1,圖2,,采用SACM_A2000播放語音,添加語音資源文件(即通過壓縮工具
22、壓縮后的文件):,第二步:點(diǎn)擊“SACM2000 resource”,右擊鼠標(biāo),會彈出下拉菜單,選擇“Add Files to Folder”,采用SACM_A2000播放語音,添加語音資源文件(即通過壓縮工具壓縮后的文件):,第三步:彈出窗口,選擇壓縮后的語音文件。,選擇語音文件后,點(diǎn)擊“打開”,則語音文件添加到資源文件中,采用SACM_A2000播放語音,添加hardware.asm文件: 方法:在FileView窗口中,點(diǎn)擊
23、Source Files右擊,選擇添加文件,會彈出添加文件窗口。Hardware.asm在IDE182/inlcude文件夾中。打開。,采用SACM_A2000播放語音,拷貝庫文件和頭文件到a2000項目文件中: 代碼中用到庫文件為sacmV25.lib。 庫文件所在地路徑為: IDE182/library 代碼中用到的頭文件:a2000.h;a2000.inc, hardware.in
24、c 頭文件所在路徑為: IDE182/include,采用SACM_A2000播放語音,連接庫文件:方法:點(diǎn)擊 Project/setting/link,采用SACM_A2000播放語音,連接庫文件:方法:點(diǎn)擊library modules 的瀏覽按鈕,到SACM2000項目文件路徑下,找到SACMV25.lib.打開。,點(diǎn)擊OK,連接庫結(jié)束,采用SACM_A2000播放語音,編譯:,輸出窗口會有錯誤提示,缺少A2000
25、SPEECH表,采用SACM_A2000播放語音,添加SPEECH表方法: 雙擊resource.asm文件,會彈出該文件窗口,采用SACM_A2000播放語音,添加SPEECH表方法: 雙擊resource.asm文件,會彈出該文件窗口,在“end table”后添加: .public T_SACM_A2000_SpeechTable T_SACM_A2000_SpeechTable: .dw _R
26、ES_CC_24K_SA //0注釋:1、 _RES_CC_24K_SA,是用戶添加的資源文件,在resource.asm文件中已經(jīng)有聲明。 2、//0; 0表示的是Speech_Index.如果表中添加其他資源文件地址聲明,順序向上累加,1、2、。。。。,采用SACM_A2000播放語音,編譯:,編譯通過。,采用SACM_A2000播放語音,下載: 選擇probe。方法:點(diǎn)擊工具欄中的 會彈出對話
27、框,根據(jù)實(shí)際情況,如果使用的是 EZ probe則選擇 EZ probe,采用SACM_A2000播放語音,下載: 61板硬件連接,參考61板自檢部分介紹,點(diǎn)擊工具欄中的 程序被下載到SPCE061A中。,點(diǎn)擊工具欄中的 喇叭會有聲音,就是你壓縮的語音文件或者你自己錄制的聲音。,采用SACM_A2000播放語音,利用SPCE061A播放語音介紹完了,同學(xué),您學(xué)會了嗎?,如果有什么問題,歡迎到網(wǎng)站技術(shù)論
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論