海廢 × 聲音 × 電子學

把海邊的廢棄物
變成能進Mac DAW 的樂器

這是一本從零開始的電子學入門。我們不背公式,而是從「一個訊號怎麼從敲擊、撥弦、甚至一片葉子,最後變成電腦裡的一個音符」這條路徑,一步步認識沿途的每個電子元件——它為什麼存在、解決什麼問題,以及它對波形做了什麼。

壓電片 運算放大器 齊納二極體 ADC 取樣 555 振盪器 MIDI · 音訊
00
Introduction

一條貫穿全書的訊號鏈

在動手做任何樂器之前,先記住一個觀念:無論是敲、撥、還是量植物,所有電子樂器走的都是同一條路。差別只在「最左邊用什麼感測器」跟「中間要不要先放大」。把這條鏈記熟,後面每一章都只是在替換其中一塊。

① 感測器 物理 → 電 ② 訊號調理 保護 · 放大 ③ 微控制器 類比 → 數位 ④ Mac DAW 錄音 · 合成 壓電片 / 拾音器 / 電極 電阻 · 二極體 · 運放 Teensy / ESP32 USB-MIDI / 音訊
圖 0.1四段式訊號鏈。本書第 2、3、4 章分別替換最左邊的「感測器」,但 ②③④ 的原理一路共用。
學習地圖

先讀第 1 章打好「電」的直覺,再讀第 2 章——它把訊號鏈每一段都走過一次,是全書的骨幹。第 3、4 章是延伸,讀起來會輕鬆很多。

01
Chapter One

電的三個基本量

要看懂後面所有電路,只需要先建立三個量的直覺:電壓電流電阻。用水管比喻最快。

1.1水管比喻

電壓 (V,伏特) 是水壓——推動水流的力量。電流 (I,安培) 是水流量——單位時間流過多少水。電阻 (R,歐姆) 是水管的粗細——管子越細越難流。三者的關係就是整個電子學的第一條定律:

V  =  I × R 電壓 = 電流 × 電阻 (歐姆定律)

這條式子之後會一直出現。例如後面要「把高電壓降低保護晶片」,靠的就是用電阻去「擋掉」一部分電壓——因為電流流過電阻時,電壓會被消耗掉。

電流 I(水流量) 電阻 R(變窄處) 高壓側 低壓側 水流被擋 → 壓降
圖 1.1水管比喻:水壓(電壓)推動水流(電流),管子變窄處(電阻)會造成「壓降」。這正是降壓與保護電路的核心。

1.2類比與數位:兩種看待訊號的方式

樂器產生的是類比訊號——電壓隨時間連續變化,像聲波一樣平滑。但電腦只認得數位訊號——一格一格的數字。微控制器的工作,就是把連續的類比電壓「切成一格一格的數字」,這個動作叫做取樣 (sampling),第 2 章會細談。

類比:連續、平滑
數位:一格一格的階梯
圖 1.2同一段聲音,左邊是真實世界的連續電壓,右邊是電腦看到的離散階梯。把左變成右,就是微控制器的核心任務。
02
Chapter Two

訊號如何進入 DAW

在挑感測器之前,要先決定「訊號用什麼方式進電腦」,因為這個決定會影響你後面所有的零件選擇。基本上有三條路。

2.1三條進 DAW 的路

方式送的是什麼適合需要
USB-MIDI音符、力度等「指令」打擊、觸發合成器能當 USB 裝置的微控制器
音訊 (Audio)原始的聲音波形想保留海廢本身音色音訊介面
OSC / 藍牙網路訊息無線、感測器多WiFi / BLE 模組
為什麼這很重要

MIDI 送的是「請彈中央 Do、力度 80」這種指令,資料量小、乾淨,但聲音是電腦合成的。音訊送的是真實波形,能保留鐵罐、貝殼的真實質感,但需要音訊介面而且要處理雜訊。打擊和植物電通常走 MIDI;想要海廢「原音」就走音訊。

2.2微控制器:訊號鏈的大腦

微控制器 (microcontroller) 是一顆小電腦,負責讀感測器電壓、做運算、再輸出 MIDI 或音訊。做樂器最推薦 Teensy 4.x:它插上 Mac 就直接被認成 USB-MIDI / USB 音訊裝置,免裝驅動;而且內建的 Audio Library 已經幫你寫好了 FFT、包絡偵測、合成器模組。你熟悉的 ESP32 也能用,但要走 USB-MIDI 得選 ESP32-S3,否則就改走藍牙 BLE-MIDI 或 WiFi OSC。

2.3取樣:把連續變成數字

微控制器靠內建的 ADC(類比數位轉換器) 來「取樣」——每隔固定一小段時間,量一次當下的電壓並記成數字。取樣有兩個關鍵:多快量一次(取樣率)、量得多細(解析度)。

時間 → 每個紅點=一次取樣 連續 階梯=數位近似
圖 2.1綠線是真實的連續訊號,紅點是 ADC 在固定間隔抓下的取樣值,藍色階梯則是電腦最後存下的數位版本。取樣越密、階梯越細,就越接近原訊號。
奈奎斯特定律

取樣率至少要是訊號最高頻率的兩倍,才不會失真。聲音最高約 20 kHz,所以音訊標準才用 44.1 kHz。做樂器時這提醒你:打擊那種又快又尖的訊號,ADC 要夠快才抓得到。

03
Chapter Three

打擊樂器・壓電片

這一章是全書的骨幹。我們拿海邊的鐵罐當鼓,把一片壓電片黏在背後當感測器,然後走完整條訊號鏈——你會在這裡第一次碰到「保護電路」與「箝位」,也就是你最想搞懂的那個波形變化。

3.1壓電效應:敲擊為什麼會產生電

壓電片裡是一片壓電陶瓷。這種材料有個神奇特性:當它被擠壓或彎曲時,內部會瞬間產生電壓,這叫壓電效應。所以你一敲鐵罐,鐵罐震動 → 壓電片被反覆彎折 → 它就吐出一串電壓訊號。我們要做的,就是把這串電壓讀進微控制器。

