基于DSP的吉他音效器的設(shè)計與實現(xiàn)
摘要:為使吉他在非聲學(xué)標(biāo)準(zhǔn)建筑內(nèi)達(dá)到較為完美的音質(zhì)和效果而設(shè)計一套基于數(shù)字信號處理器(Digital Signal Processer, DSP)的音效器。使用拾音器獲取吉他模擬音頻信號,經(jīng)轉(zhuǎn)換芯片成為數(shù)字信號后分幀輸入到DSP芯片的多通道緩沖同步串口,使用芯片完成最后音頻信號的數(shù)模轉(zhuǎn)換并輸出到音響。軟件方面主要使用內(nèi)存中定義的環(huán)形緩沖區(qū)從而以DSP的零消耗循環(huán)控制實現(xiàn)高效的延時,并使用嵌套的全通濾波器實現(xiàn)較好的混響功能。使用音頻硬件測試軟件RMAA(Right Mark Audio Analyzer)的測試結(jié)果表明,該吉他音效器的頻率響應(yīng)、動態(tài)范圍、本底噪聲和互調(diào)失真等指標(biāo)達(dá)到了設(shè)計要求,具有一定的推廣和應(yīng)用價值。
本文引用地址:http://www.ex-cimer.com/article/280693.htm引言
指彈吉他是一種吉他加花的演奏方式,是音樂界極為新興的項目,這種彈奏方法與古典吉他的不同之處在于可廣泛使用多種拍擊、調(diào)弦法,不受手法限制,一把吉他可彈奏出任何美妙音樂,因此更注重彈奏音效,在很多場合需要音效器的輔助。目前國內(nèi)市場的音效器多為日韓等國外國家壟斷,價格昂貴[1],因而為滿足市場需求,設(shè)計出一款具有較好效果的指彈吉他音效器,采用數(shù)字音頻信號處理技術(shù)提升指彈吉他的音效,以達(dá)到預(yù)期的商業(yè)推廣目的。
1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)的輸入信號通過吉他識音器獲取[2],為增強產(chǎn)品普及性,采用免開孔的拾音器,輸出為150mV的單聲道模擬音頻信號,經(jīng)高速模數(shù)轉(zhuǎn)換成數(shù)字信號,分幀存入到緩沖區(qū)RAM中,其后的高速數(shù)字信號處理在TI的DSP芯片TMS320C6713上進(jìn)行,相關(guān)算法在內(nèi)部存儲區(qū)中進(jìn)行運算處理,數(shù)字信號經(jīng)處理后再經(jīng)高速高精度數(shù)模轉(zhuǎn)換成聲音信號,經(jīng)功放后輸出。為了實現(xiàn)數(shù)字信號的快速運算,使用了TMS320C6713特有的增強型直接存儲器訪問(Enhanced Direct Memory Access, EDMA)[3]聯(lián)合RAM的方式進(jìn)行流水線[4]處理,即各模塊同時工作,部分音頻信號進(jìn)行模數(shù)轉(zhuǎn)換,部分轉(zhuǎn)換后的信號在TMS320C6713中進(jìn)行處理,部分處理后的信號進(jìn)行數(shù)模轉(zhuǎn)換,從而保證音效的實時快速處理。
2 硬件結(jié)構(gòu)設(shè)計
音效器硬件選用TMS320C6713芯片,模數(shù)轉(zhuǎn)換芯片選擇PCM1804,數(shù)模轉(zhuǎn)換芯片選擇PCM1730。
2.1 電源設(shè)計
以9V直流電壓作為電源模塊的輸入,經(jīng)7805三端穩(wěn)壓集成電路后輸出的5V電流對TPS767D318芯片供電,分別輸出3.3V和1.8V對TMS320C6713和PCM1804、PCM1730供電。為器件安全考慮,設(shè)置輸出的最大電流為1A,并具有過熱保護(hù)的功能同時為避免模擬5V電路和模塊中的數(shù)字電路的相互干擾,引入隔離磁珠[5]用以模數(shù)隔離。
2.2 核心電路
本項目的音效器選擇TMS320C6713芯片的主要原因在于,這是一款高速浮點DSP芯片,最大時鐘頻率達(dá)到225MHz兆赫茲,外部存儲器接口為32位,能訪問最高達(dá)512M字節(jié)的外部存儲空間,完成與同/異步存儲器的無縫對接,有兩個多通道緩沖串行端口,各端口可與265個通道進(jìn)行全雙工通信,支持多種幀格式,與串行接口兼容。并且支持流水線工作方式,可在同一時刻實現(xiàn)多達(dá)8個不同指令在內(nèi)部不同部位交迭地處理執(zhí)行,流水線運行按取指、譯碼、執(zhí)行三級步驟運行,各級包含幾個節(jié)拍,可實現(xiàn)指令周期內(nèi)的有序運算,性能穩(wěn)定, TMS320C6713芯片的EDMA可在無CPU參與的環(huán)境下控制芯片存儲空間的數(shù)據(jù)遷移,并可實現(xiàn)DSP芯片與外部EPROM芯片的高速數(shù)據(jù)傳輸,適合音效器設(shè)計的需要。
本系統(tǒng)采用的PCM1804轉(zhuǎn)換器[7],可選多種系統(tǒng)時鐘頻率和采樣頻率,模塊有主模式和從模式兩種接口模式,主模式狀態(tài)下提供與DSP之間的串行音頻數(shù)據(jù)通信,從模式狀態(tài)下只接收數(shù)據(jù)。PCM1804與TMS320C6713芯片的I2C接口通過I2S音頻傳輸協(xié)議進(jìn)行音頻傳輸。由于PCM1804具有24位112dB動態(tài)范圍,在音頻處理過程中將會產(chǎn)生比模數(shù)轉(zhuǎn)換電路更寬的動態(tài)范圍,因此數(shù)模轉(zhuǎn)換電路使用24位的PCM1730,其動態(tài)范圍是117dB,可保證系統(tǒng)最終的噪聲門限和處理精度不下降。PCM1730自帶系統(tǒng)時鐘檢測電路,可自動檢測到SCKI輸入的系統(tǒng)時鐘頻率。系統(tǒng)核心電路如圖2所示,圖2顯示了PCM1804在主模式下與TMS320C6713芯片和數(shù)模轉(zhuǎn)換芯片PCM1730的連接關(guān)系圖,輸入的音頻數(shù)據(jù)經(jīng)模數(shù)轉(zhuǎn)換和數(shù)字信號處理后經(jīng)模數(shù)轉(zhuǎn)換還原成模擬音頻信號輸出。
3 典型算法分析
DSP編程主要用于對吉他音頻數(shù)字信號進(jìn)行處理,可使用C語言或者匯編語言編程,鑒于C語言的易移植性、靈活性和在復(fù)雜系統(tǒng)中的便捷優(yōu)勢[1],本系統(tǒng)使用C語言進(jìn)行混合編程,主要以延時算法和混響算法為例簡要說明音效器的實現(xiàn)原理。
3.1 延時算法
對音頻信號的處理,延時[4]是最基本的輸出效果,其它音效如合唱效果、弗蘭格效果和回聲效果等都離不開延時的基礎(chǔ)性作用,延時產(chǎn)生的原聲滯后音可有效調(diào)整音色?;镜难訒r包括不帶反饋的和帶反饋的兩種,其中不帶反饋的延時對輸入音頻信號進(jìn)行延時一次,從而實現(xiàn)回聲效果,而帶反饋的延時能進(jìn)行反復(fù)延時和重復(fù)播放,兩者原理如圖3所示。
由圖3可知,延時實際上是音頻數(shù)據(jù)延遲一個時段后再輸出,是通過在系統(tǒng)內(nèi)存中定義的環(huán)形緩沖區(qū)實現(xiàn),該緩沖區(qū)由讀/寫利用的地址指針確定,每次對數(shù)據(jù)延時的過程是指針從先前的指定時段前的數(shù)據(jù)和當(dāng)前數(shù)據(jù)做加成,并更新指針指向下一位置。由于內(nèi)存緩沖區(qū)的地址是線性的,為實現(xiàn)環(huán)形緩沖區(qū)的結(jié)構(gòu),充分利用了TMS320C6713具備零消耗循環(huán)控制的專門部件,不必每次指針指向地址到緩沖區(qū)上界時自動跳到下界,而是在上界時將計數(shù)器減1直到緩沖區(qū)的下界,在硬件上完成循環(huán)跳轉(zhuǎn)和計數(shù)器的衰減,從而減小系統(tǒng)的開銷以提升系統(tǒng)運行效率。
此外延遲時間由系統(tǒng)采樣頻率和延遲線單元數(shù)共同決定,初始采樣頻率是96kHz,TMS320C6713芯片可支持512MB的最大尋址,因此本系統(tǒng)的延遲時間使用模數(shù)尋址方式快速實現(xiàn)。
3.2 混響算法
實現(xiàn)混響功能的基本單元是全通濾波器[3],但經(jīng)測試發(fā)現(xiàn)級聯(lián)或單個的全通濾波器回聲是周期性的且密度較低,從而形成較大的聲擺效應(yīng),對音效器的效果造成較壞的影響。其解決方法是使用嵌套的全通濾波器,如圖4所示,即在一個全通濾波器的延時單元中插入另一個延時濾波器。在圖4中為并不是延時單元而是全通濾波器,其Z變換為:
(1)
(1)式中X、Y分別是嵌套濾波器的輸入和輸出, H(z)的模為:
(2)
由(2)式可知,若G(z)為全通濾波器,則H(z)也為全通濾波器。這樣嵌套較大的優(yōu)點是提高吉他混響音效的時域響應(yīng)效果,其原理是由于嵌套全通濾波器中內(nèi)部濾波器產(chǎn)生的回聲經(jīng)過外部濾波器的反饋環(huán)路,從而重新用作輸入信號。因此,該系統(tǒng)生成的回聲個數(shù)比常規(guī)全通濾波器的回聲個數(shù)相比要多,而且嵌套全通濾波器的回聲相互間隔不是固定的,這也與常規(guī)全通濾波器不同。同時無論如何嵌套,由于使用的是全通濾波器,系統(tǒng)的穩(wěn)定性得到保證,避免了采用梳狀濾波器等條件下的振蕩和不穩(wěn)定性。
4 系統(tǒng)測試
為驗證吉他音效器的指標(biāo)是否達(dá)到設(shè)計需求,采用音頻測試軟件RMAA(Right Mark Audio Analyzer)[8],該軟件下載于俄羅斯硬件資訊網(wǎng)站,可用于對本文的音效器進(jìn)行電聲性能測試,主要項目包括頻率響應(yīng)、本底噪聲、動態(tài)范圍和互調(diào)失真等四項,其測試結(jié)果為:
(1)頻率響應(yīng)反映了音效器的音響系統(tǒng)對吉他輸出的不同頻率信號的還原特性,測試發(fā)現(xiàn)吉他音效器的頻率響應(yīng)曲線過渡平滑,各頻率點沒有明顯衰減,近似為一條直線,在20Hz-2kHz的頻率響應(yīng)不超過0.3dB,在2kHz-20kHz的頻率響應(yīng)不超過0.1dB,滿足系統(tǒng)頻率響應(yīng)不超過0.4dB的指標(biāo)要求。
(2)本底噪聲主要反映吉他音效器的抗干擾性能,測試結(jié)果為音效器的左、右聲道的本底噪聲分別是-95.3dB和-92.1dB,在沒有音頻信號輸出時音箱不會出現(xiàn)交流聲,達(dá)到系統(tǒng)設(shè)計時設(shè)定的本底噪聲指標(biāo)要求。
(3)動態(tài)范圍是聲卡輸出最高音量和最低音量的相對比較值,吉他音效器的測試結(jié)果為83.3dB,達(dá)到設(shè)計要求。
(4)互調(diào)失真主要反映系統(tǒng)的非線性失真程度,音效器的互調(diào)失真測試結(jié)果為0.012,滿足系統(tǒng)指標(biāo)要求。
綜上所述,使用RMAA測試本文的吉他音效器的指標(biāo)均滿足系統(tǒng)設(shè)計要求,且吉他音效結(jié)果經(jīng)聽音師試聽,得到了充分的肯定。
5 結(jié)論
以TMS320C6713芯片為核心,結(jié)合模數(shù)轉(zhuǎn)換芯片PCM1804、數(shù)模轉(zhuǎn)換芯片PCM1730所進(jìn)行系統(tǒng)硬件電路的設(shè)計,實現(xiàn)增強音效器對音頻信號的實時快速處理,通過環(huán)形緩沖區(qū)實現(xiàn)了系統(tǒng)高效率的延時功能,并使用嵌套的全通濾波器實現(xiàn)混響音效,使用RMAA對音效器進(jìn)行測試的結(jié)果表明音效器主要指標(biāo)達(dá)到了系統(tǒng)設(shè)計需求,具備較好的性能和應(yīng)用價值。
參考文獻(xiàn):
[1]譚志宏,景德勝,緱麗敏.基于DSP的高速AD采集系統(tǒng)設(shè)計與實現(xiàn)[J].電子技術(shù)設(shè)計與應(yīng)用,2014,44(12):41-44
[2]王鮮芳,杜志勇.基于TMS320VC5409的電吉他音效器的設(shè)計與實現(xiàn)[J].電聲技術(shù),2005,31(9):28-30
[3]張兆偉,王舒文,李文月等.基于TMS320C6713的多功能數(shù)字音效器[J].數(shù)據(jù)采集與處理,2012,27(11):199-204
[4]王天寶.數(shù)字調(diào)音系統(tǒng)的研究與實現(xiàn)[D].大連:大連理工大學(xué),2010
[5]劉越.數(shù)字音效算法的研究與實現(xiàn)[D].大連:大連理工大學(xué),2011
[6]劉睿.一種基于DSP的音頻實時處理系統(tǒng)[J].現(xiàn)代電子技術(shù),2011,34(1):85-87
[7]肖啟洋,張忠慧,方元.基于DSP的聲反饋抑制系統(tǒng)的研究與實現(xiàn)[J].電子技術(shù)應(yīng)用,2013,29(1):13-16
[8]李淵洋.基于DSP的音效處理器設(shè)計與實現(xiàn)[D].廣州:華南理工大學(xué),2011
濾波器相關(guān)文章:濾波器原理
c語言相關(guān)文章:c語言教程
濾波器相關(guān)文章:濾波器原理
評論