2009/3/15

為什麼我要選擇puredata?

剛剛打完李駿的影像控制筆記後,可能自己的熱血又在沸騰,自己也很莫名其妙的想要寫一下自己學習程式的過程以及對於puredata的看法,自己的思緒整理一下






一切要回到最初,自己對於數位創作的接觸應該是從錄像創作的接觸作為一個起點,到後來對錄像創作形式的不滿足,而這開始我對於數位創作中互動性的追尋,當時著眼正在發表的互動數位藝術創作,總是可以發現這些作品會運用到一些電腦程式的參與。為了達到我創作的目的,我開始一路學電腦程式語言,從flashactionscrptprocessing我的初步,但是這第一步搞得我快瘋掉,尤其是自己看書與搜尋網站自學,根本很難理解什麼是變數、迴圈、判斷式等這些專業概念,雖然後來有理解了,不過也繞了一大圈與花了許多錢在買有程式的書籍上。
不過後來在這領域的資料看多了總是會看到更多的可能與出口,因為能解決問題的方法不只一種,後來發現這世界有許多天才在做出很好玩又簡單化的工具,如圖形化編寫程式語言,個人認為是最偉大的發明,如果維大力炸醬麵是窮人的救星(基本上它是啦,幫我省下一筆生活開銷又好吃又便宜),那麼它就是幫助程式語言沒天份的人又想進入數位互動創作的最好朋友,它幫你重建對於電腦程式的信心並且幫助你用圖形的方式去瞭解程式的最基本原則,如邏輯、規劃、變數等。當我知道有這東西后,就開始一段旅程找資源去學這些工具,其實用這種概念開發出來的軟體很多,如Max/mspvvvvPuredata等,這些工具最為數位藝術創作所廣泛使用,在台灣以Max/msp為多數,然後發現台北藝術大學有王福瑞老師在教Max/msp,不過當我知道後好像已經沒有上這樣的課程,但是也知道有另一位魏德樂老師在教vvvv,那時候我就從這邊下手,厚著臉皮請求老師給予旁聽,現在回想起來老師是很好的人,不僅教技術也給予一些數位基礎的知識打好基本功。
這裡插花一下,作一下Max/mspPuredatavvvv3套軟體簡介。前兩者工具都是同一個父親-Miller Puckette所開創,而vvvv Sebastian Oschatz Max Wolf所研發的,都是使用圖形化編寫程式語言與資料流動的操作概念,這裡有幾個些微的差異是Max/msp可以執行在MACWINDOWS平台,但是以我的朋友PUTA(聲響藝術家與台灣著名的失聲祭負責人)的經驗分享,它在MAC的穩定度最好,而且它的視覺介面是三個中最好的和兼具設計感,使用它的介面過程中真的是蠻爽的,那種感覺就像從windows跳到mac的作業系統,而且也是裡面的年長者Vvvv只能在WINDOWS平台上執行,它的專門領域是在視覺表現與互動裝置上,原初是德國一家互動設計公司MESO內部自己專用的開發程式,可以在國外一些互動建築、裝置和表演看到它的出現。但後來不知道為何開放出來為半自由軟體(也就是說你可以自由使用,但是要作為商業用途你必須付費),台灣玩Vvvv玩的最猛的是丙哥-廖克楠(他是很厲害的藝術家,說他撐起最近幾年的台灣數位藝術後面的技術部份半邊天,對於熟悉這領域的人,我想是沒有人有異議的)。Puredata則是Miller PucketteMax/msp開發公司回到學術界之後的作品,然後把它的程式碼完全開放,一個自由軟體(floss)並且可在各個作業平台上執行,連你手上的ipodiphone也可以,當然它在Linux的版本的支援度是最好的。它原本只是處理聲音的部份,後來很多駭客、程式設計師幫它另外在寫了處理其他領域的擴充(external),如專門處理圖形GEM。所以他不僅可以處理聲音也可以做好影像與互動裝置的部份,總之這個軟體工具基本上都可以處理到上述所提到的創作範圍以及各自有擅長的地方,只是端看你要做什麼創作目的最為順手,選擇跟你最有緣份與好學上手的版本就好。
其實對我而言,在圖形化編寫程式語言的軟體學習,我也是照著Max/mspvvvvPuredata一路學下來,最早印了2大本的中文說明手冊(由聲響藝術家李岳凌所翻譯的,有興趣可到M之道看看)來看,Max/msp還是一直學不上手,在學vvvv的時候就很快,當時有好老師在帶與課堂上的討論是很大的原因,這一點相當重要,有朋友可以一起分享討論會讓學習的曲線成倍數成長。好玩的是,當時學vvvv的時候就大概知道Puredata的存在,可是它的使用者介面實在簡潔到我不想去瞭解它(可見我是外貿協會的),不過到了2008年時,我參加了玩趣工作坊遇到了李駿老師,才讓我瞭解Puredata更深層的紋理。
於是我又走了一大圈軟體學習後,但為什麼最後決定選擇Puredata作為自身的創作工具,這個選擇的原因是來自於工具它本身的自由開放性以及軟體是藉由社群的自發性與熱血力量去成就,因為我深深的相信內心的熱情去作一件事跟為了工作去作事,這兩者的出發點是有很大的差異,尤其這點差異讓自由軟體比商業軟體更加擁有即時性、更為豐沛的多樣性(許多外掛)與貼近使用者的特性,不斷的修正符合使用的需求(這也是缺點造成自由軟體的些許不穩定,但任何事都有兩面性)。在加上現在的自由軟體逐漸成熟,自己基於一些原因也想慢慢將數位工具、平台轉換成Linux的版本(原因是錢的因素以及不想一直被資本所控制…)。另外有時候人所創造的媒體工具也會反過來改變自身對各種事物的態度,從李駿於Puredata的實踐和創作,我看到駭客(這裡指的是正面意義,致力於自由軟體的開發和分享,而非數位資訊的破壞)與藝術家的跨領域緊密結合實證,而且對於他自己所學所知的數位技術部份樂於分享,也專注在以自由軟體的數位媒體為主要工具進行創作,如聲響創作與互動裝置。
而透過李駿所介紹的puredata,這軟體對我不僅僅是工具而已,而是一道大門,你可以想像駭客任務第一集的影片快結束的時候,Neo的覺醒成為救世主,對於母體世界有全新的體驗。而這扇門的開啟對我而言也是如此,雖然沒辦法讓人變成救世主,但讓我得以窺看Gun/Linux、自由軟體、開放程式碼和創用cc等的精神與概念,這些如何影響與發展數位科技的可能,以及最重要的是與藝術創作的緊密相連。回到對於數位工具學習的過程而言,程式碼的開放與否確實佔得很重要的位置,這個決定讓學習者可以看到前人所走過的痕跡,或是常見的說法,就是站在巨人的肩上看到世界,因為程式如同一個語言,有其世界觀和規則,編寫程式如同文字的描述在說明一些事物,你得從前人的經驗裡學會如何去使用這些言語。但是最終的差異在於在程式的範疇裡,當商業應用程式的出現就意味著產生本身的不透明性,你只能見其外觀不能知曉其結構,但對於從數位藝術創作的人而言,這樣不透明的結果是無助於數位創作與學習,更糟糕的是會造成對於商業軟體的依賴。其實數位創作與從事其它種類創作材料的創作的過程是沒有太多差異,就是我們都得真誠的面對我們所選擇的素材本身,經過人與材料的互動、時間堆積。就像繪畫創作者要知曉繪畫材料,雕碩創作者要熟悉金屬與石材,不可避免的數位創作者也勢必要面對數位材料的本質-code
一旦程式碼選擇了開放性就會呈現一種透明的質地,這會讓從事數位創作的人有一個很好的切入點,可以去瞭解作品是如何做的以及近一步用修改前人的創作程式碼作為學習的途徑,這動作如同過往的畫家臨摹經典畫作,藉此從中學到技巧瞭解到前人的創作哲學。回到創作實做面的例子來說,如果有長期在觀察數位互動的作品,應該會發現近幾年的作品技術層面的共通現象,就是在使用軟體方面大多都用directorflashjavaprocessingopenframworksmax/mspvvvvpuredata,而在硬體方面則為arduinowiring等,一個好玩的事實是這裡有八成都是自由軟體與開放程式碼。然而會有這樣的狀況產生,個人認為實在是這些軟體工具採取了自由與開放的態度決定,造成數位藝術創作者與學生可以以便宜的價格(甚至免費)與快速接觸到程式碼以及程式去解讀並且學習,來提昇作品的實踐可能性。另外更為現實的問題是,一旦學生離開了學校就會失去豐沛的資源,試想買一套動輒數萬元的軟體,對數位創作者而言是一筆不少的數目,現在可以試者計算當你買下一套硬體以及著名商業軟體windows ADOBE的全套正版你必須花多少錢,然後在想想要合法從事這一方面的創作是多麼嚴苛。
當我摸索puredata至今,我深刻的瞭解到數位工具之於創作者的關係,我們越是常使用,跟軟體的互動會更加緊密與產生更多的依賴。但是使用的對象是商業軟體這就會有點糟糕,因為跟商業軟體的合作會是一種慢性監控,你的作為是一種在為商業軟體公司下工作的狀態,而不是為了你自己的創作而工作。當看到剛剛那段話我在想應該大多數人是沒有任何感覺,因為私底下大都在使用〝我要成為海賊王專用版〞(你應該懂我的意思),但是有一天商業公司可以全面掌控你的軟體使用權的時候,哪你該怎麼辦。另外推薦投入自由軟體的使用,必須誠實的說是為了錢、法律、道德和對自己的工具更多的自主性這幾個部份的考量,因為自由軟體的透明化,你可以知道這些工具在你電腦做了哪些事,和你可以明確的要求電腦為你哪些事以及你可以將金錢的付出降至最低,當然這世上沒有白吃的午餐,你還是得付出你的時間與耐心去瞭解你的工具,最後你會發現這些付出是有益的。上述的這些好像跟我為什麼要選擇puredat這題目有點離題,但是puredat也是眾多的自由軟體其中之一,它的出現證明自由軟體的的成熟度不亞於商業軟體和也體現了社群開發工具的力量。而這些都是自由軟體與開放程式碼的概念與精神所帶來的影響與好處,讓從事數位工作的人是數位藝術創作者而不是軟體公司下的員工。



2 則留言:

monster 提到...

helo!這篇肺腑好言可否借我貼來 playaround.cc 之 TechNomads? 謝謝。pei

匿名 提到...

hello!你好~請問如果我想要自學puredate這套軟體,可是我沒有程式的基礎,我應該從哪裡下手會比較好呢?我在高雄讀書,發現高雄好像都沒有類似的資源,好苦惱~