為什麼選壓電片

它便宜、超薄、可以直接貼在任何海廢表面,而且不需要外接電源就能發電(它自己就是發電機)。同一片零件還能反過來當「接觸式麥克風」,第 3 章撥弦會再用到。

3.2問題來了:危險的電壓尖波

壓電片有個麻煩:你用力一敲,它會在極短時間內噴出非常高的電壓尖波——輕敲幾伏特,重敲可以衝到 40 伏特以上。而微控制器的輸入腳通常只能承受 3.3V5V,超過就會把晶片燒壞。下圖就是壓電片原始輸出的樣子。

晶片上限 ~5V ↑ +40V 重敲 +18V 輕敲 時間 → 每次敲擊:一個尖波 + 逐漸衰減的餘震 高壓
圖 3.1壓電片原始輸出:每次敲擊產生一個極尖、極高的電壓尖波,後面跟著衰減的「餘震」。紅色尖峰遠遠超過微控制器能承受的藍色虛線上限——直接接上去會燒晶片。

3.3第一道防線:分壓電阻

第一步是用兩顆電阻組成分壓器 (voltage divider),把整體電壓按比例縮小。回想歐姆定律——電流流過串聯的兩顆電阻時,電壓會依電阻比例分配。我們從中間「抽」出一個比較低的電壓給晶片:

壓電輸入 (高) R1 → 給晶片 Vout (低) R2 接地 GND
Vout = Vin × R2R1 + R2

調整 R1、R2 的比例,就能把輸入電壓縮到安全範圍。例如 R1、R2 相等時,輸出剛好是輸入的一半。

圖 3.2分壓器:兩顆串聯電阻把高電壓按比例分掉,從中間抽出較低的 Vout。但分壓對「瞬間尖波」反應不夠快,所以還需要第二道防線。

3.4核心:箝位電路與它對波形的改變

分壓能縮小一般訊號,但壓電那種「瞬間爆衝」的尖波還是可能穿過去。這時需要箝位 (clamping)——它像一道電壓天花板:訊號低於上限時讓它自由通過,一旦超過上限就強制「壓平」在安全值。負責這件事的零件是齊納二極體 (Zener diode)

齊納二極體為什麼能當天花板?

一般二極體只讓電流單向通過。齊納二極體特別的地方在於:當反向電壓超過它的「崩潰電壓 (Vz)」時,它會突然導通並把電壓鎖死在 Vz。換句話說,選一顆 Vz = 4.7V 的齊納,任何超過 4.7V 的部分都會被它「吃掉」並導到地。看它的特性曲線最清楚:

電壓 V 電流 I 正向導通 −Vz 崩潰電壓 超過 Vz 後 電壓被鎖死
圖 3.3齊納二極體的電壓—電流特性。反向電壓一旦達到崩潰電壓 Vz(藍虛線),曲線幾乎垂直——代表電壓被牢牢鎖在 Vz,再大的電流也無法把電壓推更高。這就是「天花板」的物理來源。

箝位前 vs 箝位後:你最想看的對比

把齊納二極體(加上一顆 1MΩ 洩流電阻)並聯在訊號與地之間後,同一個敲擊尖波會發生這樣的變化:

箝位前 危險區 +40V 尖峰衝破上限
箝位後 Vz 上限 安全區 削平 = Vz 頂端被壓平在安全值
圖 3.4 ★箝位的核心效果。左圖尖峰衝進危險區、會燒晶片;接上齊納後(右圖),超過 Vz 的部分被「削平」成一條水平頂——尖波被切掉頭,整段訊號被關進安全區內。注意波形的「形狀」與「時機」都保留了,只有過高的振幅被砍掉,所以力度資訊仍然讀得到。
那顆 1MΩ 電阻在做什麼

它叫洩流電阻 (bleeder),並聯在壓電片兩端。壓電片本質上像個小電容,敲完會殘留電荷;1MΩ 提供一條路讓殘電慢慢放掉,讓訊號回到 0,下一次敲擊才量得準。沒有它,基線會亂飄。

3.4.1深入:洩流電阻到底怎麼洩流?

要懂洩流,先要知道一件事:壓電片本質上就是一顆電容。它的結構是兩片金屬電極夾著一層陶瓷——這正是電容器的構造。敲擊時陶瓷產生的電荷,就被「存」進了這顆電容裡。

+ + + + + − − − − − 陶瓷 黃銅電極 黃銅電極 一顆電容
圖 3.5壓電片的物理結構就是一顆電容:兩片黃銅電極夾住陶瓷。理解這一點,才懂為什麼一定要洩流。

電容的麻煩在於它會「記住」電荷。你敲一下,電荷灌進去;敲完之後這些電荷沒有路可以離開,電壓便卡在高點不歸零。下一擊疊上來,基線(baseline)越墊越高,ADC 讀到的值就整個亂掉。

洩流電阻的工作,就是在電容兩端並聯一條「會漏的縫」:殘留電荷順著這顆電阻慢慢流向地,電壓沿著一條指數曲線衰減回 0。這個「慢慢流光」的過程,就是洩流。

3.4.2為什麼偏偏是 1MΩ?

放電的快慢,由一個叫 RC 時間常數 的東西決定。每經過一個 τ,電壓會掉到原本的 37%;約 5 個 τ 之後幾乎完全歸零:

τ  =  R × C 時間常數 = 電阻 × 電容

壓電片的電容大約 10–20 nF。搭配 1MΩ:

τ  =  1 MΩ × 15 nF  ≈  15 ms

意思是敲完約 15 毫秒電壓掉到 37%、約 75 毫秒(5τ)幾乎歸零——這剛好短於兩次鼓擊之間的間隔,所以每一擊都能從乾淨的基線重新開始。下圖把太小、剛好、太大三種電阻疊在一起比較:

