另一個(gè)值得注意的有趣現(xiàn)象是:當(dāng)把濾波器極推向更低頻率時(shí)會(huì)抑制更高階諧波,同時(shí)音調(diào)也變得更‘純凈’。但是,聲音聽(tīng)起來(lái)不太像吉他,而是很像音調(diào)很快消失的鼓聲。
學(xué)數(shù)字聲音合成技術(shù),DIY屬于自己的吉他合成器
發(fā)布時(shí)間:2014-05-12 責(zé)任編輯:sherryyu
【導(dǎo)讀】很多人都喜歡彈吉他,可是我們都是用的現(xiàn)成的吉他合成器,沒(méi)辦法突出自己的個(gè)性。本文講到一位大師自己學(xué)習(xí)到熟練掌握數(shù)字聲音合成技術(shù),然后自己設(shè)計(jì)出屬于自己的吉他合成器。是不是很高端大氣上檔次?下面隨著小編來(lái)看看是如何DIY設(shè)計(jì)屬于自己獨(dú)一無(wú)二的吉他合成器的?
數(shù)字聲音合成技術(shù)總讓我這個(gè)業(yè)余愛(ài)好者感到著迷。一個(gè)有關(guān)Karplus-Strong吉他合成技術(shù)的維基網(wǎng)頁(yè)更加激發(fā)了我的興趣。它吸引我的地方是這種合成器設(shè)計(jì)非常簡(jiǎn)單。下面是來(lái)自維基網(wǎng)頁(yè)的圖形(圖1):
式中的濾波器系數(shù)決定音調(diào)的‘粘性’。
突發(fā)噪聲?就是這樣嗎?肯定不對(duì)!不可能就這么簡(jiǎn)單!與所有業(yè)余愛(ài)好者一樣,我立馬開(kāi)始著手實(shí)施。寫(xiě)代碼只用了幾個(gè)小時(shí),然后我把DAC輸出連接到示波器。可以看出與諧波疊加后大致呈正弦曲線,但是無(wú)法確定聽(tīng)起來(lái)會(huì)是什么樣。
在一陣翻箱倒柜之后,我連接了一對(duì)舊耳機(jī)。我沒(méi)太高期望,大家都知道:對(duì)于初次嘗試的項(xiàng)目來(lái)說(shuō),要么是一無(wú)所獲,要么是背運(yùn)情況下會(huì)看到它冒出一縷白煙(我寧愿把這看成是芯片的靈魂升入虛空)。在確實(shí)聽(tīng)到像撥弄吉他發(fā)出的聲音之時(shí)著實(shí)讓我吃了一驚。
似乎有點(diǎn)對(duì)路了。先提醒一下,下面要講到數(shù)學(xué)了。
分析:
讓我們更深入地看看下圖2:
[page]
經(jīng)過(guò)一番處理之后我們可以得到一個(gè)龐大的表達(dá)式:
好在通過(guò)利用Excel掃描頻率ω很容易就能求出幅值響應(yīng)。
取樣速率設(shè)為44.1ksps(這是可掃描整個(gè)聽(tīng)覺(jué)范圍的最小值)。
如果從式1生成200Hz音調(diào),延遲‘L’則為44100/200 = 220.5。
由于我們的延遲為數(shù)字式,因此選擇220這個(gè)接近值。我隨意選擇10KHz的低通濾波器極點(diǎn)值入手。此極點(diǎn)頻率可確定上述‘a’與‘b’的值。
圖3:頻率響應(yīng)
[page]
我們可以根據(jù)此響應(yīng)明確看出我們是否傳輸寬帶噪聲信號(hào)(而我寧愿將其視為能量散布全部頻率的信號(hào)),而您看到的輸出是200Hz基頻,隨后是2x、3x、4x…諧波。這基本上就是實(shí)際吉他彈奏時(shí)的表現(xiàn):基頻隨后是伴生泛音。
另一個(gè)值得注意的有趣現(xiàn)象是:當(dāng)把濾波器極推向更低頻率時(shí)會(huì)抑制更高階諧波,同時(shí)音調(diào)也變得更‘純凈’。但是,聲音聽(tīng)起來(lái)不太像吉他,而是很像音調(diào)很快消失的鼓聲。
圖5:不同截止頻率的頻率響應(yīng)
另外有趣的是改變?yōu)V波器截止頻率時(shí)音調(diào)頻率會(huì)發(fā)生輕微偏移。基頻附近的偏移不太明顯,但是更高階諧波由于與低通濾波器相關(guān)的相位損失而開(kāi)始更顯著地偏移。
[page]
以下是在156Hz附近彈奏E調(diào)時(shí)獲得的實(shí)際DSO波形的快速截屏。
圖6:E調(diào)波形采集——156Hz的基頻
圖7:E調(diào)FFT——156Hz的基頻
頻率峰值的分布符合預(yù)期;盡管幅度跌落與理論計(jì)算不一致,但是整體圖像十分匹配。
[page]
實(shí)現(xiàn):
實(shí)現(xiàn)方案完全在賽普拉斯半導(dǎo)體公司的PSoC5LP混合信號(hào)SoC內(nèi)部完成。為了更加有趣,通過(guò)采用幾個(gè)能夠在觸摸時(shí)彈奏不同音調(diào)的觸摸按鈕,我在系統(tǒng)中增加了一個(gè)用戶界面。
圖8:系統(tǒng)級(jí)方框圖
采用CY8CKIT-050開(kāi)發(fā)套件、用于觸摸按鈕的擴(kuò)充板和我從臥室‘暫借’的幾個(gè)精致的揚(yáng)聲器,整個(gè)系統(tǒng)配置大致如下:
圖9:吉他合成器配置
[page]
Speaker output:揚(yáng)聲器輸出;developer kit + expansion board:開(kāi)發(fā)套件 + 擴(kuò)充板
圖10:細(xì)節(jié)展示
5 strings of a guitar:吉他的5跟弦;analog output to speaker:到揚(yáng)聲器的模擬輸出;slider changes chords of guitar:滑片可改變吉他的和弦。
總結(jié):
Karplus-Strong合成器可能是最簡(jiǎn)單的合成器編碼算法,但是其輸出音質(zhì)出人意料地不錯(cuò),即使是僅采用8位DAC(其嚴(yán)格來(lái)說(shuō)對(duì)于音頻再現(xiàn)而言有點(diǎn)功率不足)。唯一的缺陷是演奏低頻音調(diào)時(shí)我們需要數(shù)值非常大的緩沖器。例如,演奏100Hz信號(hào)需要441緩沖器,取樣速率為44.1Ksps。如果我們希望添加多個(gè)同時(shí)弦時(shí)就會(huì)帶來(lái)問(wèn)題,而且代碼大小也成問(wèn)題。
此外,加入PSoC的靈活性也會(huì)帶來(lái)眾多新的選擇,如:采用I2S接口把信號(hào)輸出到標(biāo)準(zhǔn)音頻DAC。將合成代碼轉(zhuǎn)移到數(shù)字濾波模塊(DFB)可以釋放主核,從而可以添加任何其它計(jì)算密集型進(jìn)程。
相關(guān)閱讀:
特別推薦
- 利用自動(dòng)化技術(shù)賦能中國(guó)基礎(chǔ)設(shè)施現(xiàn)代化
- 三極管電路輸入電壓阻抗
- 晶振怎么用,你真的知道嗎?
- 康佳特推出搭載AMD 銳龍嵌入式 8000系列的COM Express緊湊型模塊
- 村田推出3225尺寸車載PoC電感器LQW32FT_8H系列
- 思特威推出超星光級(jí)系列4MP圖像傳感器SC485SL
- HOLTEK新推出HT32F59045脈搏血氧儀MCU
技術(shù)文章更多>>
- 車用開(kāi)關(guān)電源的開(kāi)關(guān)頻率定多高才不影響EMC?
- 貿(mào)澤推出針對(duì)基礎(chǔ)設(shè)施和智慧城市的工程技術(shù)資源中心
- “扒開(kāi)”超級(jí)電容的“外衣”,看看超級(jí)電容“超級(jí)”在哪兒
- DigiKey 誠(chéng)邀各位參會(huì)者蒞臨SPS 2024?展會(huì)參觀交流,體驗(yàn)最新自動(dòng)化產(chǎn)品
- 提前圍觀第104屆中國(guó)電子展高端元器件展區(qū)
技術(shù)白皮書(shū)下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索