一種基于FPGA的語(yǔ)音錄制與回放系統的設計
1.3語(yǔ)音采集模塊
語(yǔ)音采集單元頂層綜合模塊如圖4所示。系統通過(guò)語(yǔ)音采集模塊將語(yǔ)音芯片采集的聲音數據串/并轉換為16位PCM碼,聲音數據傳送至S-RAM存儲器內保存,這里設置了4s錄音時(shí)間,用戶(hù)1次輸入3個(gè)孤立詞(如數字),4×8KB=32KB,考慮到32KB的原始數據需要預處理、FIR濾波和歸一化。斷點(diǎn)檢測,所有處理后的數據仍然存入后續的SRAM地址中。檢測出的孤立詞分別存入獨立首地址后面。
1.4語(yǔ)音采集實(shí)時(shí)采樣
鎖相環(huán)PLL給予WM8731工作在18.4MHz時(shí)鐘頻率下,通過(guò)I2C總線(xiàn)控制器設置WM8731工作在8kHz的采樣頻率下。圖5為在嵌入式邏輯分析儀(SignalTapⅡLogicAnalyzer)下語(yǔ)音采集控制器的采樣圖。
圖5為實(shí)時(shí)采集圖,測試人現場(chǎng)讀入語(yǔ)音數據,模塊實(shí)時(shí)進(jìn)行語(yǔ)音采集回放。從圖中可見(jiàn),左對齊語(yǔ)音采集過(guò)程一共有19個(gè)脈沖,其中前16個(gè)脈沖為有效語(yǔ)音數據提取脈沖,后3個(gè)脈沖為將來(lái)處理擴展預留。有效語(yǔ)音提取出來(lái)之后便存人SRAM中。該模塊通過(guò)計數器,從啟動(dòng)錄音開(kāi)始,自動(dòng)錄制4s的語(yǔ)音信號。
2語(yǔ)音錄制回放仿真
經(jīng)WM8731采集的語(yǔ)音信號轉換并存儲于SRAM,然后用SRAM中的數據將SRAM的語(yǔ)音數據導出,圖6為語(yǔ)音采集模塊處理后作者錄入的數字符號“1234”效果圖。
圖6是通過(guò)DE2控制面板軟件讀取SRAM前256KB數據(地址:O~0x1FFFF)在Matlab軟件上畫(huà)出來(lái)的圖形,同時(shí)為了對比,通過(guò)Matlab自帶的[y,fs,bits]=wavread(‘Blip’,[N1N2]),進(jìn)行同樣話(huà)語(yǔ)的錄制,用sound(x,fs,bits)對聲音進(jìn)行回放,仿真結果見(jiàn)圖6、圖7。從仿真圖可看出,以Matlab平臺為標準,FPGA實(shí)時(shí)采集與現實(shí)吻合。
3結語(yǔ)
該系統充分利用了FPGA的高速處理能力,自行設計采集模塊和I2C協(xié)議驅動(dòng)模塊,并通過(guò)AWALON總線(xiàn)掛載在Nios軟核上,很好地實(shí)現了實(shí)時(shí)高速采集回放,充分體現了FPGA的優(yōu)越性能。同時(shí)結合SoPC設計理念,使系統一片式整合。
評論