37%(1τ) 下一次敲擊 10kΩ 太快 1MΩ 剛好 10MΩ 太慢 峰值 0V 時間 → 同一次敲擊後,電壓如何衰減回 0
圖 3.6同一個敲擊後的放電曲線。10kΩ(紅)幾乎瞬間漏光,連訊號本身都吃掉;10MΩ(藍)放得太慢,下一擊來時基線還沒回到 0;只有 1MΩ(綠)剛好在數十毫秒內歸零。
兩個極端為什麼不行

太小(如 10kΩ):τ 只有約 0.15 ms,電荷瞬間就漏光——連敲擊本身的訊號都被吃掉,峰值小到測不準,等於把訊號短路掉了。

太大(如 10MΩ):τ 長達約 150 ms,敲快一點基線還沒歸零下一擊就來了;而且高阻抗的節點像天線,容易拾到雜訊與漂移。

1MΩ 同時滿足兩端:大到不會把微弱訊號吸走(高輸入阻抗、保留訊號),又小到能在數十毫秒內把殘電放完。這就是它的甜蜜點。

3.5從波形到音符:峰值偵測與力度

訊號安全進晶片後,程式要做兩件事。第一是峰值偵測:抓出這個尖波的最高點,峰值越高代表敲得越用力,這個高度直接對應 MIDI 的力度 (velocity)——所以你輕敲小聲、重敲大聲。第二是去彈跳 (debounce)

觸發門檻 峰值 → 力度 鎖定窗(忽略餘震) 餘震也會超過門檻,但在鎖定窗內一律忽略,才不會一敲變很多下
圖 3.7程式抓到峰值後換算成力度送出一個音符;接著開一段「鎖定窗」,把後面的衰減餘震全部忽略——這就是去彈跳,避免一次敲擊被誤判成連續好幾下。

3.6接線:壓電觸發電路

把前面所有保護元件組起來,就是這張經典的「壓電觸發」電路。核心是一個節點(我們叫它 A 點),它同時接三樣東西:壓電片、洩流/箝位元件、以及通往 Teensy 的線。先看用標準符號畫的電路圖:

A 點(訊號節點) 接地 GND PZ 壓電片 1MΩ 洩流 5.1V 齊納 1kΩ 限流 Teensy A0 GND 讀 A0 電壓 → 轉 MIDI
圖 3.8壓電觸發電路圖。A 點同時連著壓電片正極、1MΩ 洩流電阻、5.1V 齊納二極體(後兩者都接地),再經一顆 1kΩ 限流電阻送進 Teensy 的 A0 腳。那顆 1kΩ 是最後一道保險:萬一仍有殘餘尖波,它會限制衝進晶片的電流。

同樣的電路插在麵包板上會長這樣。麵包板讓你免焊接就能反覆嘗試,是原型階段必備:

紅線 = 訊號 / 正極 黑線 = 接地 GND
GND 排(負極) A 點 壓電片 1MΩ 5.1V Z 1kΩ Teensy A0 GND
圖 3.9麵包板實體接線示意。壓電片紅線拉到 A 點、黑線拉到藍色 GND 排;A 點上插著 1MΩ 與 5.1V 齊納(另一腳都插進 GND 排),再用 1kΩ 接到 Teensy 的 A0;Teensy 的 GND 也接回 GND 排。
焊接前一定先在麵包板上量過

接好先別急著插上 Teensy。用三用電表(或先接一顆便宜的微控制器)量 A 點對地的電壓,確認最用力敲時也不超過 3.3V,再正式接上 A0。先量、再接,是保護晶片最便宜的習慣。

到這裡,你已經完整走過一遍訊號鏈:壓電片 → 分壓 + 箝位保護 → ADC 取樣 → 峰值偵測 → MIDI 音符 → DAW。後面兩章只是替換最前面那一塊。

04
Chapter Four

彈奏樂器・拾音與放大

把釣魚線、鐵絲繃在海廢框架上撥弦,你會遇到打擊沒碰過的新問題:訊號太微弱。這一章的主角是運算放大器——它負責把微弱訊號放大到能用。

4.1兩條路:保留原音,還是觸發合成器

第一條路是用壓電片當接觸式拾音器(原理同第 3 章,只是這次貼在共鳴箱上聽振動)。它收到的是真實的撥弦聲,但訊號非常微弱。第二條路是把弦做成觸控感應,撥到就觸發合成器發音——這條走 MIDI,下面 4.3 會講。

4.2運算放大器:為什麼非放大不可

拾音器吐出的訊號可能只有幾十毫伏,ADC 根本量不清楚,雜訊還會把它淹沒。運算放大器 (op-amp) 做兩件關鍵的事:把小訊號放大到足夠大;以及做阻抗緩衝——讓微弱的訊號源不會因為「被後面電路吸走電流」而垮掉。

微弱輸入(幾十 mV) 運放 增益 ×N 放大輸出(夠 ADC 讀)
圖 4.1運算放大器把幾乎看不見的微弱訊號(左)放大成飽滿、清楚的波形(右)。波形形狀不變,只是振幅被乘上一個倍數(增益)。
非反相放大的增益

最常見的接法叫「非反相放大」,只要兩顆電阻就能設定放大倍數:增益 = 1 + (Rf / Rg)。想放大 11 倍,就讓 Rf 是 Rg 的 10 倍。常用型號像 TL072,雜訊低又便宜。

4.3電容觸控:把海廢金屬變成琴鍵

另一種做弦/鍵的方式是電容觸控。原理是:任何導體(海廢的金屬片、鋁箔)本身都有微小的「電容」,而人的手指靠近時會讓這個電容值變大。微控制器透過量測「對這個導體充電要花多久」就能偵測到手指——充電變慢,就代表被碰到了。

判定門檻 沒碰:充電快 手指靠近:電容變大、充電變慢 時間 → 量「到達門檻要多久」就能判斷有沒有被碰
圖 4.2電容觸控:沒被碰時導體充電很快(綠線),手指靠近增加了電容、使充電明顯變慢(紅線)。微控制器只要比較充電時間就能知道弦被撥了。

4.4光感:做一把光弦

