2012年11月28日 星期三

[創作] 動態中心2.0



《動態中心 2.0》是從去年6月做到今年10月,創作歷時超過一年的作品。如果以專職創作來謀生的話,產出效率這麼差,我可能會因此會餓死..

不過也許是評審老師們看見了這類型作品的細節,在連續投稿以及慘遭貢估三年後,今年總算得到數位藝術節的獎項!所以,我還是繼續慢慢做下去好了(也快不起來就是)。

----------------------------以下為作品說明----------------------------

“因為每個宇宙都在自身的環繞裡自成天地,每個宇宙都集中於一個核心、一個胚胎、一個動態平衡的中心;這個中心強而有力,正因為它是一個想像的核心。” —加斯東.巴舍拉 [1]

藝術之所以動人,是因為它提供了觀眾想像的空間,讓觀眾自身經驗能夠聯結作品。正如同普魯斯特所提出的:「好的文學作品應該具有一種外國語的氣氛[2]」,這件事情除了可以在文學中成立,更可以用來表示藝術品所應具備的狀態,在內容上提供了一些模糊的空間,去容納觀眾的各種想像投射。在《動態中心》作品中,視線可及之處都有一個核心小圓球,「核心」是個容器代表接納各種情感投射,環繞核心旋轉的象徵符號則代表觀看的角度或是依附著核心的事件。核心與符號彼此處於某種不對稱的引力關係,就如同宇宙中恆星與行星間彼此依附的平衡。

作品開始的發想來自生活的觀察,我們生活中遇到無法解決的問題時,常會假設如何跳脫主觀,以第三方的角度去思考問題,經驗告訴我們當觀看的位置不同,得到的論點也不同,觀看的角度導致對同件事情產生不同認知。提供多種觀看的方法都為了在作品中營造一種氛圍,這就彷彿身處濃霧一般,讓觀眾解放既定印象悠游其中。霧中的一切皆隱晦不明,觀眾的自身想像就是其所得,濃霧雖然提供各種想像空間,不過透過影音的結合給予暗示,觀眾可以找到自己的切入點,這就是筆者所稱的《動態中心》。



[1]加斯東.巴謝拉 著,龔卓軍 譯(2003)。《空間詩學》。張老師文化。
[2]高子衿 著。《黑暗的清澈—袁廣鳴談2011個展「在記憶之前」》。典藏今藝術,231 180-181



[教學]以數學建構規則平面



在這個練習裡,透過數學公式決定了3d模型的樣貌。
該模型公式為:sqrt(x*x+y*y)+3*cos(sqrt(x*x+y*y))+5 from -20 to 20



延伸閱讀:http://www.webgl.com/2012/03/webgl-demo-google-search-3d-graph/

File Download

2012年11月27日 星期二

[創作]無限猴子理論



讓一隻猴子在打字機上隨機地按鍵,當按鍵時間達到無窮時,幾乎必然能夠打出任何給定的文字,比如莎士比亞的全套著作。
en.wikipedia.org/wiki/Infinite_monkey_theorem



2012年11月24日 星期六

[筆記-57] 打開mac os 被隱藏的資料庫

pd有些plugin 要安置在/Users/name/Library的路徑中

不過在lion後,mac已經把這資料夾隱藏起來,如果要顯示這路徑

可以這樣做:打開終端機,貼上以下訊息 按下enter

chflags nohidden ~/Library/

2012年10月29日 星期一

[創作 ]模擬電影"異型"裡面的界面設計


(Alien 1979)

電影“異型”第一集裡,有著1979年的電腦動畫界面設計,自己對於這種極簡的繪圖很感興趣,所以就用pd模擬了當太空船登入地面時的空照地形圖。



在本範例中,我則是透過音樂的振幅轉化成沙盤圖的峰高,調變山脈的增長比例,並且隨機的讓中心點的高度倍增,或是角落倍增,形成有趣的起伏運動。





File Download



2012年10月28日 星期日

[教學]大量對象的碰撞偵測(區域偵測)




總而言之這個範例是示範如何用區域偵測來取代距離偵測,以提高電腦運算效能。











File Download

2012年10月13日 星期六

[心得]混種現場看完李駿有所感

圖片取自圓圓的分享

