2010年12月26日 星期日

fluxus-note (with-state)

在fluxus中,(with-state.....)內的訊息回繼承之前訊息,但不會把訊息送出,只會作用在(with-state)中



在上面範例中,一開始就先在x坐標位移3個單位,所以可以看到綠方塊跟紅球都有受到作用。
但當我們在(with-state)裡下得縮小跟位移y軸4個單位的指令,只有作用在綠色方塊,紅球不受影響。

fluxus-puredata 交互練習一 遞迴扭曲的球體

2010年12月25日 星期六

fluxus-note if 判斷式

在fluxus裡if的文法是這樣的,(if(判斷式)(ture時輸出)(false時輸出))

所以在下圖的案例中,因為(bb 15)的bb>0,會選擇輸出(+ x 100),所以答案是115。

fluxus-note cond判斷式

在fluxus中,有兩種判斷式的寫法

其中一種cond是這樣子用的,(cond ((條件判斷)輸出結果)),舉一個例子

如果是fluxus>(cond ((< 3 5) 1111 )),在這個式子中3<5成立,所以會輸出1111這個值。

但是如果在上述的例子中,如果條件不成立,不會有任何東西輸出。

為了避免這問題,我們可以寫成(cond ((>3 5) 1111)(else 2222)),這個例子最終輸出是

2222。










更進階的使用方式是,我們可以可以幫物件取一個名稱,並且藉由判斷物件的數值在來進行動作

程式可以寫成

(define (aa x)(cond ((> x 100)(+ x 100))(else (- x 100))))

所以在上述的例子中,當我輸入(aa 15),因為 aa>0,所以會進行 x+100的動作,這裡會輸出115。當我輸入(aa -100)時,因為aa<0 所以答案會是-200。


2010年12月9日 星期四

[筆記-39] 用[qlist]來當陣列 筆記ㄧ



把.txt檔案放在跟.pd檔的同個資料夾裡(上圖的資料夾名稱為test_qlist)





1.這程式首先用迴圈去產生10組數值

2.每組的內容分別為(name , $1,($1*2),($1*2)+1)

3.然後將檔案寫入 aa.txt

4.print出aa.txt內容,又或者可以透過[route 變數],把每組的第三個參數顯示出來。

2010年12月6日 星期一

▌pd note_55 快速的綁定nanoKONTROL的方法


這裡只要在route裡面新增頻道名稱,例如1-4 1-5 1-6.......
就可以新增其他控制頻道。

2010年12月2日 星期四

googlecode&終端機&Mercurial 筆記

之前要跟李駿一起寫pd的tweener(其實多半是他寫的,我根本毫無作用)

然後這裡有一些使用Mercurial的相關語法(在終端機底下輸入),來提醒我自己快去寫tweener。


常用功能
hg clone https://pd-tweener.googlecode.com/位址
//將檔案從google code抓回

hg status
//檢查有無變更檔案

hg remove 檔案名稱
//移除檔案

hg add 檔案名稱
//新增檔案


上傳檔案
hg commit -u 你的@名稱 -m "這版本的更新內容"

hg push
//上傳檔案


拉回檔案
hg pull
//將遠端檔案拉回(在這之前要先cd 到資料夾裡)

hg update
//檢查有無其他變更

2010年11月1日 星期一

▌pd note_54 [gemmouse] 的滑鼠坐標





[gemmouse $1 $2],後面兩個參數可以決定滑鼠在gem視窗裡的x,y坐標的最大值

也就是就算你的視窗是500px *500px,如果你使用了[gemmouse 2 2 ],那麼gemmouse就會自動把你的寬mapping到2 。

今天才發現可以這樣使用,之前在那邊傻傻的換算真是太蠢了.....>.<

2010年10月31日 星期日

▌pd note_53 [msd] 初探一



筆記一
需要不停的送出bang去驅動msd,在這範例裡是20毫秒。

筆記二
一開始須送設定值給msd,參數內容如下

[mass $1 $2 $3 $4]

$1:身分(string)
$2:固定或是可移動(0 or 1)
$3:質量
$4:初始位置


[link $1 $2 $3 $4 $5 $6 $7 $8]

$1:身分 (string)
$2:身分 第一個質量(int)
$3:身分 第二個質量(int)
$4:剛體
$5:阻尼
$6:剛體距離的力量
$7:最小長度的連結
$8:最大長度的連結