還有一種有趣的玩法是用光敏電阻 (LDR) 做「光弦」:用一道光照著 LDR,手撥動時遮住光,電阻隨之變化。LDR 的特性是光越強、電阻越小,把它接成分壓器就能把「光的明暗」變成「電壓的高低」讀進晶片。

05
Chapter Five

植物電樂器

最後這章最像魔法:在一片葉子上夾兩個電極,把植物內部緩慢的電變化轉成旋律。它的挑戰是訊號極微弱又極緩慢,所以需要不同的量測手法。

5.1我們到底在量什麼

植物的葉片表面、組織含水量會隨著生理活動(水分輸送、氣孔開合)微微改變,這會反映成兩個電極之間電阻的緩慢漂移。我們量的不是「美妙的訊號」,而是這種漂移的波動,再把波動對應到音階上——所以同一株植物每次「演奏」都不一樣。

為什麼需要儀表放大器

這個訊號既微弱、阻抗又非常高(植物不是好導體)。普通電路一接上去就會把它「壓垮」。儀表放大器 (instrumentation amplifier),如 INA128,專門處理這種高阻抗微弱訊號:它輸入阻抗極高(幾乎不從植物抽電流),又能精準放大兩電極間的微小差異。

5.2經典低成本做法:555 弛張振盪器

不想用昂貴的儀表放大器,有個很聰明的老方法:用 555 計時器接成弛張振盪器,把植物本身當成電路裡的一顆電阻。它的運作是讓一顆電容反覆充放電,在 ⅓ 與 ⅔ 電源電壓之間來回,輸出一連串方波。關鍵在於:充放電的快慢由電阻決定,而那顆電阻就是植物——植物電阻一變,振盪頻率就跟著變。

⅔ Vcc ⅓ Vcc 電容充放電(鋸齒) 植物電阻↑ → 變慢 時間 → 電容在 ⅓~⅔ Vcc 間來回;植物電阻越大,來回越慢、頻率越低
圖 5.1555 弛張振盪器:電容在 ⅓ 與 ⅔ 電源電壓間反覆充放電。充放電速度由電阻(此處=植物)決定,所以植物狀態一變化,輸出頻率就跟著漂移——這份漂移就是我們的「演奏資料」。

5.3從頻率漂移到旋律

微控制器持續測量這個頻率,先做平滑把雜訊濾掉,再把頻率的高低量化(對齊)到某個音階上的音符——例如五聲音階,這樣不論植物怎麼漂移,出來的音都會好聽。最後一樣透過 USB-MIDI 送進 DAW,交給你選的音色去發聲。

06
Chapter Six

振盪器合成器・把電路接成樂器

前面五章的樂器,前端都得有一個「感測器」把現實世界的振動或漂移變成電。這一章換個玩法:介紹一塊雙振盪器類比合成器——它不靠任何感測器,電路自己就會「無中生有」地震盪出聲音。重點不在零件,而在一句話:同樣的零件、用跳線換不同接法,會發出完全不同的聲音。這正是合成器的靈魂。

這塊板子是什麼

它的心臟是一顆 CD4093(四組 2 輸入 NAND 施密特觸發器),用其中兩個閘做成兩個各自獨立的振盪器 OSC 1OSC 2,每個都帶「高低音」「音量」旋鈕跟一顆「電容」,並拉出「輸入 / 輸出」跳線接點;中間是「混音」把兩顆相加,右邊接一塊 PAM8403 功率放大模組推「喇叭」。整塊板用 9V 電池+ON/OFF 開關供電,並經一顆 L7805 穩壓器降成乾淨的 5V 餵晶片。你要做的,就是拿跳線把這些接點接來接去——怎麼接,決定它發出什麼聲音

6.1先看懂板子地圖

動手之前先把整塊板拆成幾個方塊。固定的訊號主幹是:兩顆振盪器 → 混音 → 功率放大 → 喇叭。每顆振盪器拉出來的「輸入 / 輸出」接點,就是你之後改接法、做花樣的地方。

9V 電池 · ON/OFF 開關 → 供電給整塊板 OSC 1 振盪器 高低音(音高)·音量 電容 = 音域 輸入 輸出 OSC 2 振盪器 高低音(音高)·音量 電容 = 音域 輸入 輸出 混音 1 + 2 相加 PAM8403 功率放大 喇叭 1 2
圖 6.1板子方塊圖。實線是固定的訊號主幹:兩顆振盪器各自出聲 → 混音相加 → PAM8403 放大 → 喇叭。紅點「輸入」、黑點「輸出」是拉出來的跳線接點——下面所有「花樣」都是在改這些點怎麼接。對照你拍的實照:左半是 OSC 1 / OSC 2 與各自的旋鈕電容,中間綠字「混音」,右下角小綠板就是 PAM8403

6.2振盪器怎麼「自己」發聲

振盪器的原理在第 5 章已經見過一次(555 弛張振盪器):讓一顆電容透過一顆電阻反覆充放電,到門檻就翻轉,吐出一連串週期波形——這就是聲音。這塊板用的是 CD4093NAND 施密特觸發器來當「門檻翻轉」的開關:每個閘配一組 RC 就是一個振盪器,輸出是乾淨的方波。一顆 CD4093 有四個閘,所以這塊板輕鬆塞下兩個振盪器還有剩。差別只在這塊板用旋鈕當那顆可調電阻。兩個旋鈕的角色因此很好記:

  • 高低音 = 改電阻 R:轉動它改變充放電的快慢,於是改變音高(頻率)
  • 電容 = 改電容 C:換一顆不同的電容,整體把音高搬到不同的音域
f  ≈  1R × C 頻率 ≈ 1 ÷(電阻 × 電容):R 或 C 越大,音越低

那「翻轉」實際長什麼樣?把一個 NAND 施密特閘配上一顆電容、一顆回授電阻,就是一台振盪器了。看下面這張接線骨架,你會發現板子上那三個跳線點(輸入 / 輸出 / 電容)其實就是這張圖的三個位置:

