鄒 逸,王宏偉(北京信息科技大學(xué) 理學(xué)院,北京 100192)
基于DSP的高性能校音器設(shè)計與研制
鄒逸,王宏偉
(北京信息科技大學(xué)理學(xué)院,北京100192)
校音器用于識別管弦樂器聲音的基音頻率和音高。該校音器使用型號為TMS320VC5509A的DSP芯片作數(shù)字信號處理,運行8192點快速傅里葉變換算法,實現(xiàn)聲音信號頻譜分析;利用語音編解碼芯片TLV320AIC23將從麥克風(fēng)獲取的模擬信號轉(zhuǎn)化為數(shù)字信號,采樣率為8kHz;該檢測儀利用LCD輸出頻率和音高信息;印刷電路板成品采用4層電路板模式。該檢測儀可以有效檢測管弦樂器的音域范圍為32Hz~4kHz,頻譜分辨率達到0.98Hz。
快速傅里葉變換;TMS320VC5509A;TLV320AIC23;聲音基頻檢測;校音器
校音器以聲音基頻檢測技術(shù)為核心,用于檢測樂器的音高是否標(biāo)準(zhǔn)。市場上流行的校音器精確度較低,音域的適應(yīng)范圍較小,實際的低音檢測效果較差,而高品質(zhì)校音器價格又過于昂貴。本文研發(fā)的作品力圖挖掘數(shù)字信號處理器(Digital Signal Processor,DSP)和整體電路的性能,實現(xiàn)更精細的頻譜分辨率,追求高精度與高可靠性;同時,更貼近管弦樂手用戶的實際需求,提高校音專業(yè)性,完成高品質(zhì)校音器,可廣泛適用于管弦樂器的校音工作。
該校音器用DSP為主芯片,以快速傅里葉變換(Fast Fourier Transformation,F(xiàn)FT)為核心算法,用于識別管弦樂器聲音基音頻率和音高,并判定樂器的音高是否標(biāo)準(zhǔn)。檢測儀整個系統(tǒng)主要由傳聲器(麥克風(fēng),Mic)接口、模數(shù)轉(zhuǎn)換器、數(shù)字信號處理器(DSP)、顯示驅(qū)動和液晶顯示屏(LCD)等模塊組成,系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 硬件結(jié)構(gòu)圖
麥克風(fēng)和模數(shù)轉(zhuǎn)換器用于采集聲音并轉(zhuǎn)換成數(shù)字信號,DSP對數(shù)字信號進行快速傅里葉變換,得到振幅頻譜數(shù)據(jù)、分析振幅頻譜數(shù)據(jù)提取基音頻率,并轉(zhuǎn)化為音高。顯示驅(qū)動通過復(fù)雜可編程邏輯芯片(CPLD)完成,并驅(qū)動LCD模塊顯示基音識別結(jié)果。
2.1麥克風(fēng)選擇和模數(shù)轉(zhuǎn)換器
為了提高音頻識別效果,本文采用噪聲低、拾音效果好的外接有源電容麥克風(fēng)。麥克風(fēng)頻率響應(yīng)為30Hz~20kHz,電源為48V幻象電源。
模數(shù)轉(zhuǎn)換器以音頻編解碼器(CODEC)芯片TLV320AIC23作為核心。該芯片有Line和Mic兩種輸入接口。如果錄音設(shè)備功耗低,例如駐極體話筒,芯片上第17號管腳MICBIAS可為話筒提供偏置電壓,大小為3/4AVDD[1],用Mic接口接收信號。但這種話筒拾音性能差。為了降低輸入噪聲,提高拾音效果,本設(shè)計采用Line接口接收電容麥克風(fēng)發(fā)送的音頻模擬信號。Line連接方式原理圖如圖2所示。
圖2 ADC模塊原理圖
圖2中,TLV320AIC23B芯片上標(biāo)號為D_90的第24號引腳與DSP TMS320VC5509APGE上第90號引腳相連,其他標(biāo)號以此類推。閑置的引腳要懸空,不能接地。16號引腳用于降噪,由并聯(lián)的去耦電容C19、C20完成。在每一個VDD引腳上并聯(lián)這些去耦電容可以進一步降低電源噪聲干擾。
2.2數(shù)字信號處理器
該校音器采用型號為TMS320VC5509APGE的16位定點DSP負責(zé)數(shù)字信號處理。該DSP芯片時鐘頻率可達200MHz,有128K×16bit片內(nèi)RAM。
由于DSP內(nèi)部存儲器容量有限,因此需要使用bootloader將程序燒寫到外部EEPROM中。通過合理配置GPIO的電平,上電時DSP會自動將EEPROM中的程序載入片內(nèi)運行,這樣就可以使DSP脫離仿真器和電腦而獨立運行。
DSP最小系統(tǒng)電路與單片機相似,使用參考文獻[2]所示電路。注意DSP內(nèi)核需要1.8V電源,外圍數(shù)字芯片及數(shù)字高電平需要3.3V電源,二者共用一個數(shù)字電路接地端。模擬電路也需要3.3V供電電源和模擬電路接地端。雖然電壓相同,但是數(shù)字和模擬電路要分開,數(shù)字地與模擬地之間用磁珠連接,以免干擾。
2.3顯示驅(qū)動和液晶顯示屏
顯示驅(qū)動采用型號為EPM240T100C5的CPLD芯片,圖形點陣液晶屏模塊為128×64像素。DSP使用EMIF接口與CPLD相互溝通,CPLD芯片電路基本按器件手冊布局,此處不再贅述。
2.4印刷線路板設(shè)計
校音器印刷電路板(PCB)采用4層布線,雙面布件方式,核心器件布于頂層,部分器件布于底層,中間兩層分別是地線層和電源層。PCB廠商要求PCB線寬線距8mil以上,過孔內(nèi)徑12mil以上,外徑24mil以上。成品如圖3所示。圖2中C5和C6電容優(yōu)先布局,盡可能靠近引腳。C3和C4電容所在的兩組信號線是電路中所有的模擬信號線路,優(yōu)先布線。
3.1采樣頻率與FFT點數(shù)的選擇
本系統(tǒng)使用8kHz采樣率和8 192點FFT。
科學(xué)音調(diào)記號法規(guī)定拉丁字母為音調(diào),數(shù)字為八度區(qū)。鋼琴音域由科學(xué)音調(diào)記號法表示為A0至C8,一般樂器常用音域是C1至B7,對應(yīng)的頻率范圍是32.70Hz~3 951Hz。交響樂隊中,除了打擊樂器,音高能超過鋼琴的樂器不多,人類的歌喉很難逾越3kHz?;谝陨显颍撔R羝鳒y量范圍設(shè)定在32.70Hz~4kHz。根據(jù)抽樣定理,本系統(tǒng)的抽樣頻率選擇8kHz。
C1和C#1的頻率分別為32.70Hz和34.65Hz,二者的幾何平均為33.66Hz,頻譜分辨率最低要求為:
34.65Hz-33.66Hz=0.99Hz
計算FFT采樣點數(shù)如下:
采樣點數(shù)=采樣率÷頻譜分辨率=8 000÷0.99=8 081
如果采樣點數(shù)為8 192,則頻譜分辨率為:
8 000÷8 192=0.98Hz
一個八度分成12個半音音程,12平均律規(guī)定八度的音程(二倍頻程)按頻率等比例地分成12等份,兩個相鄰半音的頻率大約為1.059 46倍[3],音高越高則頻率相差越大。
因此,8 192點可以滿足最低音高為C1、最高音高為B7的識別要求。
3.2DSP算法實現(xiàn)
DSP代碼分為5大部分,分別是聲明定義、ADC、FFT計算、提取基音和LCD顯示。主函數(shù)算法流程圖如圖4所示。
圖4 DSP算法流程圖
3.2.1為變量分配存儲空間
用于FFT運算的實型數(shù)組長度較大,需要占用很多空間??梢允褂?pragma DATA_SECTION自定義段功能為變量分配存儲空間。
首先,在源文件的開頭,將數(shù)組sin_t安排在一個名為.databuf1的段中:
#pragma DATA_SECTION(sin_t,".databuf1")
float sin_t[8192];
之后,配置CMD文件。在MEMORY中定義區(qū)間SARAM3是一個起始地址為001c000h,大小為0005000h的儲存空間:
SARAM3:origin=0016000h,length=0005000h
在SECTIONS中,將段.databuf1安排在區(qū)間SARAM3中:
.databuf1>SARAM3fill=0
按如上方式分配,數(shù)組sin_t中所有的數(shù)據(jù)都保存在以0016000h為起始地址、長度為5000h的存儲區(qū)里面[4]。按此規(guī)則,可以為所有變量和程序安排指定的存儲空間。
3.2.2FFT算法實現(xiàn)
FFT算法根據(jù)時間抽取基-2FFT編程思想[5]。為了聲音基頻檢測儀能夠適應(yīng)多種點數(shù)的FFT算法,本設(shè)計沒有采用預(yù)設(shè)數(shù)據(jù)的方式,而是采用計算的方式對設(shè)置為全局變量的旋轉(zhuǎn)因子進行初始化。初始化、倒位序和FFT運算的部分代碼如下:
代碼中用到的整型變量ORDER是FFT級數(shù),如8 192點FFT是2的13次冪,ORDER就是13。以上算法理論上可以計算任意點數(shù)FFT,但是,受限于DSP5509芯片的存儲空間和運算速度,F(xiàn)FT點數(shù)建議不超過8 192。
3.2.3基音頻率分析
將經(jīng)DSP運算得到的振幅頻譜數(shù)據(jù)存于一個長度為8 192的16bit無符號整形數(shù)組中。通過以下3步計算得到基因頻率:
(1)消除白噪聲:觀察零輸入狀態(tài)下白噪聲幅度可達到的最大值,以此定義最大值參數(shù)A,修改振幅頻譜數(shù)據(jù)數(shù)組中的數(shù)據(jù),保留數(shù)值大于參數(shù)A的視為有效信號,刪除小于等于A的白噪聲;
(2)從第一位開始尋找振幅頻譜數(shù)據(jù)中第一個有效峰值所在位置;
(3)利用如下公式計算基音頻率:
其中,F(xiàn)為基音頻率,P為有效峰值所在位置,fs為抽樣頻率,N為傅里葉變換點數(shù)。
利用TI公司的集成開發(fā)環(huán)境(Code Composer Studio,CCS)可以實時監(jiān)控DSP的計算結(jié)果,其圖像顯示窗口可以為裝有振幅頻譜數(shù)據(jù)的數(shù)組作圖。電子琴模擬小提琴聲音演奏C5,CCS的圖像顯示窗口展示出幅度譜的前4 096點如圖5所示。
圖5 小提琴C5音的振幅頻譜圖
圖5中數(shù)據(jù)沒有單位,橫坐標(biāo)代表數(shù)組的位置,縱坐標(biāo)代表數(shù)組每一位對應(yīng)的值,以十進制表示。
現(xiàn)實中的聲音都是復(fù)合音。在聲音的各個頻率分量中,基音的頻率是最低的,它決定聲音的音高[6]。如圖5中出現(xiàn)的第一個峰值為基音頻率對應(yīng)的位置,其橫坐標(biāo)為536。后3個峰值皆為泛音信號。根據(jù)式(1)計算基音頻率為:
536×8 000÷8 192=532(Hz)
3.2.4確定音高
音樂界已經(jīng)明確規(guī)定了音高的基音頻率。每個相鄰半音之間的基音頻率約是1.059 46倍。第5個八度的C,即C5附近部分音高頻率舉例如表1所示。
表1 音高與頻率轉(zhuǎn)換表
由于實際測試中獲取的頻率不可能與約定音高頻率完全吻合,因此,采用判定頻率區(qū)間的方式。頻率區(qū)間的邊界采用兩個相鄰音高頻率的幾何平均值。例如C5的頻率區(qū)間為508Hz~539Hz。
通過頻率區(qū)間確定音高后,再判斷其與標(biāo)準(zhǔn)音高之間的誤差。自定義誤差值小于1/64倍,則認(rèn)為準(zhǔn)確,標(biāo)注“YES”;如果檢測頻率誤差超出范圍,則用“-”表示音高偏低,用“+”表示音高偏高。
用電子琴模擬提琴聲音演奏C5,校音器檢測結(jié)果如圖6所示,圖片在原圖上進行了灰度和反色處理。圖中顯示“OK”表示基音頻率標(biāo)準(zhǔn)。CCS顯示幅度譜見圖5。
C5的約定值是523.25Hz,測量結(jié)果與理論結(jié)果相符。低音C2測量結(jié)果如圖7所示,系統(tǒng)對低音的檢測結(jié)果良好。
圖6 C5測量結(jié)果
圖7 C2測量結(jié)果
經(jīng)過實際應(yīng)用,該聲音基頻檢測儀效檢測的音域范圍為32Hz~4kHz,對應(yīng)管樂和弦樂的音高范圍為C1至B7。
該校音器可以用于大多數(shù)管樂器和弦樂器的校音工作,測試效果良好,可以從容面對諸如低音單簧管和大提琴的校音工作。得益于精細的頻譜分辨率,校音器可精準(zhǔn)分辨每個半音。電路板經(jīng)過三次升級優(yōu)化,成品整體電路性能較好。
[1]丁祥,余小清,萬旺根.音頻編解碼器TLV320AIC23及其與DSP接口設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2002(1):265-268.
[2]汪春梅,孫洪波.TMS320C55xDSP原理及應(yīng)用(第3版)[M].北京:電子工業(yè)出版社,2011.
[3]胡澤.音樂聲學(xué)[M].北京:中國廣播電視出版社,2003.
[4]陳泰紅,任勝杰,魏宇.手把手教你學(xué)DSP-基于TMS320C55x[M].北京:北京航空航天大學(xué)出版社,2011.
[5]焦瑞莉.數(shù)字信號處理[M].北京:機械工業(yè)出版社,2011.
[6]胡澤.音樂聲學(xué)[M].北京:中國廣播電視出版社,2003.
The design of high performance tuner based on DSP
Zou Yi,Wang Hongwei
(School of Science,Beijing Information Science and Technology University,Beijing 100192,China)
Tuner is used for identifying fundamental frequency and pitch of orchestral instrument.A TMS320VC5509A DSP chip is used in the tuner for digital signal processing,doing 8192 point FFT algorithm to achieve the sound signal spectrum analysis.A speech codec TLV320AIC23 is used to convert the analog signal from the microphone into digital format,and the sampling rate is 8 kHz.The device has a LCD screen to display frequency and pitch information.The product PCB is 4 layer layout.The device can catch the range of orchestral frequencies from 32 Hz to 4 kHz,and the resolution of spectrum is 0.98 Hz.
fast Fourier transformation;TMS320VC5509A;TLV320AIC23;sound fundamental frequency examination;tuner
TN709
A
1674-7720(2015)16-0030-04.
鄒逸,王宏偉.基于DSP的高性能校音器設(shè)計與研制[J].微型機與應(yīng)用,2015,34(16):30-33.
2015-05-25)
鄒逸(1993-),男,本科,主要研究方向:電子電路和聲音信號處理。
王宏偉(1967-),男,博士,副教授,主要研究方向:無線傳感器網(wǎng)絡(luò)。