[Xmax $1,Xmin $2]

設定所有位置的數值最大以及最小值


筆記三
透過[posX symbol名字 $1],可以即時改變物件的參數

筆記四
當cc開始移動時,他會影響其他3個bbb的位置,位置改變的關係是透過[link]裡aaa的參數去決定。

2010年10月30日 星期六

[筆記-38] 小心gridflow 造成的物件命名重複

前一陣子有在研究box2d,這陣子為了distortion city這專案想要重新來開啓,但卻怎樣也無法正確使用。

我花了很多時間還是找不到問題點,因為我也沒動過原先的patch,抓官方最原始的example來使用,也無法正確執行。

後來經過一行一行debug才發現,原來是安裝了gridflow後造成的物件重複命名的關係,原先box2d裡用了很多[range]這個物件,然後gridflow也有同樣物件,所以系統就無法讀到原先的[range]這功能。

解決的辦法是,在本來的物件裡都加上flatspace這名字,也就是將[range]都改成[flatspace/range],程式就可以正常運作。

最後你可以透過command+f and command+g 來找尋程式中有用到的[range]物件,這樣做比較能夠確定名字都有改到。

2010年10月29日 星期五

[筆記-37] [vline~]



[vline~]可以用來產生線性的聲音訊號

在左邊的範例裡,訊號會先從任何一個值跑到數值5花一秒鐘,然後跑到4花兩秒,在從4跑到0花0.5秒。

右邊的範例裡,是從任何一數值跑到5花五秒鐘,可是因為我第二個訊號是寫跑到0花0.2s,並且在訊號開始後delay2秒開始進行,這會造成訊號還沒有跑到5時(約莫跑到2),就會從遞增變成遞減,然後跑到0。

?--------(2...?)----------0


<------------2.2s-------->

2010年10月16日 星期六

[Workshop] PdDJ – PureData Basics & GUI Workshop

PdDJ 工作坊 – 從PureData入門到學習如何在Pd裡設計個人化的 – 像DJ操控盤一樣的控制介面設計,由兩位教學與表演經驗豐富的數位藝術家,教導大家如何將一大堆連結線與元件有條不絮地做整理,增加不管是用在表演或是控制硬體時能夠提高易用性。

換個角度講就是避免下圖的狀況…

from http://goto10.org/pure-data-and-sound-design-workshop/

[
講師]

數位藝術家 – 陳惠娟 (Yuen)

數位藝術家 – 王新仁 (阿亂.kicko)

[課程內容]
第一天針對初學者做PureData基礎入門教學,第二天銜接第一天課程,針對在PureData裡運用圖形化介面設計做控制教學。

[時間]
第一天 | 時間: 2010年11月6日 10:00 ~ 17:00

第二天 | 時間: 2010年11月7日 10:00 ~ 17:00
[地點] (暫訂) URS 896工作室,地址:中華路一段89之6號3F,近捷運西門站二號出口直走

[工作坊目標]
1. 學習如何使用PureData產生聲響與編曲。

2.學習如何在PureData中透過互動圖形介面的設計,增加操作使用性。

[上課注意事項]
上課前請先安裝下列軟體 *是指需要安裝的
1. PureData – pd-extended*

2. 自備熟悉的繪圖軟體 (如Photoshop、Fireworks、Inkscape等軟體)

[活動費用]

單場 600

兩場 1,100

11/5 前匯款完成 – NTD 500 & NTD 1,100 (請於匯款後提供匯款帳號後五碼)
11/6-7 當天現場繳費 – NTD 600 & NTD 1,200
*匯款帳號於收到報名資料後會與報名成功確認信一併回覆您

[報名方式]
請至下列網址填好表格後送出,我們會盡快寄給您報名確認信
http://idbi.us/mini-art-n-design/workshoppddj/

2010年10月14日 星期四

轉貼 失聲祭 Listen 40

Laking Sound Festival Listen 40




15, October Friday
Nan-Hai Gallery Entrance Time 19:20 Starts Punctually At 19:30
Entrance Fee: Free (Please arrive early as seating is limited)

《No-input》

Mr. Matrix
Both of them study in Graduate lnstitute of New Media Art, Taipei National University of the Arts. They are active in trying every possibility to combine sound and image.

