作為一個(gè)熱愛音樂的孩子,我被1968年問世的“時(shí)髦的巴赫”(Switched-On Bach)這張電子音樂專輯里的穆格合成器的聲音震撼了。我需要學(xué)習(xí)如何制作這些聲音!因此,當(dāng)我進(jìn)入科技行業(yè)時(shí),便開始了學(xué)習(xí)和合成器制作的生涯。進(jìn)入科技行業(yè)后,我發(fā)明了TV-B-Gone,這個(gè)鑰匙扣樣子的小工具可以讓你關(guān)閉幾乎任何型號(hào)的遙控電視。自從TV-B-Gone大受歡迎以來,我為世界各地的制作工坊發(fā)明了許多有趣的、開源的、可編程的硬件套件。在這些制作工坊里,新手們學(xué)習(xí)焊接,磨練他們焊接電子器件和微控制器的技術(shù)。記得在我年輕的時(shí)候,我想給他們提供一套易于組裝和使用的工具,而這套工具還是一個(gè)功能齊全的音樂合成器。
結(jié)果是我發(fā)明了ArduTouch。ArduTouch的售價(jià)是30美元。這個(gè)項(xiàng)目將一個(gè)觸控式鍵盤、一個(gè)ATMega328P(與Arduino Uno使用的處理器相同)和一個(gè)帶揚(yáng)聲器的音頻功放集成在了一塊板子上。它還有一個(gè)軟件庫,可以作為進(jìn)入數(shù)字信號(hào)處理世界的入口。
設(shè)計(jì)電路板的最大挑戰(zhàn)是ATMega328P的輸入/輸出(I/O)引腳數(shù)量有限。我使用了12個(gè)I/O引腳作為合成器的觸控式鍵盤,以提供完整的半音音階。鍵盤的布局與老式Stylophone——我最喜歡的20世紀(jì)60年代后期的模擬合成器之一——相似,觸控時(shí)感覺就像在觸摸電容。還有2個(gè)I/O引腳用于輸出立體聲,2個(gè)引腳用于串行通信(ArduTouch可以使用標(biāo)準(zhǔn)的Arduino開發(fā)環(huán)境進(jìn)行編程,但你需要使用一條FTDI電纜將其連接到主機(jī))。其余的I/O引腳剛好夠支持兩個(gè)按鈕和兩個(gè)控制合成器的電位計(jì)。
為了讓制作者在將套件焊接到一起后能夠立即獲得可聽見的結(jié)果,我在板子上放了一個(gè)LM386功放芯片和揚(yáng)聲器。(當(dāng)把插頭插入音頻輸出插孔時(shí),功放會(huì)被繞過。)數(shù)模轉(zhuǎn)換器芯片價(jià)格昂貴,因此我使用脈沖寬度調(diào)制(PWM)對(duì)來自ATMega328P的立體聲音頻通道進(jìn)行編碼。每個(gè)通道配有一個(gè)由一個(gè)電阻和一個(gè)電容組成的低通濾波器,將PWM信號(hào)轉(zhuǎn)換成音頻。
經(jīng)驗(yàn)豐富的設(shè)計(jì)師會(huì)認(rèn)識(shí)到ArduTouch硬件很簡單。該項(xiàng)目的核心是用于對(duì)ATMega328P進(jìn)行編程的復(fù)雜的音頻合成軟件庫。
實(shí)際上,用微控制器來產(chǎn)生基本的音樂音調(diào)是相當(dāng)容易的。只需將揚(yáng)聲器連接到I/O引腳,然后將其打開和關(guān)閉以發(fā)出不同頻率的方波就可以了(至少艾倫?圖靈在Manchester Mark II計(jì)算機(jī)上都使用過這種技術(shù))。但所能得到的是一種刺耳的聲音,聲音的豐富性遠(yuǎn)不及穆格合成器。
為了得到更好的聲音,我需要轉(zhuǎn)向數(shù)字音樂合成。這是一種創(chuàng)建音頻波形的二進(jìn)制表示,胡亂擺弄它們,然后將這些數(shù)字轉(zhuǎn)換成模擬信號(hào)的行為。有許多不同的方法可以做到這一點(diǎn),我很高興地說ArduTouch支持相當(dāng)多的技術(shù),包括使用波形表(使用存儲(chǔ)在內(nèi)存中的數(shù)字音頻樣本)和生成式方法(動(dòng)態(tài)計(jì)算音頻)。
一旦創(chuàng)建了聲音的基本二進(jìn)制表示,“弄亂”的階段就非常重要。除非你把聲音弄亂,否則聲音通常很薄且枯燥乏味。動(dòng)態(tài)操作產(chǎn)生很酷的聲音。ArduTouch可以數(shù)字化應(yīng)用許多動(dòng)態(tài)功能和效果,包括顫音、抑揚(yáng)頓挫、滑音以及低通和高通濾波器等。
照片來源:Mitch Altman
焊接聲音:ArduTouch需要相對(duì)較少的組件(上面三張圖中中間那張圖),它使用電容鍵盤來演奏音符(最上面的圖)。它很簡單,可以在教人們?nèi)腴T的工坊中(最下面的圖)進(jìn)行組裝。
盡管上述所有內(nèi)容在概念上都不難學(xué)習(xí)和理解,但編碼卻相當(dāng)復(fù)雜。我和我的朋友Bill Alessi創(chuàng)建的ArduTouch庫能做所有需要的低級(jí)計(jì)算,我們花了兩年時(shí)間來編寫該庫。
該庫在設(shè)計(jì)時(shí)充分考慮了靈活性,即使是沒有經(jīng)驗(yàn)的用戶也可以安裝新的合成器來制作不同的聲音。一個(gè)結(jié)合了四種鋸齒波形的名為Thick的合成器是預(yù)先安裝好的,但還有其他五個(gè)“可預(yù)裝”的合成器供下載使用。更高級(jí)的用戶可以通過調(diào)用一些高級(jí)功能來學(xué)習(xí)如何從頭開始創(chuàng)建自己的合成器。我希望那些喜歡這個(gè)項(xiàng)目的人會(huì)創(chuàng)建新的合成器并與我分享他們的代碼,以便我可以與他人分享。
但即使使用默認(rèn)的合成器,聲音也非常適合這種低功耗微控制器(允許音頻采樣率僅為15千赫茲)和這種低成本的支持硬件。你可以在我的YouTube頻道上看到很多視頻演示。
對(duì)于這個(gè)項(xiàng)目的未來,我們將繼續(xù)改進(jìn)ArduTouch Arduino庫并制作更多可預(yù)裝的合成器。我還在制作一個(gè)更強(qiáng)大的適合現(xiàn)場公共演出的ArduTouch版本。它不是套件,但它仍然是與Arduino兼容的。它將擁有功能更強(qiáng)大的32位微控制器,帶有大量I/O引腳、一個(gè)數(shù)模轉(zhuǎn)換器、大的存儲(chǔ)容量(這將允許MIDI)、一個(gè)小型LCD、幾個(gè)按鈕和電位計(jì)以及LED指示燈,當(dāng)然,還有更好的聲音。
-
微控制器
+關(guān)注
關(guān)注
48文章
8381瀏覽量
164565 -
處理器
+關(guān)注
關(guān)注
68文章
20255瀏覽量
252252 -
電路板
+關(guān)注
關(guān)注
140文章
5317瀏覽量
108146
原文標(biāo)題:TV-B-Gone發(fā)明人Mitch Altman是如何創(chuàng)建ArduTouch音樂合成器的?
文章出處:【微信號(hào):IEEE_China,微信公眾號(hào):IEEE電氣電子工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
使用 Arduino Nano 創(chuàng)建基于 DCO 的音頻合成器
敏捷合成器的技術(shù)原理和應(yīng)用場景
合成器
基于DDS的頻率合成器設(shè)計(jì)介紹
如何利用FPGA設(shè)計(jì)PLL頻率合成器?
什么是頻率合成器
頻率合成器,頻率合成器原理及作用是什么?
單環(huán)鎖相頻率合成器,單環(huán)鎖相頻率合成器是什么意思
集成鎖相環(huán)頻率合成器,什么是集成鎖相環(huán)頻率合成器
基于Arduino的頻率合成器
pll頻率合成器工作原理與pll頻率合成器的原理圖解釋
如何創(chuàng)建基于DCO的音頻合成器
如何制作一個(gè)音頻合成器?
Mitch Altman是如何創(chuàng)建ArduTouch音樂合成器的?
評(píng)論