李駿是這幾年影響我很深的朋友之一,因為他我才對Pd產生熱誠,進而演變成我現在的創作方式。透過自由軟體打開創作的黑箱,以數位的方式與觀眾對話,擺脫laptop music常見的疏離感。

昨晚的演出中,李駿透過live coding 的方式演出,然而就算是身為pd重度使用者的我,也完全無法理解他的程式邏輯..Q__Q。而這一切但卻無損表演的精彩度,因為他透過細節的堆疊,演出中持續地與觀眾對話( 利用 comment),在patch裡他以切換連線的位置讓觀眾得知效果(左右聲道),以及逐漸增加的音色以及節奏pattern,讓觀眾在聆聽演出的過程中仿佛看到藝術家正親手一磚一瓦的方式建構起聲響的烏托邦。如此創作方式讓不具任何程式背景的觀眾,也可以在充滿手感(圓圓的形容)的手法中,自由的解讀他們所看到的訊息。

袁廣鳴老師曾多次對我們說過:「好的文學作品應該具有一種外國語的氣氛,有一點點無法完全掌握和模糊,但正是由於這樣的狀態,讓我們能夠對於作品產生更多的想像。」,我仿佛在李駿昨晚的演出中得到了如此的驗證。


影片取自台北國際藝術村的分享

2012年9月29日 星期六

2012年9月26日 星期三

[活動]塊陶啊,OT Ball !




OT有趣的團康活動又來了(誤),上面影片是我預備參賽的範例,有興趣的朋友我們本週六見!!


網址:http://www.openlabtaipei.org/2012/08/ot-ball.html



OT 社群將舉辦多人集體創作程式動畫展〈塊陶啊,OT Ball !〉,在此敬邀各路使用不同自由軟體程式的大大們共襄盛舉,讓我們手牽手、圍成圈,一同進入球球的異想世界吧 ;-)

請各位大大們在活動日前,以「球」為主題,並依照遊戲規則與程式規定 (詳見下面說明),天馬行空地創作一個程式動畫作品。活動當天,請大大們帶著自己的筆電與動畫程式到活動地點,我們會將所有參加的大大們的筆電圍成一個圈,透過 OSC  的訊號傳遞,依序播放每個人的球動畫,讓球永不止息的流動 (塊陶啊,球球!)。也歡迎不會寫程式的朋友一起來參與,不用有壓力,不必想太多,一起來玩吧~

時間:2012.09.29 14:00 ~ ???
地點:超越基金會  台北市南京東路二段 160 號 10 樓

遊戲規則:
自備筆電乙台
使用自己擅長的自由軟體程式進行10~20秒內動畫創作
要有梗(必要)
軟體程式必須能接收 OSC (OpenSoundControll)

程式規定:
球為白色,背景為深色
可現場調整球的尺寸、起始位置、結束位置
OSC 訊號為 /ot 1
有任何問題,請來信 honki,或是義不容辭加入Facebook 的 openlab.taipei 來討論。

2012年9月23日 星期日

[工作坊]打開音像盒-音樂視覺化範例

二維陣列範例





DOWNLOAD




一維陣列範例





DOWNLOAD

[工作坊]打開音像盒 day2




這個範例裡面我們自訂了一個物件[musicbox]物件,並且該物件提供了四個外部輸入參數

參數ㄧ:X軸的座標,並影響[osc~]的頻率。
參數二:Y軸的座標,並影響[square~]的頻率。
參數三:繪圖物件大小,並影響節奏(值越大演奏速度越快)。
參數四:該物件的演奏音量。

最後在演奏時透過新增[musicbox]以及調變參數,就可以產生不同節奏、頻率的音樂。



DOWNLOAD

[工作坊]打開音像盒 day1

今天的最終範例是希望透過滑鼠輸入座標來影響音樂的整體音高及節奏



DOWNLOAD

2012年8月21日 星期二

[工作坊]打開音像盒



dac真的是超佛心的單位,課程完全免費耶!!好課程不來嗎?XD


活動簡介:
數位音像(Audiovisual)是一種新的影像及聲音的鏈結關係,它解放聲音跟影像的傳統羈絆,讓影音除了同步外,內在資料彼此還能共享、共構。課程中,我們會利用音高,音量來繪製影像,同時也會利用影像的顏色,形狀,來產生聲音。聲音跟影像都不再是誰的附屬品,創造新的共感體驗。