● Experience
2010 National Taiwan Museum of Fine Arts DREAM|MERSION - Cyclorama Digital Art Creation Series from the Society for Arts and Technology, Canada
2010 Performance in Taipei Contemporary Art Center
2010 Sound Bits Huashan Creative Park Leacy Performance with tickets selling
link [ kickowang ] [ jzzxh.piano-forever.com/bo-blog/ ] [ youtube1 ] [ youtube2 ] [ youtube3 ]
● Performance Introduction
[Maybe Pythagoras figured this way~]
It’s not like what we did before which we used [noise~] to make unharmonious sound. We try to give each acoustical generator the possibility to be completed by others this time. So we set some rules as responds to Pythagorean theory, every sound can be reasonably matched.
Besides, in our performance, we break the rule that the images were controlled by the sounds. We control the images and make group behavior in a hypothesized world bring some relative consonance in the real world.
Chang, Yo-Sheng
Chang is the host of Kandala Records, a modern noise brand in Taipei, also the planner of “NOISE80000V” in the brand festival (it will be held in Aug, 21th and 22th this year). He is a noise musician and the impromptu guitar player in Jump Off Overpass, and performed several times in Nanhai Gallery. His works include Taiwan Free Sound disc 2, published by KR, and an upcoming personal noise album “Spry”.

● Performance Introduction
mixer + tape + contact mic+ pedals = no-input
www.myspace.com/tujiu
____________________________________________________________
失聲祭 Listen 40
10/15 星期五
南海藝廊Nan-Hai Gallery 19:20入場 19:30準時開始
免費入場 (座位空間有限 請提早入場)

《無輸入行為》

矩陣先生
兩人目前皆在北藝大新媒體研究所就讀中,積極嘗試聲音與影像結合的各種可能。
● 過去經歷
2010 國立台灣美術館 沉浸之境 加拿大SAT中心360度環景數位影像表演 2010 當代藝術中心演出
2010 Sound Bits 華山創意園區Leacy 售票演出
● 作品連結
[ kickowang ] [ jzzxh.piano-forever.com/bo-blog/ ] [ youtube1 ] [ youtube2 ] [ youtube3 ]
● 表演簡介
[也許畢德哥拉斯如此解~]
有別於以往用[noise~]來製造不合和諧的噪音
這次我們試圖在每一個獨立的發聲物件上,都賦予單一被眾多完整的可能
所以我們訂定了些許規則來回應老畢的和諧理論,讓每個聲音都能夠被合理配對。
並且在表演中脫離以往聲音主控影像的慣例。我們操控影像,
讓虛擬世界的群體行為,都能夠在真實空間中產生相對共鳴。