R = 高低音旋鈕 改充放電快慢 → 音高 C = 電容跳線 換大小 → 音域 ¼ CD4093 施密特 NAND 計時節點 電壓在此來回擺盪 輸入 第二腳 = gate 輸出 → 混音 / 喇叭 閘腳拉高 → 正常振盪 · 拉低 → 被掐住靜音(這支腳就是 §6.5 交叉調變的「輸入」接點)
圖 6.2一個 NAND 施密特閘 + 一顆電容 + 一顆回授電阻就是一台方波振盪器。輸出經回授電阻 R(高低音旋鈕)替電容 C(電容跳線)充放電,「計時節點」的電壓在施密特的上、下門檻之間來回,閘就反覆翻轉吐出方波,週期≈R×C——這就是 f≈1/RC 的實體。NAND 的第二支輸入腳拉出來就是「輸入」跳線:拉高才讓它振盪、拉低就掐住,正是後面 6.5 交叉調變借用的那支腳。
LED 是振盪器的眼睛

每顆 OSC 旁邊的 LED 會跟著振盪閃。頻率高時你只看到它「亮著」(其實在飛快閃);把電容換很大、頻率掉到每秒幾下,你就能用眼睛看到它一閃一閃——那正是聲音變慢成「節奏」的瞬間(下一節)。

6.3連接法 ①:單顆振盪器直出——純音與音域

最基本的接法:只用 OSC 1 的輸出 → 混音 → 喇叭。你會聽到一個穩定的純音。轉「高低音」音高上下跑、轉「音量」大小聲。真正有趣的是換電容:它決定這顆振盪器落在哪個音域。當電容大到讓頻率掉到 20 Hz 以下,耳朵就再也聽不出「音高」,只聽到一下一下的點擊——同一顆振盪器,瞬間從「樂音」變成「節奏」。

小電容 → 高音「嗶———」 頻率高、波很密 大電容 → 低音「嗡———」 頻率低、波變疏 超大電容 → 低於 20Hz 聽不到音高,變「點擊 / 節奏」 ↑ 一下 ↑ 一下 ↑ 一下(LED 看得到在閃)
圖 6.3同一顆振盪器,只換電容大小。小電容(紅)頻率高、波很密 → 尖細高音;大電容(綠)變低沉;電容超大讓頻率掉到 20Hz 以下(藍),人耳分不出音高,只聽到一顆一顆分開的點擊——這時 LED 也會慢到肉眼可見地閃。

6.4連接法 ②:兩顆一起混音——拍頻與和聲

OSC 1 與 OSC 2 都接進混音,兩個波形會相加。聽到什麼,取決於你把兩顆調得多接近:

  • 調到「幾乎同音」(只差一點點):會聽到「嗚——哇——嗚——哇」週期性脹縮的聲音,這叫拍頻 (beating)。脹縮的快慢,正好等於兩顆的頻率差——差 1 Hz 就每秒脹縮一次。這是調音的利器:把拍頻調到完全不動,代表兩顆一模一樣。
  • 調成簡單音程(如五度、八度):兩個頻率成簡單整數比 → 聽起來和諧、有和弦感
  • 差很遠隨便混:不和諧 → 粗糙、刺耳、機械感
兩顆接近的音 → OSC1 OSC2(略微失諧) 相加後 →
圖 6.4 ★兩個頻率很接近的振盪器相加。上面是兩條略微失諧的波(綠=OSC1、紅虛=OSC2),它們時而對齊(相加變大)、時而相反(互相抵消);下面相加後的結果,響度就以「頻率差」的速度一脹一縮——這條虛線包絡就是拍頻。把它調到完全靜止,兩顆就同音了。

6.5連接法 ③:交叉調變——一顆控制另一顆

這是這塊板最好玩的接法,也是「合成器」與「兩個各響各的蜂鳴器」的分水嶺:把 OSC 1 的「輸出」用跳線接到 OSC 2 的「輸入」。關鍵在於那個「輸入」接點,其實是 OSC 2 那個 NAND 閘的第二支輸入腳——對 NAND 來說它就是一個開關閘 (gate):這支腳是高電位時 OSC 2 正常振盪,被拉低時 OSC 2 就被「掐住」不出聲。於是 OSC 1 的方波,等於在用自己的節奏不斷開關 OSC 2。效果取決於 OSC 1 調多快:

  • OSC 1 調很慢(電容調大,每秒幾下、低於 20Hz):它變成一顆LFO(低頻振盪器),把 OSC 2 的聲音一段一段切開 → 斷續、顫音、機關槍般的節奏切分(gating / tremolo)
  • OSC 1 調到可聽頻段(快):兩個方波以聲音的速度相乘,長出一堆「和差頻」新泛音(近似 AM / 環形調變) → 金屬音、鈴聲、機器人聲、粗糙雜訊感
OSC1 慢方波 = 開關閘(gate) OSC2 只在「開」的時段出聲 → 靜音 靜音 慢 = 一段段切(節奏);把 OSC1 調快到可聽頻率,兩方波相乘 → 金屬音(近似 AM/環調)
圖 6.5交叉調變(gating)。上圖是被當成 LFO 的 OSC 1 方波,接到 OSC 2 的 NAND 閘輸入腳;閘為高電位(開)時 OSC 2 出聲、為低電位(關)時被掐住。於是 OSC 2 的音被切成一段一段(下圖),聽起來是斷續/節奏。把 OSC 1 調到可聽頻率,這個開關每秒上萬次,兩個方波相乘就長出和差頻泛音,變成近似 AM/環形調變的金屬音色。
想要「滑音警報聲」?

純 gate 切的是「有聲 / 沒聲」,音高本身不變。若想要音高連續上下滑的警報器效果,得把調變訊號接到會影響「電容充電快慢」的計時節點(有些板子也把它拉成接點),讓等效的 R 或 C 被連續推動——這時改變的是頻率而非開關。先看你手上的板子哪些點接得到,再決定玩哪一種。

6.6連接法 ④:自我回授——把它逼進混沌

