一半因為工作原因,一半因為個人興趣,zhanzr21隔三岔五地要跟音頻處理打交道.音頻處理尤其是嵌入式系統(tǒng)上的音頻處理在很長一段時間曾是作者工作中最有壓力的一部分.原因在于其對于非計算機(jī)非數(shù)學(xué)專業(yè)經(jīng)歷的工程師來講, 涉及理論知識面廣(比如壓縮算法非常繁多),而實踐中遇到問題非常難以調(diào)試.

所謂久病成醫(yī),在長期戰(zhàn)斗中作者也算是總結(jié)了一定的心得.于是想試著寫一點出來,在21ic以系列文章的形式和大家討論一下嵌入式系統(tǒng)的音頻處理這個話題.

曾幾何時, 數(shù)字音頻處理一度是一般嵌入式系統(tǒng)高攀不起的應(yīng)用. 但是隨著硬件成本的下降與處理能力/容量的上升, 數(shù)字音頻處理已經(jīng)漸漸地成為了嵌入式系統(tǒng)的日常任務(wù). 本文的目的是介紹與討論如何在一般的嵌入式系統(tǒng)上進(jìn)行數(shù)字音頻處理. 專業(yè)的音頻DSP,ASIC當(dāng)然還是站在發(fā)展的前沿, 但是讀完本系列的讀者將會發(fā)現(xiàn), 它們和一般嵌入式音頻處理系統(tǒng)區(qū)別并不大。

Every board can sing

第一次來的,請先看這里:每個板子都能歌唱:嵌入式系統(tǒng)與音頻處理(緣起)
查看更多

實驗軟件/SoftWear

推薦硬件/HardWear

  • 此板子官方編號為MB1225與MB1166(顯示板).因為強(qiáng)悍的處理性能加上豐富的接口,此板子在作者進(jìn)行音頻研究中是最得心應(yīng)手的板子.實際上很多實驗都是先在這板子上跑通再移植到其他板子上的.此板子后續(xù)還將做的實驗有:NES音頻模擬,高清的AAC解碼,高清的Opus解碼,PDM信號處理,SPDIF信號收發(fā),Shoutcast播放等等等。

  • Nucleo板子作者也很多塊,最低有Cortex M0系列的,高的有Cortex M7系列的.這個系列的板子其實都用的非常類似的布局.特點是外設(shè)不多,但接口引出較完全,定制的余地也更大.比如Nucelo 144的板子的編號都為MB1137.作者所做的實驗也有不少在這系列板子上進(jìn)行,主要是利用其接口引出來方便的緣故.可以稱得上ST版本的Arduino板子。

  • 這板子看了很多人會搖頭,啥啊? 實際情況這是一款汽車控制器的開發(fā)板子,英飛凌的Tricore系列.不屬于常見的通用微控制器,因為增加了特殊的安全方面的設(shè)計.但是事實上經(jīng)過實驗證明也能當(dāng)播放器用.雖然性能跟Cortex的中高端處理器差一些,但價格很貴,這版上的主芯片的價格就是我上面買的Orange Pi Zero加上擴(kuò)展板的幾倍.還是一句話,作者的原意就是DIY,準(zhǔn)備將此板子打造成一個MP3播放器。

  • F105音頻板
  • 濾波板
  • 錄音板
  • 音頻放大板
  • 音頻放大板AMP TEST V1放大板子作用顧名思義是對音頻信號放大,主要用于外接喇叭,按道理跟數(shù)字音頻處理沒有很大關(guān)系。但是為了娛樂性,作者買了幾個放大板,也做了幾個放大板子.許多實驗也是配合放大板子進(jìn)行的。

  • 濾波板LPF TEST V1主要用于PWM播放后面濾波,這板子作者也做了一塊。

  • 錄音板MIC TEST V1想做兩種錄音板子,一種是MEMS的Mic,一種是傳統(tǒng)的駐極體式的。但是MEMS Mic因為采購上的麻煩現(xiàn)在還沒有做.后面再想想辦法。

  • 音頻放大板AMP TEST V1放大板子作用顧名思義是對音頻信號放大,主要用于外接喇叭。按道理跟數(shù)字音頻處理沒有很大關(guān)系。但是為了娛樂性,作者買了幾個放大板,也做了幾個放大板子,許多實驗也是配合放大板子進(jìn)行的。