張又升
台北前衛噪音廠牌旃陀羅唱片 (Kandala Records: http://kandalarecords.tw) 主持人,廠牌音樂祭 "噪音八萬伏特" (NOISE80000V) 策劃人 (今年 8/21、8/22 舉行)。噪音樂手,跳天橋 (Jump Off Overpass) 即興吉他手,曾多次在南海藝廊演出,作品可見於 KR 發行的 Taiwan Free Sound 雙 CD 合輯 (disc 2),以及即將發行的首張個人噪音專輯 "活潑" (Spry)。
● 表演簡介
mixer + tape + contact mic+ pedals = no-input
www.myspace.com/tujiu
__________________________________________
Translate: Brenda Chan
Graphic Design:夜止寐

2010年10月11日 星期一

[也許畢德哥拉斯如此解~]



[也許畢德哥拉斯如此解~]
矩陣先生|Mr.Matrix


南海藝廊
10/15 Fri. 19:30

這是這禮拜五我跟小黃在南海藝廊的表演,請大家有空的話就來看吧~

2010年10月7日 星期四

[筆記-36] [pix_rgba]

在mac裡面pd做影像偵測記得要把顏色改成rgba,以下是補完官方的用法

不然官方的patch無法正確執行


2010年10月1日 星期五

移動中的共鳴

這個作品是為了本學期的評鑑所製做的,構想來自於暑假期間進行的程式小練習,並且集結了之前對pd的嘗試,也算是我學pd一年的總成果大集合。

會想要用滑鼠去控制影像進而生成聲音,起因是因為看了田所淳上次來北藝大的表演,當時他的演出中,就是用滑鼠去生成影像,而這樣的表演方式對我來說很驚奇,效果我也非常喜歡。所以在這個作品裡,我就選擇了用影像去控制聲音,而不是傳統的聲音生成影像。

表演分成兩段,第一段的演出中,當我繪製完一個矩形,它便會自動分裂以及合成。矩形 分裂時會因為體積的不同而產生不同聲音,並且當矩行分裂出來的體積接近3:2時,因為頻 率比的關係,會產生和聲(consonant)。當多個物件都進行移動及分裂,便能夠產生有趣的 共鳴聲。

第二段演出中,繪製完的矩形則會自動往左右以及上下分裂,並且因為移動路徑的不同, 左右耳也會有不同的頻率及節奏在腦中流竄,而當反覆的繪製成比例的矩形時,就會聽到 數位世界中的矩形,發出彷彿真實世界中,森林裡眾多生物互動發出的共鳴聲。





我有把這件作品投稿到今年數位藝術節的數位音像類,不過應該是慘遭滑鐵盧了,一點消息都沒有......但也沒關係,因為包含了福瑞老師、李駿、阿堃、413、蝦爸、圓圓等眾多朋友們,都表達了對這件作品的喜歡,這對我來說也就夠了!!!哈哈哈



P5的基本繪圖_5 Recusion

在procession裡面要做遞迴非常簡單,只需要撰寫幾行程式碼就好,我本以為在pd也會很容易完成,沒想到卻花了整整4天才研究出來........

我一開始用msg的物件去動態產生新的patch去做遞迴,但後來發現動態產生的新的物件並無法直接將數值就嵌在裡面(例如產生新的[drawcircle 100 100 8]後數值load不進來),所以後來才改用將遞迴的過程儲存進陣列裡,然後藉由親子關係去演算得到最終結果。

在做的過程中,深刻感受到pd與processing的差異,也知道自己做這樣的嘗試很可能只是多此一舉,可是內心那把對pd熱愛的火焰,還是逼著自己一定要想出辦法來完成。縱然被景仰的前輩說:”夠了!!STOP!! “。但如果沒有達到我想要的目標,我根本無法停止下來........


以下是是processing的範例


void setup()

{
  size(200, 200);
  noStroke();
  smooth();
  noLoop();
}

void draw() 
{
  drawCircle(126, 170, 6);
}

void drawCircle(int x, int radius, int level) 
{                    
  float tt = 126 * level/4.0;
  fill(tt);
  ellipse(x, 100, radius*2, radius*2);      
  if(level > 1) {
    level = level - 1;
    drawCircle(x - radius/2, radius/2, level);
    drawCircle(x + radius/2, radius/2, level);
  }
}


--------------------------------------------------------
processing的程式碼真的很短,但是如果是在pd請看以下



差異真的很大吧?!
唉..不過也有很大可能是我功力不夠,所以如果誰有更好的做法,請告知我。



檔案在這裡,請大家試著玩看看吧。檔案下載

2010年9月30日 星期四

P5的基本繪圖_4 Easing

以下是processing的原始碼

範例在這


float x;
float y;
float targetX, targetY;
float easing = 0.05;

void setup()
{
size(200, 200);
smooth();
noStroke();
}

void draw()
{
background( 51 );

targetX = mouseX;
float dx = targetX - x;
if(abs(dx) > 1) {
x += dx * easing;
}

targetY = mouseY;
float dy = targetY - y;
if(abs(dy) > 1) {
y += dy * easing;
}

ellipse(x, y, 33, 33);
}


以下是puredata的做法
需要注意的是,在processing 是透過void draw()去跟新畫面,在pd的做法我是讓gemhead產生bang(send bb),去觸發easing的效果。





檔案下載

2010年9月26日 星期日

P5的基本繪圖_3

在processing練習中,我們自定了[drawtarget]這個function,這包函式裡包含了圓圈的大小,位置,顏色,以及複製的數量。

因此我們只要重複呼叫[drawtarget]就可以快速的產生多組圖形。

我在pd中也是用一模一樣的做法來玩成這支程式,包含物件命名以及參數的對應都相同。不過需要注意的是,在processing裡圓的直徑如果是200時,是填滿整個螢幕的大圓。而pd卻是直徑4為填滿視窗的大圓.

然後就算我在pd開了[FSAA 8]來反鋸齒,算圖品質依然是大輸processing阿...so sad






檔案下載

P5的基本繪圖_2

在這一個練習裡,紅色的直線會隨著時間往上移動(y軸移動),然後移動到最高點,會返回視窗最底點做循環移動。

然後我實在不懂gem的座標到底怎麼計算,正常當畫面是預設值大小是x,y(500px,500px),他預設的y軸最高點為4,最底點為-4。但這個範例裡長寬為x,y(200px,200px)時最高點就變成3,最低點為-3,它座標的轉換邏輯是甚麼我實在搞不懂?

有人能解答我嗎?






檔案下載

P5的基本繪圖_1

最近因為某些原因要開始玩processing,不過因為我對逐行撰寫的程式語言很有恐懼感,

所以我想照著processing官方網站上的教學開始練習起。但畢竟我程式的啓蒙是pd,

所以為了在練習processing時不荒廢pd,我規定自己每當我完成一個processing程式時,

我就用pd寫一個一模一樣的,證明processing可以的pd也都行。

以下是我第一個processing練習,畫面裡是一個縱橫交錯的棋盤線。

在撰寫這影像的過程,processing裡只要少少幾行就可以撰寫完畢,但pd就得複雜弄一大串。

我自己也很明顯的從這一個範例中體認到,在繪圖功能上processing實在遠勝pd阿。








檔案下載

2010年9月2日 星期四

playaround 2010 助教筆記三

第三天

今天是工作坊純教學的最後一天,後兩天的課程排定是讓學員自由創作。
也就是這樣,今天李駿拿出他的獨門絕活殺手鐧!!
也就是他把玩pd中最讓人嘖嘖稱奇以及瞠目結舌的Live codeing 教學!!

所以其實我也聽不太懂.....所以本文到此結束..............


好啦,上述都是因為我其實很逃避接下來要講的,所以為了騙字數在亂打...
以下進入正題,不過我真的也不太懂,所以應該解釋的也......

李駿在live codeing 中最長使用到的就是[phasor~],它是一種鋸齒波,波型如下圖


由此圖可以看出,[phasor~]是一種在0跟1之間做循環線性增加的波型,因此我們可以借用此特性來控制,生成,合成一段聲音。



上圖中[phasor~]產生了訊號給[osc~]產生正弦波以及調變了音量,並且我們可以看到[phasor~]下面接了[expr floor($v1*8,0)],這代表就算[phasor~]經過調變產生了大於1以上的值,他都只輸出小數點以上的訊號出去給[osc~],而音量則做從無聲到最大聲的變化。



上圖中[phasor~ 1] 上面的inlet數值改成0.25。我們知道[phasor~ 1]代表 一秒鐘振盪一次,那0.25就會變成經過4秒才振盪一次,也可以說我們產生了持續四秒的聲音,而我們在[*~]上接了一個toggle去控制開關。


上圖的意思是,我們加入另外一種波型去做合成音色,並且因為有兩種波型,所以我們都把音量遞減一半,也就是各乘於0.5。順便解釋一下訊號會變成怎樣...

[phasor~ 1]-----------------訊號目前是0到1

|
[expr~ abs($v1-0.5)*2]-----------------訊號目前是1到0到1

|

[expr~ floor($v1 * 16,0)]--------------訊號目前是16到0到16(都是整數在跑)

|

[expr~ ($v1 *7)%5]-----------------------做三次0-3-4-1-2的循環,接著三次0-2-4-1-3

我知道大家到這裡已經有想死的感覺了,所以我用數值訊號把他印出來給大家看。


如影片中最後輸出的訊號就是做三次0-3-4-1-2的循環,接著三次0-2-4-1-3。

ㄜ....如果真的有人可以看到這裡還沒end,我一定能夠理解你心情,我實在也很不想繼續解釋下去了呀!!丟鍵盤........
我還記得當時學員們的眼神有多空洞,可是李駿還是繼續教下去了(如下圖)


我記得課上到這裡時我還理解78成,可是就在我想要把他融會貫通,正在冷靜思考時,一扎眼
程式就變成這樣了(如下圖)


然後我就跟學員們一起放棄了!!!喔ya~~~~

而且我一回頭就看到李駿露出這樣的表情(青光)

幫他補足內心話 駿神:“科科....看我一口氣嚇死你們”.......


後來駿神總算大發慈悲停止了live codeing的教學,我想應該是看到大家發愣的表情,
開始進行比較簡單的pd連線演奏教學(又好玩),而且課程中還擷取到別組發出的pd訊號,
我們還趁機駭客進去惡搞亂送數值進去,只是都沒聽到樓下傳來哀號聲就是....

以下幾張圖是連線教學,我就不細解釋了...






這大概就是我們這幾天的教學,希望別組或是我們這組同學,都能藉由我這亂七八糟的紀錄,
學到甚麼東西。



最後這是李駿兩年前在youtube上放的live codeing練習,大家可以看看他有多變態!!上面對他來說根本是小菜一碟。





ps.文中對李駿的玩笑,都是因為我太愛慕他,並且愛不到才刻意詆毀他,請大家不要輕易模仿。並且還是趁機在表達一下對李駿的感謝,因為沒有他一年前的分享傳授,哪有現在的我阿(雖然也不怎樣)...


文----結束

playaround 2010 助教筆記二

第二天



早上的課程延續昨天的用amen break來顆粒合成。在昨天我們要改變amen break的組成方式時,必須手工的去做連接,這不是個完整的做法,一來要產生新的播放規則都得重連,二來聲音播放時只能有一種撥放可能......所以在早上的課程中,我們便利用昨天沒教的[select]這個物件來做條件判斷,當音樂結束或重頭開始時,程式都能夠自動切換到另外一種播放規則。
檔案下載

下午的課程主要是要用puredata的gem物件來製造影像。
何謂gem呢?以下摘錄honki在Puredata.Taiwan做的中文介紹

GEM的全名為 "Graphics Environment for Multimedia" ,是專門用來處理視覺創作的工具。它是pd-extended 其中一個函式庫。使用 GEM,在 Pd 裡可以產生與操縱 2D 、 3D 圖形和動畫,處理與修改例如影像和視訊的媒體,並且產生粒子運動......



課程的一開始,李駿先講解了在pd當中,如何製造for迴圈,因為之後的課程,
幾乎都建立在利用for 迴圈去建立綿延不斷的圖形變化。




當我們能夠產生迴圈,我們便可以利用[repeat]及[separator]這兩個物件將參數賦予在迴圈產生的多重物件,並給與獨立參數。(影片中將不同的物件,賦予每個坐標sin &cos的變化後,就可以將多個物件排成圓形) 檔案下載





在上gem物件的李駿

課堂的最後,李駿用上述的方法製造了三個不同的圓圈,它們的開口會隨著時間的流動而改變,這樣等同於我們利用gem來製作時鐘,下課後李駿也給了大家回家作業,叫大家試著變更時鐘的構成,顏色變化等等。(影片裡,我簡單調變了顏色)

gem時鐘下載

還有一些有的沒的上課的檔案都放在這裡


---------------------------------

李駿除了是聲音製造處理的專家外,大家知道他也很熱愛瑜珈,此外他還有一件大家不知道的專長就是!!?.....................隔空抓藥(大誤





2010年9月1日 星期三

playaround 2010 助教筆記一

第一天

李駿介紹了amen break 的歷史,並藉由amen break後來造成的影響(影響hip pop等多種樂風),
去敘述開放原碼及使用自由軟體的重要性。


wiki的介紹

接著的課程,就是教導學員們如何將聲音載入到puredata的陣列當中,並且藉由有規則邏輯的去讀取陣列,
來讓 amen break 的鼓聲產生新的組成方式。

下載amen break





這支程式將amen break 這段鼓聲切細為32等分,影片中可以看到我用了四種邏輯去播放amen break,第一種是正常播放,第二種是反著撥,第三種的邏輯是當陣列的索引值是0,2,4時抓取原本的訊號,1,3,5時則亂數決定。第四種則全亂數。

工作坊第一天的教學檔




---------------------------------

ps雖然就連蔡老闆都在上課時特地跑來調侃李駿的香蕉合成器,不過駿神就是威,不顧世俗眼光的在眾人面前勇敢把玩(誤

2010年8月29日 星期日

▌pd note 47 [pix_buffer]&[pix_freeframe]

pix_freeframe & pix_framebuffer from kicko on Vimeo.



[pix_buffer]

1.記得要宣告buffer儲存的名字跟量。

2.Z軸位置要退到-4

3.gemhead 的layer 層級

4.[pix_snap] 的截取範圍



[pix_freeframe]

1.安裝完後,記得去Preferences/path ,將放置的檔案入徑載入。

2.特效說明
http://freeframe.sourceforge.net/gallery.html

3.pd windows 會告知每個inlet的功能。


檔案下載
http://dl.dropbox.com/u/8772021/pix_buffer-test.pd

2010年8月20日 星期五

▌pd小練習_ 模組化osc振盪器

製造osc 機器人 from kicko on Vimeo.


這個練習有點像是自己動手去寫一個自定的函式,然後你就可以在呼叫這函式的時候,在最初的時候把數值先輸入進去。
也可以在之後去調變它。

藉由這個觀念,我們就可以做出影片裡的範例。我做了一個osc的發聲的模組,在這模組裡可以自定音高跟發聲的節奏,
然後呼叫出多個這模組,就可以自動發出多個的音高跟節奏。


檔案下載
http://dl.dropbox.com/u/8772021/osc_robot.zip

[筆記-34] 更改gui物件的接收名字


puredata-tutorial from kicko on Vimeo.

首先我們可以看到[bang] 屬性裡的receive-symbol 的名字是 diane,

藉由此我們才有辦法去對[bang]的 send-symbol及receive-symbol去做更名。

所以當我將receive-symbol的名字變更為kicko後,我才在message裡輸入[;kicko send

rename],去把[bang]裡的send-symbol 改成rename。

這招可以用在如果你已經做好一個模組的程式,當你複製一份後,會因為接收名字重複造成訊

息錯亂,就可以用這招。

ps.經堯後來教我更酷的做法,下次在介紹

2010年8月17日 星期二

▌pd小練習_ 用gem來畫拼板舟的船眼

蘭嶼-拼板舟




前兩天在蘭嶼玩得時候,常常會看到上圖的patten出現在蘭嶼的街道上,後來才知道這是他們拼板舟上的船眼。

坐火車回來的路上,就一時興起想用pd把它畫出來。本來以為很簡單,但後來發現pd沒有向量的遮罩時,差點以為做不出來,

不過後來找到pd有[disk] 這個物件,就用他來模擬遮罩來完成此圖的繪製。


檔案下載
http://dl.dropbox.com/u/8772021/Lanyu.pd

/-----

2010年7月21日 星期三

▌pd小練習_ 任意的頻率來產生相對八度音


隨意一個音都能夠產生八度音 from kicko on Vimeo.





根據wiki上對12平均律的解釋:將八度音等分為十二等分,其數學意義如下:
八度音指的是頻率加倍(即二倍頻率)。因此在八度音中分為十二等分乃是分為十二個等比級數,其結果就是每個音的頻率為前一個音的 倍。


[ expr $f2*(pow (2, ($f1/12))) ]

ps 影片裡的 fa 位置有錯,然後圖片跟檔案都是正確的。




檔案下載

[筆記-33] [seq] 存取midi訊號


[seq] test from kicko on Vimeo.

前兩天圓圓問到pd有無可以讀取.midi檔的方法,當是我回答我也不清楚。
因為我的midi訊號都是在pd產生,或是藉由鍵盤等樂器將訊號輸入。
後來honki提到其實pd有[seq]這個物件來存取midi訊號,我才知道pd原來還有這功能。(那當初sound bit 我寫的要死不活是怎麼回事......)
總之在pd裡可以透過[seq]這物件來載入外部midi檔,也可以將自己在pd產生的訊息匯出成外部的midi檔。

影片中的測試分成兩部份,第一部份是我去載入網路上找到的midi檔,第二部份則是藉由akai的lpk25,來簡單的彈奏快樂頌。
並且將訊息儲存成.midi檔,在把它讀取播放出來。

2010年7月20日 星期二

[筆記-32] [vcf~] voltage controlled bandpass



就我目前所瞭解[vcf~]它跟[bp~]的差異,就只有center frequency 的輸入不同(一個是聲音訊號,一個是數值)的差異...

有人能跟我說明更多其中不同嗎?

[筆記-31] [bp~] bandpass filter 帶通濾波器


[bp~] 簡單來說就是一個帶通道的聲音濾鏡,我們可以透過center frequency去選擇讓它通過的頻率,也可以透過Q點去調整過濾的大小(數值越大,得到的頻率越準確)。

[bp~]左上的inlet是原始頻率 中上是 center frequency 右上是Q點。