freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的錄音與播放系統(tǒng)畢業(yè)論文(編輯修改稿)

2025-07-17 12:36 本頁面
 

【文章內(nèi)容簡介】 1為音頻質(zhì)量等級(jí)的編碼技術(shù)標(biāo)準(zhǔn)(頻響):表41中頻率范圍(Hz)采樣率(kHz)量化精度(位)電話話音200~3400 8 8 寬帶音頻(AM質(zhì)量) 50~7000 16 16 調(diào)頻廣播(FM質(zhì)量)20~15k 16 高質(zhì)量音頻(CD質(zhì)量) 20~20k 16 凌陽音頻壓縮算法處理的語音信號(hào)的范圍是200HZ-。表41音頻質(zhì)量等級(jí)的編碼技術(shù)標(biāo)準(zhǔn)(頻響)信號(hào)類型頻率范圍(Hz)采樣率(kHz)量化精度(位)電話話音200340088寬帶音頻(AM質(zhì)量)5070001616調(diào)頻廣播(FM質(zhì)量)2015K16高質(zhì)量音頻(CD質(zhì)量)2020K16 壓縮分類壓縮分無損壓縮和有損壓縮,無損壓縮一般指:磁盤文件,壓縮比低:2:1~4:1。而有損壓縮則是指:音/視頻文件,壓縮比可高達(dá):100:1。凌陽音頻壓縮算法根據(jù)不同的壓縮比分為以下幾種(具體可參見語音壓縮工具一節(jié)內(nèi)容):SACMA2000:壓縮比為8:1,8:,8:SACMS480:壓縮比為80:3,80:SACMS240:壓縮比為80: 凌陽常用的音頻形式和壓縮算法1)波形編碼:subband即SACMA2000特點(diǎn):高質(zhì)量、高碼率,適于高保真語音/音樂。2)參數(shù)編碼:聲碼器(vocoder)模型表達(dá),抽取參數(shù)與激勵(lì)信號(hào)進(jìn)行編碼。如:SACMS240特點(diǎn):壓縮比大,計(jì)算量大,音質(zhì)不高,廉價(jià)!3)混合編碼:CELP即SACMS480特點(diǎn):綜合參數(shù)和波形編碼之優(yōu)點(diǎn)。除此之外,還具有FM音樂合成方式即SACMMS01。 凌陽語音的播放、錄制、合成和辨識(shí)凌陽的SPCE061A是16位單片機(jī),具有DSP功能,有很強(qiáng)的信息處理能力,最高時(shí)鐘可達(dá)到49M,具備運(yùn)算速度高的優(yōu)勢等等,這些都無疑為語音的播放、錄放、合成及辨識(shí)提供了條件。凌陽壓縮算法中SACM_A2000、SACM_S480、SACM_S240主要是用來放音,可用于語音提示,而DVR則用來錄放音。對(duì)于音樂合成MS01,該算法較繁瑣,而且需要具備音樂理論、配器法及和聲學(xué)知識(shí),所以對(duì)于特別愛好者可以到我們的網(wǎng)站去了解相關(guān)內(nèi)容,這里只給出它的API函數(shù)介紹及程序代碼的范例,僅供參考。對(duì)于語音辨識(shí)主要有以下兩種:1)特定發(fā)音人識(shí)別SD(Speaker Dependent):是指語音樣板由單個(gè)人訓(xùn)練,也只能識(shí)別訓(xùn)練人的語音命令,而他人的命令識(shí)別率較低或幾乎不能識(shí)別。2)非特定發(fā)音人識(shí)別SI(Speaker Independent):是指語音樣板由不同年齡、不同性別、不同口音的人進(jìn)行訓(xùn)練,可以識(shí)別一群人的命令。語音識(shí)別電路基本結(jié)構(gòu)如圖41所示:濾除噪音預(yù)加重濾波器組PARCOR系數(shù)線性預(yù)測系數(shù)過零次數(shù)能量相關(guān)函數(shù)等模式匹配詞典語音分析語音識(shí)別結(jié)果輸出圖41識(shí)別電路結(jié)構(gòu) 語音錄入使用介紹SACMDVR具有錄音和放音功能,并采用SACM_A2000的算法,錄音時(shí)采用16K資料率及8K采樣率獲取語音資源,經(jīng)過SACM_A2000壓縮后存儲(chǔ)在擴(kuò)展的SRAM 628128A里,錄滿音后自動(dòng)開始放音。其相關(guān)API函數(shù)如下所示:int SACM_DVR_Initial(int Init_Index) //初始化 void SACM_DVR_ServiceLoop(void) //獲取資料,填入譯碼隊(duì)列 void SACM_DVR_Encode(void) //錄音 SACM_DVR_StopEncoder()。 //停止編碼 SACM_DVR_InitEncoder(RceMonitorOn) //初始化解碼器 void SACM_DVR_Stop(void) //停止錄音 void SACM_DVR_Play(void) //開始播放 unsigned int SACM_DVR _Status(void) //獲取SACM_DVR模塊的狀態(tài) void SACM_DVR _InitDecode(void) //開始譯碼 void SACM_DVR _Decode(void) //獲取語音資料并譯碼,中斷播放 SACM_DVR_StopDecoder()。 //停止解碼 unsigned int SACM_DVR _ TestQueue(void) //獲取語音隊(duì)列狀態(tài) int SACM_DVR _Fetchqueue(void) //獲取錄音編碼數(shù)據(jù) void SACM_DVR_FillQueue(unsigned int encodeddata) //填充資料到語音隊(duì)列,等待播放 int GetResource(long Address) ——(Manual) // 從資源文件里獲取一個(gè)字型語音資料 中斷服務(wù)函數(shù): Call F_FIQ_Service_ SACM_DVR //playing Call F_IRQ1_Service_ SACM_DVR //recode 具體函數(shù)如下: 1) 【API格式】C:void SACM_ DVR _Initial(int Init_Index) ASM:R1=[ Init_Index] Call F_ SACM_ DVR _Initial 【功能說明】SACM_ DVR語音播放之前的初始化:設(shè)置中斷源、定時(shí)器以及播放方式(自動(dòng)、手動(dòng)) 【參數(shù)】Init_Index=0 表示手動(dòng)方式;Init_Index=1 則表示自動(dòng)方式。 【返回值】無 【備注】 ① 對(duì)于SACM_DVR模塊,需要一些I/O口來連接外部的SRAM,用以存放錄音資料。 ② 錄放音的格式采用SACM_A2000。 2) 【API格式】C:void SACM_DVR_ServiceLoop(void) ASM:Call F_ SACM_DVR _ServiceLoop 【功能說明】在錄音期間從ADC通道獲取錄音資料,且將其以SACM_A2000格式進(jìn)行編碼后存入外接SRAM中;而在播放期間從SRAM中獲取語音資料,對(duì)其進(jìn)行解碼,然后等候中斷服務(wù)子程序?qū)⑵渌统鯠AC通道。 【參數(shù)】無。 【返回值】無。 3)【API格式】C:void SACM_DVR_Encode(void); ASM:Call F_ SACM_DVR_ Encode 【功能說明】開始以自動(dòng)方式錄制聲音資料到外接SRAM中。 【參數(shù)】無。 【返回值】無。 【備注】該函數(shù)僅適用于SACM_DVR模塊,且只有自動(dòng)方式。 4)【API格式】C:void SACM_DVR _Stop(void); ASM:Call F_ SACM_DVR _Stop 【功能說明】以自動(dòng)方式停止錄音。 【參數(shù)】無。 【返回值】無。 5)【API格式】 C:int SACM_DVR _Play(int Speech_Index, int Channel, int Ramp_Set); ASM:Call SACM_DVR _Play 【功能說明】以自動(dòng)方式播放外接SRAM中的錄音資料。 【參數(shù)】無 【返回值】無。 【備注】該函數(shù)僅使用于自動(dòng)方式下。 6)【API格式】C:unsigned int SACM_DVR _Status(void); ASM:Call F_ SACM_DVR _ Status [返回值]=R1 【功能說明】獲取SACM_DVR模塊的狀態(tài)。 【參數(shù)】無。 【返回值】當(dāng)R1中bit0=0,表示語音播放結(jié)束;bit0=1,表示語音在播放中。 SACM_DVR模塊的狀態(tài)返回值。 SACM_DVR狀態(tài)返回值 【備注】該函數(shù)僅使用于DVR的手動(dòng)方式下。 7)【API格式】C:void SACM_DVR_InitDecode(int Channel); ASM:Call F_SACM_DVR_Decode 【功能說明】開始對(duì)SACM_DVR語音資料以非自動(dòng)方式(編程控制)進(jìn)行譯碼。 【參數(shù)】Channel=1,2,3;分別表示使用DACDAC2信道以及DAC1和DAC2雙通道。 【返回值】無。 【備注】用戶只能通過非自動(dòng)方式對(duì)語音資料解壓縮。 8)【API格式】C:void SACM_DVR_Decode(void); ASM:Call F_ SACM_DVR_Decode 【功能說明】從語音隊(duì)列里獲取的SACM_DVR語音資料,并進(jìn)行譯碼,然后通過中斷服務(wù)子程序?qū)⑵渌腿隓AC通道播放。 【參數(shù)】無。 【返回值】無。 【備注】用戶僅能通過非自動(dòng)方式對(duì)語音資料進(jìn)行譯碼。 9) 【API格式】C:unsigned int SACM_DVR_TestQueue(void); ASM:Call F_SACM_DVR_TestQueue [返回值]=R1 【功能說明】獲取語音隊(duì)列的狀態(tài)。 【參數(shù)】無。 【返回值】R1=0,語音隊(duì)列不空不滿 =1,語音隊(duì)列滿 =2;語音隊(duì)列空。 【備注】用戶僅能通過非自動(dòng)方式測試語音隊(duì)列狀態(tài)。10) 【API格式】C:int SACM_DVR _FetchQueue(void); ASM:Call F_SACM_DVR _FetchQueue [Return_Value]=R1 【功能說明】獲取錄音編碼(SACM_A2000)數(shù)據(jù)。 【參數(shù)】無。 【返回值】16位錄音資料。 【備注】 ① 采用SACM_A2000編碼格式編碼 ② 僅用于非自動(dòng)方式下 程序11 外擴(kuò)SRAM需要SRAM寫初始化(InitWriteSRAM),及寫(WriteSRAM) 子函數(shù)。 SACM_DVR_Initial(Manual)。 Addr=0。 InitWriteSRAM()。 //用戶需外接SRAM SACM_DVR_InitEncoder()。 while(AddrSRAM_Size) { SACM_DVR_Encode()。 //獲取數(shù)據(jù)并譯碼 If(SACM_DVR_TestQueue()!=Empty) //若隊(duì)列不空,則存儲(chǔ)資料 { ret=SACM_DVR_FetchQueue()。 //從隊(duì)列中得到資料 writeSRAM(Addr,ret)。 //存入用戶存儲(chǔ)區(qū) Addr+=2。 //兩個(gè)8位SRAM存儲(chǔ)一個(gè)16位資料 } } 11)【API格式】C:void SACM_DVR _FillQueue(unsigned int encodeddata); ASM:R1=[語音編碼資料] Call F_ SACM_DVR _FillQueue\ 功能說明】填充SACM_A2000語音資料到DVR譯碼器等待播放 【參數(shù)】encodeddata為語音編碼資料。 【返回值】無。 【備注】 ① 語音資料格式為SACM_A2000編碼格式。 ② 從語音隊(duì)列里至少每48ms獲取48個(gè)字資料(16K資料采樣率)。 ③ 僅用于非自動(dòng)方式下。 12)【API格式】C:int GetResource(long Address); 【功能說明】從資源文件里獲取一個(gè)字型語音資料。 【參數(shù)】無。 【返回值】一個(gè)字型語音資料。 13)【API格式】ASM:Call F_FIQ_Service_ SACM_DVR ASM:Call F_IRQ1_Service_SACM_DVR 【功能說明】用作SACM_DVR語音背景程序的中斷服務(wù)子程序。通過前臺(tái)子程序(自動(dòng)方式的SACM_DVR _ServiceLoop 及手動(dòng)方式的SACM_DVR _Decode)對(duì)語音資料進(jìn)行譯碼,然后將其送入DAC通道播放。即FIQ中斷服務(wù)子程序用于聲音播放的背景程序;而IRQ1中斷服務(wù)子程序則用于聲音錄制的背景程序。 【參數(shù)】無。 【返回值】無。 【備注】SACM_DVR語音背景子程序只有匯編指令形式,且應(yīng)將此子程序安置在TMA_FIQ中斷源上。額外的中斷服務(wù)子程序安置在IRQ1_TMA中斷源上。 W29C040與SPCE061A的系統(tǒng)軟件設(shè)計(jì) 本系統(tǒng)軟件實(shí)際流程圖實(shí)際流程圖如圖42圖42 實(shí)際流程圖本軟件系統(tǒng)設(shè)計(jì)簡單。主要是因?yàn)榱桕柕氖粏纹瑱C(jī)開發(fā)環(huán)境使用方便,并支持C語言與匯編語言的互相調(diào)用,且提供豐富的凌陽語音函數(shù)庫,只要我們了解這些函數(shù)的使用方法,我們就可以很容易的實(shí)現(xiàn)語音的錄放。例如本系統(tǒng)的語音錄入和播放代碼如下: 語音的錄入:SP_InitW29C040Flash()。 SACM_DVR_Initial(Manual)。 SACM_DVR_InitEncoder(RceMonitorOn)。 if (SACM_DVR_TestQueue()!= Empty) { page_buf[n] =SACM_DVR_FetchQueue( )。 many_data_write(M_AddrH,M_AddrL,page_buf,n)。 } //手動(dòng)方式初始化//語音數(shù)據(jù)非自動(dòng)方式編碼//取出語音編碼數(shù)據(jù)//寫存儲(chǔ)器語音的播放: SP_InitReadW29C040Flash()。 SACM_DVR_InitDecoder(DAC1+DAC2)。 if(SACM_DVR_TestQueue()!=Full){ Ret = SP_Read_Data(M_AddrH,M_AddrL++)。 SACM_DVR_FillQueue(Ret)。 SACM_DVR_Decode ()。
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1