最後一招最狂野:把一顆振盪器的「輸出」接回它自己的「輸入」。它會試圖調變自己,形成回授 (feedback) 迴圈——系統不再有單一穩定頻率,而是吐出爆裂、破碎、難以預測的 glitch 噪音。沒有公式能準確預測它,只能邊轉旋鈕邊聽,這也是 noise / 實驗音樂最愛的地帶。

放心大膽接

這些接法都在 9V 的安全電壓內,接錯頂多是「沒聲音」或「很吵」,不會燒板子。和第 3 章保護晶片的謹慎相反——這塊合成器的玩法就是大膽亂接、用耳朵找驚喜

6.7更多接法 ⑤–⑦:把兩顆綁在一起 & 對外連接

前面四種已經夠玩很久。等你接熟,板上那幾個跳線點還容許這些「進階綁法」——本質上都只是把同樣的輸入 / 輸出 / 混音 / Signal 接點換個方式串起來而已。

⑤ 雙向交叉調變——兩顆互掐。③ 是單向(OSC1 掐 OSC2);這裡再加一條回去:OSC2 的輸出也接回 OSC1 的輸入。兩顆同時當對方的開關閘,系統失去單一穩定頻率,長出會自己一直變化的節奏與破裂噪音。

OSC 1 方波 OSC 2 方波 1 輸出 → 2 輸入(掐 2) 2 輸出 → 1 輸入(掐 1) 混音 → 喇叭
圖 6.6 ★雙向交叉調變(互掐)。OSC1 輸出接 OSC2 輸入、OSC2 輸出又接回 OSC1 輸入,兩顆互相當對方的開關閘。沒有單一穩定頻率,會長出不斷自我變化的節奏與 glitch 噪音,每次轉旋鈕都不一樣——noise / 實驗音樂最愛的地帶。

⑥ 鏈式節奏——一顆同時當鼓又當旋律。讓 OSC1 掐 OSC2(③),但OSC1 自己也接進混音。你會同時聽到 OSC1 那個穩定脈衝(像鼓的骨架),疊上被它切過的 OSC2(旋律),做出「節拍 + 音色」的層次感。

OSC 1 慢方波(節拍) OSC 2 被切的旋律 當 2 的開關閘 也直接進混音 混音 → 喇叭
圖 6.7鏈式節奏。OSC1 一邊掐 OSC2、一邊把自己也送進混音 → 你會聽到穩定脈衝(鼓骨架)+被它切過的 OSC2(旋律)疊在一起,像簡易鼓機加上音色。

⑦ Signal 對外接點——雙向的橋。板子右下角那個 Signal 接點不是裝飾,它把合成器的訊號拉出板外,兩個方向都能用:送出——錄進電腦 DAW,或接第 3 章那種保護+ADC 前端讓 Teensy 取樣;灌入——把感測器電壓、甚至手機播的音樂當外部調變源餵進「輸入」。

Signal 接點 合成器訊號 出入口 送出 → 錄進 DAW / 接第 3 章 ADC 前端 ← 灌入 感測器電壓 / 手機音樂 當調變源 ↑ 一個接點,兩種玩法——這就是合成器和「閉門蜂鳴器」最大的差別
圖 6.8Signal 是雙向的對外接點。往外送,能把這塊板當 DAW 的音源(接回全書的訊號鏈);往內灌,能讓第 4、5 章的感測器或任何外部電壓控制這裡的振盪——海廢樂器和合成器就此合體。

6.8連接法速查表

怎麼接你會聽到為什麼
① 單顆 OSC → 混音 → 喇叭一個穩定純音;轉高低音變音高、轉音量變大小聲單一振盪器直接出聲
① 換更大的電容音變低沉;大到超過某值 → 變成一下一下的點擊f≈1/RC,C 越大頻率越低,低於 20Hz 就只剩節奏
② 兩顆都進混音(調幾乎同音)「嗚—哇—嗚」週期脹縮的拍頻兩個接近頻率相加,響度以頻率差脹縮
② 兩顆調成音程(五度/八度)和諧、和弦感簡單整數比的頻率聽起來和諧
② 兩顆差很遠混粗糙、刺耳、機械感不和諧頻率相加
③ OSC1 輸出 → OSC2 輸入(OSC1 調慢)斷續 / 顫音 / 節奏切分(gating)OSC1 方波當開關,以慢節奏掐開掐關 OSC2
③ 同上但 OSC1 調快金屬音、鈴聲、雜訊感(近似 AM/環調)兩方波以音訊速率相乘,長出和差頻泛音
④ OSC 輸出 → 自己的輸入爆裂、破碎、glitch 噪音自我回授把系統推進混沌
⑤ 1↔2 互接輸入/輸出(雙向)會自己變化、抓不住的節奏與破裂噪音兩顆互當開關閘,無單一穩定頻率 → 混沌
⑥ OSC1 掐 OSC2,OSC1 也進混音穩定脈衝(鼓)+被切過的旋律同一顆同時當節拍開關又當聲源
⑦ Signal 接點 → 送出 / 灌入錄進 DAW;或被外部電壓控制振盪對外橋接,串回全書訊號鏈或接感測器

6.9實體接點全圖——照著真板子玩

把前面的概念貼回真板子。下面這張圖照實際絲印的位置畫:左半是兩顆振盪器、正中央是 CD4093BE、右半是電源與放大。你在板上看到的每個字(高低音 / 音量 / 電容 / 輸入 / 輸出 / 混音 / Signal / 喇叭)都能在圖上找到對應。對照實拍照片就能一一指認:

OSC 1 高低音 音量 LED 輸入 電容 輸出 CD4093BE 四 NAND 施密特 R9 R1 R10 R2 C1 混音 1 2 輸入 電容 輸出 OSC 2 高低音 音量 LED 9V 電池 6F22 ON / OFF U2 · L7805 9V → 5V 穩壓 音量(總) PAM8403 D 類功放 Signal 對外接點 喇叭 1 2 擴充 / 接線區 輸入(gate) 輸出 電容(換 C) 混音 1 / 2 Signal 對外 旋鈕 LED
圖 6.9 ★實體接點全圖(照真板子絲印位置畫)。左半是 OSC1(上)、OSC2(下),每顆都有高低音、音量、電容、輸入、輸出、LED;正中央CD4093BE 與它的回授電阻(R1/R2/R9/R10)、計時電容 C1;右半由上而下是 9V 電池 + ON/OFF、L7805 穩壓、總音量、PAM8403 功放、Signal 對外接點、喇叭。中間那排金色孔是擴充接線區。橘=輸入(gate)、白=輸出、藍框=電容、綠=混音、黃=Signal——這也是下一張速查表的顏色。

