Music Programming on Processing!
JFugue 是一個提供"音樂程式設計"的開源 Java API,有音樂背景的程式設計者不需要懂如何呼叫複雜的 MIDI 訊號,只需要短短幾行程式碼,即可輕鬆做出樂曲。
JFugue 讓撰寫音樂程式更輕鬆,例如下例:
Player player = new Player();
player.play("C D E F G A B");
僅需新建 (new) 一個 Player 物件,即可讓他照你的需求撥放音樂 (C D E F G A B) (do re me fa so la te)
在官方的範例中,更是輕鬆撰寫膾炙人口的童謠"兩隻老虎"程式碼。
Using Patterns to Build a Song
Sheet music for "Frere Jacques" (Chinese "Frere Jacques" named "兩隻老虎") |
![]() |
// pattern1 "兩隻老虎" |
官網上還有許多音樂程式範例,也能為您的程式碼或pattern換不同的樂器(Instrument),或是平行撥放,例如為你的歌曲配上鼓聲。
這裡放上一些官方提供的 JFugue 產生的 MIDI:frerejacques.mid beat16.mid
以及一些電子資源:http://www.jfugue.org/book.html
不過,看到這裡或許有些人很納悶用程式碼寫出死的音樂有何有趣?
因此不能免俗的,我們順手把它包成 Processing 可用的囉,還順便包了三個範例進去。
這樣一來,用 Processing 或 Arduino 製作跟音樂有關的互動小作品將簡單許多!
(網路上已有人將 JFugue 包進 Android,所以這篇討論的範圍便不包含囉,請見諒)
JFugue Java API: http://www.jfugue.org/
JFugue for Processing (including examples & apache log4j library) [Download]. Package Wrapped by DK Tai-Wei Kan (with example code).