「Live Coding是什麼……至少對我來說,是個謎。」在分享對於計畫的思考時,團隊成員之一的劉東昱帶著一點不確定,「去年在空總『極微輸入:演算音像集』的講座,我破題介紹,說Live Coding『就是一個現場撰寫程式的音像表演型態』1,但是現在我有一些反省……寫程式其實就是不停重新編寫、不停自我思考與理解的過程,在Live Coding的社群裡,它其實有很開放多元的面貌。」
「Live Coding研究推廣計畫」乍聽之下頗為直截了當:這是一個以Live Coding為研究主題的計畫、並且將會面向不知Live Coding為何物的群眾。正因如此,「Live Coding是什麼?」,以及「它為什麼需要被推廣?」是團隊不論在訪談、設計講座或工作坊時,首先要與人溝通的問題。事實上,要對Live Coding下一個操作型定義似乎並不困難(團隊在創研計畫的網頁介紹中已有精準的書寫2),之所以成謎的,或許是Live Coding作為一種相對素樸的表演型態與創作工具所承載的開放性,同時也是計畫所欲建構的社群潛力所在。3
團隊成員劉東昱、丁啟祐和林育德有時會一早在線上進行早餐Jam:三人閒散地登入,寫指令、建構聲響和畫面,碰到問題就用網頁下方的聊天室對話;從零開始製造聲音,到能合作出段落結構,往往已經二十分鐘過去。看著畫面上陌生字符跑動、刪減、新增,我問東昱能不能用日常語言幫我「轉播」一段編碼過程,「我比較晚上線,看到右上角不知道是誰寫了一個『Birds』來取樣鳥叫聲, 接下來『123』表示他用這個組合去播放鳥叫聲……我進來聽到這裡,想加一些聲音進來……這裡我畫了一隻小雞……」程式語言的輸入跟不上口語,所有人在轉播的空白裡,一起無言盯著畫面上的字符增減位移,「我們就是早上起床腦袋空空地上線,邊寫邊打、邊寫邊想,所以很慢,如果是排練過的表演就可以很快速。」在這段略顯尷尬的轉播裡,Live Coding的謎之開放性悄悄展開:它是一種可以即興或編排演出的音像表演型態,而表演中包含了程式語言的互動與展示──這使得一段演出並非單向而封閉的執行結果,而是向所有參與者開放的關係平台:即時編碼的中介與透明使得每一段指令與生成的音像都可以被參與者挪用增減,而這個在觀察、試探與修正中共構的互動過程同時也是展演的一部分。
劉東昱在研究所時期搜尋音像藝術的資料時偶然接觸到Live Coding,「那個畫面太衝突了,台上不是帥帥的DJ,是一個宅男在寫程式,但台下跳舞的人又很嗨」,接著便報名了當時丁啟祐開設的工作坊。Live Coding帶來的衝突或許並非宅男與程式碼、舞客與派對是兩組不相容的群體,而是程式語言在即時編碼的演出中,從一種區隔了專業與非專業群體的象徵符號,變成了連結不同群體的溝通工具。劉東昱十分欣賞的Live Coder Kate SICCHIO的早期作品,也具有這種特質。4
除了作為平台串連不同社群與異質語言,Live Coding同時也是一個新鮮的創作工具。「我會拿七巧板跟鋼彈模型來比喻,現在的音像藝術比較像鋼彈模型,很多精緻的小零件、很漂亮立體,但是需要困難的技術,事前準備也很費時;Live Coding就是七巧板,只有七片形狀拼拼湊湊,可是能在很短的時間裡用非常簡單的技巧,拼湊出有趣的結果。」與鋼彈模型相比,七巧板沒有精緻的細節,卻也因此得以不受限,不必遵循於「原廠設定」的門檻。如果說鋼彈模型的精巧來自於它從組裝流程到成品樣貌都已被預先設計,那麼七巧板則是相反,在整體組合為方形這樣簡易的前提下,以極為有限的幾何形狀自由編排出儘管簡陋卻更具想像力的圖像。
對團隊另外兩位成員丁啟祐和林育德來說,Live Coding的簡易中所蘊含的力量,即是在技術與工具層面展開對既有作曲邏輯的顛覆。資管系畢業的丁啟祐從大學開始接觸電子樂,小學是從孫燕姿開始聽起,「流行音樂都是固定節拍的音樂,到後來自己開始做聲音也都是用線性、有格數的數位編曲軟體,很習慣用鼓機做出4/4拍的固定節奏。後來聽到瑞恩.崔諾爾(Rian TREANOR)的曲子,發現他竟然可以做出我用鼓機做不出來的感覺。」丁啟祐在意的是如何在固定時間內編排出跳脫既有邏輯的音樂樣式(pattern),當時由Live coding主要推手之一的英國音樂家艾力克斯.麥克林(Alex MCLEAN)創建的軟體TidalCycles正興起,為他提供了另一種聲音創作的向度,「它直接跳脫格數的概念,不是週期性的循環,是在一段固定時間裡輸入指令、組織聲響。」
丁啟祐對樣式的思考與感受從聽覺延伸到視覺,他在日常生活中也會拍攝、收集不同的視覺樣式材料:宮廟一串紅燈籠以路邊紅線為譜,倒影出一列流動的圓;或是超市貨架整齊排列的鋁箔包在背板鏡像中的變奏。在這些影像中,樣式像是一種關係性的圖式,一系列相互有關的物件因彼此的造形、顏色、相對位置與生產關係在空間之中被編排,形成規律性的同時又打破自身的規律。
「Live coding是一種跳開工作的探索,用以前沒用過的方式跟音樂相處、看到音樂其他的可能性。」對林育德來說,Live Coding將過往被音樂軟體排除掉的可能性帶回來,非線性時間軸的介面設計則讓作曲與演奏成為合而為一的過程,種種特質都讓Live Coding成為反思聲音創作的絕佳概念工具。「如果說過往譜記作曲像是建築師打造出一座建築物的整體細節,那六零年代受過先鋒派程式作曲(process music)影響,由布萊恩.伊諾(Brian ENO)提出的生成式音樂(generative music)就像是打造一座花園,是一個由下而上自行組織的過程。」在此脈絡下,2000年左右出現的Live Coding「就像是園丁與作物的即興演出,耕種、照料花園的過程被投影出來,在音樂進行的同時觀察環境的改變、調整程式語言,整場演出即是一個不斷調適的過程,而觀眾作為一個參與者,也參與了意義的生成」。5
然而即便Live Coding的簡易與開放性提供了諸多想像,卻也實際上限制了它能應用的範圍。三人不約而同提到平日接案或是創作,多半還是使用功能更完整的作曲軟體。使用Live Coding創作的時間,大多是三人相約在線上Jam的時候,「有伴就會覺得滿好玩。」劉東昱也觀察到目前Live Coding在開發上相應的趨勢:「我們剛開始學Live Coding的時候需要用指令介面安裝『環境』6,很麻煩。可是現在有些新的開發者像Hydra,會讓使用者可以直接在網站上使用,目標應該就是要讓很多人一起在同一個網頁上寫程式。」7儘管如今Live Coding的軟體工具在專業與表演功能上有其侷限,但其作為一個以程式語言構築社會關係的平台,卻更能發展出一種建立在即時與透明性上的互動關係。網頁上每一位參與者對其他參與者的判斷與互動,都會牽涉到程式語言的使用、聲響和畫面的結果,而過程的開放透明使得每一個步驟都可以是對於上一步的修正或對於未來的預期。表演的結果並非觀賞的重點,共同演出的人們互動關係的變化甚至演化才是。也因此,參加者的性別或族群,都可以是這個集體操演的一部分,在無論是PK或是共演的模式下,Live Coding提供了將社會關係影音化的整體呈現;在其中,並非人際關係變得透明,而是新的人際關係被創造出來。林育德引用音樂人類學家克里斯托佛.斯莫(Christopher Small)的說法,或許正適合作為當下發展中的Live Coding社群的註腳:「音樂包含了圍繞在音樂活動中的所有關係,個人與社會、人類與自然世界,甚至是與超自然世界的關係……音樂從名詞變成了動詞 。」8