在本課程中將透過開源軟體PureData(簡稱Pd)來教學,Pd是一種圖像化的程式語言,撰寫程式的過程有如堆積木,非常適合藝術家、設計師等沒有程式背景的人使用。Pd優異的即時音訊處理以及開源特性,在國內外都廣受歡迎。

[表演] TranSonic 2012

Dynamized Center 2.0 
這應該是我2012年最重要的演出,正加緊努力準備中,大家一定要來看阿!!

http://www.digitalperformingarts.tw/2012dpaf/programs/program03.html

活動介紹:
由國立臺北藝術大學藝術與科技中心負責策劃,邀請跨國創作團隊,以聲音創作表演形式為主體,超越聲響的界限,結合聲音、影像、互動控制、器樂與裝置等多媒材跨界聲音藝術表演,以更深入更細緻的創新實驗,突破前衛聲音美學的極限。三場極限演出由不同創作風格的藝術家擔綱,有享譽國際知名聲音藝術家後藤英(日)、Kangding Ray(德)、eRikm(法)、dj sniff(日),臺灣最具指標性聲音藝術家王福瑞,以及臺灣最耀眼的新生代聲音藝術家張永達、王仲堃、王新仁。打開耳朵或摀上耳朵,探索你感官最幽微的潛意識。

售票網址:
http://www.artsticket.com.tw/CKSCC2005/cart/cart00/ShowNonMap.aspx?PerformanceId=KNuR%2bD%2bV64s%2bY2yPDVjyTg

2012年7月26日 星期四

Perfume global site project 開源計劃




日本電音少女Perfume釋出了他們的舞蹈動態資料(motion capture),目前提供了

processing、of、maxmsp等官方example。官方雖然漏了pd可是我自己還是很想玩,

所以試了幾種方法,包含一開始透過processing範例以osc訊號送骨架資料給pd,不

過這方式效能很差,最後嘗試出來的方法是把官方提供的.bvh檔,透過

processing的[BvhParser]把骨架資料送到pd,及改寫bvh規則轉成txt檔,

再透過[qlist]把data載入陣列裡­,就完全能用pd執行。

pd example

[隨手玩]電子培養皿 22

2012年7月15日 星期日

圓形跟矩形的碰撞


當我們GAME在一起工作坊期間,某組學員們想挑戰經典遊戲乒乓

所以包含我以及其他講師們都幫忙開始改寫起這支程式,Collision Detection Function

本支程式是用來偵測圓形跟矩形的碰撞,在javascript裡面其實很好寫

不過因為該程式裡面有許多return 等副程式的用法

在pd中比較少遇到這類型的邏輯,所以我一開始改寫時找不到要領

直到了工作坊結束的隔天才寫出來,實在有些汗顏...

以下為我在pd裡面處理return的方式:

return 通常伴隨著判斷式,當條件符合需求時,程式就中斷,執行另外一個功能。

不過因為pd 的程式邏輯屬於data flow 的方式,有連線的的物件都會驅動,所以要在pd裡面

模擬return,就必須使用[spigot]這物件,將預設開關都中斷,直到符合需求才啓。


圖示中,當條件一滿足時,程式就中斷並且送出結果。當條件一不滿足時,訊號才會送給條件二讓程式繼續執行,依此類推。


有興趣的朋友可以下載來玩,檔案在此
https://dl.dropbox.com/u/8772021/circle-rectangle-v3.pd

2012年7月2日 星期一

當我們GAME在一起 工作坊 demo patch 1




當圓球到白色區域時,必須照著球體的編號觸發鍵盤,太早太晚按下都不行。成功時會累加score,失敗會累加miss。

file download




當我們GAME在一起 工作坊

跟小黃、kino在暑假要辦一個工作坊,內容主要以PD來設計簡單的互動遊戲。

入過北藝大的朋友,歡迎來探班阿~XD

http://www.facebook.com/groups/332490300154445/

《當我們Game在一起》互動遊戲工作坊

日期: 7月3日-7月6日(四天)
時間:上午10:00~下午18:00
地點:台北藝術大學 新媒體藝術學系
講師:王新仁、黃聖傑、陳育群
助教:張宜婕、蔡奇宏
學員資格:北藝大新媒體系所學生,報名人數上限為20人,以「大學部99級」優先、其次「碩 士班100級」,最後其他同學。