6.10每個跳線點在做什麼——接點速查

玩法千變萬化,但能動的接點其實就這幾種。把這張表貼在板子旁邊,接線時對著查:

接點在板上哪裡它其實是什麼典型玩法
輸入(橘)每顆 OSC 左側NAND 閘的第二支輸入腳(gate)被別顆掐 → 節奏切分 / AM;接感測器當外部調變
輸出(白)每顆 OSC 右側該振盪器的方波輸出送進混音;或當別顆的調變源;或接 Signal 送出
電容(藍框 +-)每顆 OSC 中間決定頻率的計時電容座換大小選音域:小=高音、大=低音、超大=節奏點擊
高低音(旋鈕)每顆 OSC等效回授電阻 R轉動連續改音高(細調頻率)
音量(旋鈕)每顆 OSC + 右側總音量分壓器各 OSC 進混音前的比例;右側總音量控整體大小聲
混音 1 / 2(綠)中央偏右把兩顆相加的匯流點決定哪幾顆、用多大比例送進放大
Signal(黃)右下,近喇叭對板外的訊號出入口送出錄音 / 接 ADC;或灌入外部訊號當調變
擴充區(+ -)底部中央排孔電源 / 訊號接線預留孔自己飛線延伸、外接更多元件或麵包板
照片實測到的料

這塊板上我從照片確認的核心料件:中央 CD4093BE(德州儀器,DIP-14 四施密特 NAND)、U2 = L7805CV(9V→5V 穩壓)、PAM8403 D 類立體聲功放模組(自帶 470µF 濾波電容與音量旋鈕)、9V 6F22 電池。其餘是各 OSC 的回授電阻、計時電容與旋鈕。料就這些,所有可玩性都來自你怎麼把這幾個接點接起來

和全書的關聯

這塊板示範了訊號鏈的「最左邊」也可以不是感測器,而是一個會自己震盪的電路。把它的「輸出」接到第 3 章那種保護 + ADC 前端,Teensy 一樣能把它的聲音取樣進 DAW;或反過來,用第 4、5 章的感測器電壓去控制這裡的「輸入」,就成了「敲海廢 → 改變合成器音高」的混血樂器。零件就那幾種,差別永遠只在你怎麼把它們接起來

08
Material Guide

海廢選材指南

不是每件海廢都適合做樂器。挑選的關鍵,在於你想要它「發聲」還是「當骨架」,以及它的材質會怎麼影響音色。

7.1先理解:材質如何決定聲音

一個物體被敲擊時的音高與音色,主要由三件事決定:剛性(硬度)質量、以及阻尼(會不會把振動吸掉)。又硬又輕的東西振得快 → 音高、明亮;又重又軟、阻尼大的東西振一下就被吸住 → 低沉、悶。下圖把常見海廢放在這張地圖上:

高音 / 明亮 低沉 阻尼低(會響) 阻尼高(吸音) 響亮・餘音長 → 適合打擊 悶・吸音 → 不適合當發聲體 金屬罐 / 桶 玻璃瓶 大貝殼 硬塑膠容器 木板 / 棧板 軟 / 發泡塑膠
圖 7.1海廢材質地圖。左上角又硬又會響的(金屬、玻璃、硬貝殼)最適合當打擊發聲體;右下角阻尼大、會把振動吸掉的軟質與發泡材,敲起來悶,不適合當發聲體(但可拿來當吸震墊或外殼)。

7.2三類樂器的選材原則

樂器類型想要的特性適合的海廢避免
打擊(發聲體)會響、餘音長、剛硬金屬罐桶、玻璃瓶、硬塑膠容器、大貝殼、浮球濕軟材、發泡塑膠(吸音)
彈奏(骨架+共鳴箱)夠硬,能撐住弦的張力木棧板、硬塑膠箱、金屬框;弦可用釣魚線、不鏽鋼絲、廢漁網線易變形的薄軟材
植物電(外殼 / 容器)防水、能盛土種植塑膠桶、玻璃罐;金屬件可順便當電極座會滲水或鏽蝕污染的容器

7.3處理與安裝:海廢的三個前置步驟

除鹽、徹底乾燥

海水的鹽會腐蝕電子元件與金屬。先用清水沖掉鹽分與沙,再徹底陰乾;金屬件可順手除鏽。潮濕會讓電路短路或生鏽。

去除危險

修掉尖銳邊緣、生鏽穿孔處,戴手套處理。有油污或異味的塑膠先洗淨,避免黏膠黏不牢。

安裝感測器

壓電片要黏在「平整、剛硬」的面上(例如罐底中央),用環氧樹脂(AB 膠)或熱熔膠固定。貼在會振動、但又不會把聲音悶掉的位置,訊號最乾淨。

導電性的小提醒

要做電容觸控(第 4 章)時,金屬海廢本身就能直接當觸點,很方便;但若金屬件是用在壓電打擊,記得讓壓電片與金屬之間隔一層絕緣(膠、膠帶),避免兩極短路。

09
Hands-On

動手做:讓海廢發出第一個音

前面把原理和接線都走過了。這一章把圖 3.8 的電路接上 Teensy、寫一段程式,讓「敲一下海廢罐 → Logic 響一聲鼓」真的發生。這是整本書的終點,也是你所有後續樂器的起點。

8.1環境準備

裝 Arduino IDE + Teensyduino

先裝 Arduino IDE,再裝 PJRC 的 Teensyduino 附加套件——它讓 IDE 認得 Teensy,也帶來 usbMIDI 這組函式。

