2012年4月30日 星期一

pd 0.43 搶先試玩


主要是測試新版全新gui功能,包含

1.自動連線
2.物件功能提示
3.顯示訊號串流狀態
4.提示資料庫有哪些物件

2012年4月25日 星期三

自製 VU Meter

雖然pd就有內建vu meter

不過這個案例是為了實體的裝置去撰寫,只是在這邊我用pd的gui表現出來(用toggle模擬燈)

在這支patch中,總共模擬了五個led燈(當然可以更多,arduino共有13個digital out)

當音量超出某個值後,分別的led 燈就會有各自的亮暗變化,如圖一

(圖一)


以下為內部程式圖





File Download

2012年4月18日 星期三

[筆記-55] [$0-]區域變數與全域變數




[$0]的用法:不同文件中,如果用了同樣的名字就會接收到同樣訊息,例如範例中把一個訊息送給x,兩個pd file都會收到值(a1.pd& a2.pd),這叫做全域變數,有時候為了避免這種情況,我們會把接收名稱上多加個[$0-]的訊息,本來的訊息就會變成區域變數,所以範例中a2.pd的檔案,[r $0-x]就收不到a1.pd送的值。

[筆記-54] [$1]的意思



其實就是變數的意思,可以理解成$1=x,$2=y
並且他會依造訊息的先後順序排列,如訊息[1 2 4(中 [$1 $2 $3]的值分別為$1=1,$2=2,$3=3。

2012年4月12日 星期四

[隨手玩]電子培養皿 9


Sound Toy,是一個可以透過數學模型去創造音色的實驗網站,當你自定好數學公式後,你可以藉由封包調變(envelope)或稱ADSR,用振幅調變頻率去創造音色。最後你還可以透過下方的midi鍵盤,彈出你的完整樂音。

當我看到這網站後,就很想試著用Pd來玩看看。我首先挑了Sound Toy上面比較簡單的例子drum1,他的數學式為y=max(-1.0,min(1.0,8.0*sin(3000*t*exp(-6*t)))),以下是我在Pd的做法




File Download


寫完一個後欲罷不能,馬上又翻玩了另一個範例drum3,他的數學式為:
f = 1000-2500*t;
y = sin(f*t);
y += .2*random();
y *= exp(-12*t);
y *= 8;

在Pd我是這樣做的,如下圖


File download

最後我把drum3的數學式套上[phasor~ 1],去取代原本讀取陣列的方法,來製造一段簡單的旋律,請看下圖



File Download

數學真的太有趣了,也許過幾天有空的話,我再來把全部式子改寫完,哈哈XD