工作坊說明:
互動藝術本質就是設計的一種,所以在這次工作坊中,我們將帶領學員使用開放源碼的軟硬體來設計互動遊戲,並透過簡單的演算法讓學員理解遊戲的組成,期望在工作坊結束前,讓每個學員都能夠完成自己的互動小遊戲。
更多FLOSS+ART 說明

附註:為響應開源精神,本工作坊所有成果(程式碼)都會公開,請欲參與者注意。





更多參考文件:
https://docs.google.com/document/d/15UHSdE6zNficMpDWU_dCLAmasFQOptMnNocZGDzXGWc/edit

2012年6月2日 星期六

▌pd note_79 多聲道輸出

pd 多聲道輸出時,記得要改channel數,不然就算建立了[dac~ 1 2 3 4]這樣物件,還是只會有2 聲道。

2012年5月22日 星期二

2012年5月21日 星期一

兩個矩形的重疊區域




假設有兩個矩形A和B,矩形A的左上角坐標為(Xa1,Ya1),右下角坐標為(Xa2,Ya2),矩形B的左上角坐標為(Xb1,Yb1),右下角坐標為(Xb2,Yb2)。

當滿足下面兩個式子時,兩個矩形相交:                
1.abs( Xb2+Xb1-Xa2-Xa1)<=Xa2-Xa1+Xb2-Xb1                  
2.abs(Yb2+Yb1-Ya2-Ya1) <=Ya2-Ya1+Yb2-Yb1

且相交的區域座標為:
左上(max(Xa1,Xb1),max(Ya1,Yb1))    
右下(min(Xa2,Xb2),min(Ya2,Yb2))



file download

公式引用至:http://hi.baidu.com/hytjfxk/blog/item/32348c35c6637b8ca61e12c8.html

2012年5月18日 星期五

[Openlab Taipei] logo計畫



https://github.com/akinoshi/ot-logo-demo

最近OT有一個新計劃,就是大夥想藉由OT新的logo來共同創作。

每個人可以發揮想象力,把基本的logo圖形,翻玩演生成新的動畫。

所以不管是P5,Pd,或openframework,只要是自由軟體相關創作工具都很歡迎

最後集結大家作品後,也許會有一個正式的發表演出,並藉由工作坊來分享或教學。

下面這個範例是我用Pd的graphic data structures 寫的,不過因為我也沒那麼熟這功能

所以這個版本只能算是小小惡作劇,接下來我會用gem寫一個更完整的作品~




檔案下載

2012年5月2日 星期三

[筆記-56] [soundfiler]增加原本長度