選對板子與 USB 類型

在「工具」選單把開發板設成你的 Teensy 型號,並把 USB Type 設為 MIDI(或含 MIDI 的組合)。這一步是 Teensy 能被 Mac 直接認成 MIDI 裝置的關鍵。

接好圖 3.8 的電路

壓電片經 1MΩ 洩流、5.1V 齊納箝位、1kΩ 限流後接到 A0,Teensy 的 GND 接電路的地。先在麵包板上接、量過電壓再上電。

8.2程式碼:壓電觸發 → USB-MIDI

這段程式做四件事:讀 A0 的電壓、抓出敲擊的峰值、把峰值換算成 MIDI 力度、送出音符;並用鎖定窗忽略餘震(去彈跳)。對應的正是第 3 章每一個觀念。

// 海廢壓電鼓 → USB-MIDI(Teensy 4.x)
// 工具選單:開發板選 Teensy、USB Type 選「MIDI」

const int PIEZO_PIN  = A0;     // 壓電片(經保護電路)接 A0
const int MIDI_NOTE  = 38;     // 38 = General MIDI 軍鼓
const int MIDI_CHAN  = 10;     // 第 10 軌 = 打擊樂

const int THRESHOLD   = 60;    // 觸發門檻(依壓電片調)
const int MAX_READING = 700;   // 最用力敲時的峰值讀數
const unsigned long MASK_MS = 30;  // 鎖定窗:忽略餘震(毫秒)

unsigned long lastHit = 0;

void setup() {
  analogReadResolution(10);    // 讀值範圍 0–1023
}

void loop() {
  int v = analogRead(PIEZO_PIN);

  if (v > THRESHOLD && (millis() - lastHit) > MASK_MS) {
    // 抓峰值:5ms 內持續取樣,留住最大值
    int peak = v;
    unsigned long t0 = millis();
    while (millis() - t0 < 5) {
      int r = analogRead(PIEZO_PIN);
      if (r > peak) peak = r;
    }

    // 峰值 → MIDI 力度(1–127)
    int velocity = map(peak, THRESHOLD, MAX_READING, 1, 127);
    velocity = constrain(velocity, 1, 127);

    usbMIDI.sendNoteOn(MIDI_NOTE, velocity, MIDI_CHAN);
    usbMIDI.sendNoteOff(MIDI_NOTE, 0, MIDI_CHAN);
    usbMIDI.send_now();

    lastHit = millis();        // 開始鎖定窗
  }

  while (usbMIDI.read()) {}    // 清掉接收佇列,保持穩定
}

8.3三個要自己調的數字

  • THRESHOLD(觸發門檻):太低會被雜訊誤觸發、太高要很用力才響。先設 60,邊敲邊用序列繪圖器看 A0 讀值來微調。
  • MAX_READING(最大力度讀值):你「最用力」敲時的峰值。設準了,力度 1–127 才會對應得剛好。
  • MASK_MS(鎖定窗):忽略餘震的毫秒數。太短會一敲變連擊、太長會漏接快速連打,30ms 是不錯的起點。

8.4在 DAW 裡測試

插上 USB

Teensy 接上 Mac,它會以 MIDI 裝置出現,免裝驅動。

開一軌軟體鼓

在 Logic / Ableton 開一軌、載入鼓組音色,確認該軌接收 MIDI 輸入。程式送的是音符 38(GM 軍鼓)、第 10 軌。

敲下去

敲海廢罐,鼓聲就出來,而且輕敲小聲、重敲大聲。恭喜——你的第一件海廢電子樂器完成了。

接著往哪走

把同一套骨架複製、換不同音符就成了多顆鼓的鼓組;把感測器換成拾音器配運放(第 4 章)就成了彈奏樂器;換成 555 + 植物(第 5 章)就成了植物電樂器。訊號鏈不變,你只是一直在替換最前面那一塊。

想邊看邊練接線,我另外做了一個互動式麵包板模擬器:可以把元件一個個裝上模擬麵包板、透視它內部怎麼連通,再把訊號從海廢一路送到 DAW。

10
Appendix

元件總表・學習起手式

A.1該認識的元件一覽

元件它解決什麼問題出現章節
壓電片把敲擊/振動轉成電壓(也能當接觸麥)3 · 4
電阻分壓、洩流、限流、設定增益1 · 3 · 4
齊納二極體箝位:設一道電壓天花板保護晶片3
電容濾波、交流耦合、觸控感應、振盪計時4 · 5
運算放大器放大微弱訊號、做阻抗緩衝(TL072)4
儀表放大器放大高阻抗的極微弱訊號(INA128)5
光敏電阻 LDR把光的明暗變成電阻變化(光弦)4
555 計時器做弛張振盪器,把電阻變化變成頻率5 · 6
NAND 施密特振盪器不靠感測器,電路自己震盪出方波;改 R/C 變音高音域(CD4093)6
穩壓器把 9V 電池降成乾淨的 5V 餵邏輯晶片(L7805)6
功率放大模組把弱訊號放大到能推喇叭(PAM8403)6
微控制器讀電壓、運算、輸出 MIDI/音訊(Teensy 4.x)2

A.2建議的學習順序

先把「最小可動原型」跑通

一片壓電片 + 一顆 1MΩ 電阻 + 一顆齊納 + Teensy。目標:敲一下海廢,Logic 裡響一個音。整條訊號鏈跑通比讀十章都有用。

玩力度與去彈跳

讓輕敲小聲、重敲大聲,並調鎖定窗讓一敲只響一下。這一步你會真正理解第 3 章。

加入第二種樂器

把拾音器接上運放,體會「放大」的必要性;或做電容觸控的光弦/琴鍵。

挑戰植物電

用 555 方案最便宜:把植物當電阻,聽頻率漂移變成旋律,再量化到五聲音階。

給自學者的提醒

所有圖表裡的數值(40V、Vz、增益倍數)都是示意,實作時請依你手上零件的規格書(datasheet)為準。麵包板上先試、量過電壓再焊接,是最安全的習慣。