[soundfiler],這物件預設的最大值是容納90秒的資訊
也就是90*44100=3969000 的陣列
當我們要載入更長的音源時,可以使用[maxsize(,來擴展長度

例如我有一個檔案長達3分25秒,如圖一


(圖一)


我這時可以先用[maxsize(,把[soundfiler]增大,如下圖


這樣一來連3分25秒也可以成功寫入陣列裡了。

2012年5月1日 星期二

如何在pd播放音源檔


本次教學是用pd-extended 0.43版製作
其他版本雖然也可以開,不過會出現亂碼(仍可運作)
0.43版的[soundfiler]這物件能夠分析音源的總取樣數似乎比較多
0.42版的檔案時間如果長於一分半好像就會出問題

(2012/5/2修正,0.42.5的版本可以參考這裡http://www.dazegraffiti.com/2012/05/pd-note78-soundfiler.html)

不過如果你自行把檔案秒數乘於44100每秒取樣數,你還是可以正確的
撰寫程式把檔案寫入array中。

以下影片為本次示範



File Download

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


2012年3月26日 星期一

2012年3月12日 星期一

2012年3月11日 星期日

久違的寫生!(228公園)



雖說每次去228公園畫畫都有陰霾(曾經被阿伯騷擾過.囧),不過跟這地點實在很有感情。

唸復興的時候,老師就常帶我們來這寫生,服役時也是在台灣博物館服務,

在加上我超級愛公園號的炒麵(竟然不是酸梅湯),所以只要是下雨天想寫生,

228公園通常是我第一選擇。(多虧為數眾多可遮風擋雨的涼亭)

今天賴皮畫的很不錯,不虧是我生命中的水彩勁敵!!!

跟他出門真的不能掉以輕心阿。

下面這張是賴皮畫的↓




2012年2月23日 星期四

PdCon2011 MovingResonance



當時的表演有三段,不過這個影片被主辦單位剪輯成短版,所以只有第二段出現在影片裡。
完整版大家可以來這邊看


2012年2月17日 星期五

TechMeetup-2012開春的第一個演出



時間: 2月21日 8:45~9:00
地點:臺大資訊工程德田館 R103 室
表演內容:動態中心 Dynamized Center
藝術家:Aluan Wang

近來有點煩躁,一方面是因為即將返回學校念書了,但論文卻毫無進度,二來是即將滿30歲的我,對自己的一無所成感到沮喪,心中那些可敬的對手,飛快的甩著車往前飛進,別說是看到他們的車尾燈,連引擎聲我都聽不到...

去年下半年我也都在為錢苦惱,苦惱沒錢繳學費,苦惱沒錢過生活(感謝超挺我的太太),也短暫離開學校去為錢打拼,想必2012上半年仍然還是會為錢煩心,畢業展等阿裡阿雜都要花錢,撇開麵包不說,欣慰的是在作品方面算還有點小收穫,去年12月失聲祭表演的內容,就是我2011下半年努力的結晶,雖然作品的聲音還有待加強,但影像方面真的是我苦思努力所達到最好的結果,自己也非常喜歡這個作品阿!



2月21日這個表演,我將把失聲祭LSF54的演出內容在重新詮釋一次,歡迎所有的朋友一起來給小弟指教指教(歡迎鬧場),而這表演也我滿30歲後的第一場演出(就在生日的隔天),而且很可能會創下我表演以來最多觀眾人數(想必都不是為了我!大寶、巧三算你們行!),希望這表演是達成而立目標的號角聲,我會鞭策自己更努力,我要早日而立阿!!!!!

2012年2月15日 星期三

[筆記-53] 清除pd的預設值

有時候因為專案的需求,會在同台電腦上裝不同版本的pd去做測試,我自己常常就是在0.42.5跟0.43之間反覆的安裝切換。

但不同版本的pd卻只會用同一個預設設定,所以有時候就算移除0.42.5的pd,改用0.43版本,它依然還是會呼叫0.42.5的預設值,這時候跑程式就容易產生一些錯誤。

為了要避免這個錯誤,我自己的經驗是手動把存在電腦的預設值刪除,
在osx的系統裡,這些設定值會放置在/Users/name/Library/Preferences裡,可以搜尋pd等關鍵字去找到這些文件。

在安裝不同版本pd之前,手動把 org.puredata.pd.wish.plist 這檔案刪除吧。

2012年2月1日 星期三

Pd模擬P5的範例 「Springs」

原始的springs範例: http://processing.org/learning/topics/springs.html

在這支程式裡,當滑鼠移動到圓球內,就可以改變圓球位置,不過因為受到不同阻力,和圓球本身帶的重力影響,拖拉不同圓球時,球的運動方式都不同。並且當滑鼠釋放後,圓球就會以不同的彈性回到原本的座標。


在改寫這支程式時遇到點小問題。問題雖小,可是因為我誤解了他的意思,所以花了一些時間撰寫,在這裡我把我誤會的地方提出來跟大家分享。


// Make sure no other springs are active
  boolean otherOver() {
    for (int i=0; i
      if (i != me) {
        if (friends[i].over == true) {
          return true;
        }
      }
    }
    return false;
 }

以上這段程式是原本spricgs範例裡,當單一物件開始動作時,能避免其他物件不會被選取。而我一開使誤會成迴圈一定要跑完,函式才會結束。其實當if (friends[i].over == true) ,這個條件成立時,就會回送boolean值true給otherOver(),迴圈以及函式就結束了,而如果迴圈跑完,還沒有任何條件成立時,才回送false給本函式。


物理運動真的很趣,在改寫的過程也對processing越來越瞭解,歡迎大家下載來玩看看~

File Download

2012年1月17日 星期二

2012年1月16日 星期一

k-object mouseover





這個物件可以用來做簡單的邊界偵測,第一個輸入孔為滑鼠現在位置,2、3 輸入孔為左上角的邊界坐標,4、5輸入孔為右下角邊界坐標。

如果滑鼠位於偵測範圍內,輸出1,反之輸出0。

File Download