[Live Coding: A User's Manual | Books Gateway | MIT Press](https://direct.mit.edu/books/oa-monograph/5495/Live-CodingA-User-s-Manual "Live Coding: A User's Manual | Books Gateway | MIT Press") By: Alan F. Blackwell, Emma Cocker, Geoff Cox, Alex McLean, Thor Magnusson Publisher: The MIT Press Published: 2022 **此章翻譯發起自2023年度C-LAB Creators《[Live Coding 研究推廣計畫]( https://clab.org.tw/creators/2023_r203/ )》 歡迎您的加入,登入即可編輯** # [翻譯中] Chapter 3 : Expositions [TOC] ## Rangga Aji Program Director: October Meeting—Contemporary Music & Musicians, Special Region of Yogyakarta, Indonesia 計畫負責人:十月會議-當代音樂與音樂家,印尼日惹特區 For me, live coding is a method that could be implemented in any kind of artistic practice. I live code in my music performance work and sometimes also for live visuals. I got interested in live coding when I saw it as another possibility in art and music creation, especially given the generative ideas that could be implemented on it. The way of projecting/showing the coding process also adds the variant of presentation, especially in the ontology process of electronic music. 對我而言,即時編碼是一種可以在任何藝術實踐中推行運用的方法。我在音樂演出中現場編碼,有時也用於實時視覺表演。當我看到現場編碼作為藝術和音樂創作的另一種可能性時,我便對此產生了興趣,特別是可以在上面實現的生成式創意。編碼過程的投影/顯示方式使呈現結果添加了更多變化,尤其是在電子音樂的本體描述過程中。 I love to share what I know about live coding practice with people. Sometimes I do little private live coding sessions for individuals or groups, online or off-line, helping with installation and teaching a bit about Sonic Pi, FoxDot, TidalCycles, and Hydra and then Estuary, Troop, and Flok for the possibility of remote live coding. I also made an introduction video about live-coding music and visuals in Bahasa Indonesia.1 I feel like it still couldn’t provide a better explanation of live coding, but I decided to make it happen so people could at least become intrigued enough to try to learn it by themselves. 我喜歡與人分享我的即時編碼實踐。有時後我會為個人或團體舉辦一些私人的即時編碼活動,線上或線下都有,協助安裝程式或教一些關於Sonic Pi、FoxDot、TidalCycles和Hydra的軟體知識,然後是Estuary、Troop和Flok等遠程即時編碼的可能性。此外,我用印尼語制作了一個關於即時編碼音樂和視覺的介紹影片。1我覺得它也許無法將現場編碼解釋得很好,但最終我還是決定發布出去,這樣人們至少可以對它產生足夠的興趣,嘗試自己去學習。 For me, both live coding from scratch and live coding from prepared code are exciting and promising for my live coding practice. With the first method, I can learn how to directly or slowly decide what kind of musical structure I want to build without depending on any prepared code. With the second method, I can have some control over my music composition while introducing aspects of live coding. I’m also thinking about the possibility of both approaches in exploring the idea of certain musical etude compositions for live coders. 對我來說,從頭開始撰寫的現場編碼演出和準備好部分代碼的演出都是令人興奮且富有潛力的。通過第一種方法,我可以學習如何直接或慢慢地決定想建立的音樂結構,而不依賴任何準備好的代碼。用第二種方法,我可以對音樂有足夠的控制,同時引入現場編碼的某些特點。我也思考這兩種方法在探索某種給現場編碼著的練習曲的可能性。 Based on what I’ve been experiencing in Indonesia, live coding is starting to slowly emerge. Even though only certain people became intrigued and started their own live coding activities in certain places here, I think it will soon become something unexpected, but I’m not sure what. 根據我在印度尼西亞的經驗,現場編碼正在慢慢興起。盡管只有一部分的人感興趣並在某些地方開始舉辦自己的現場編碼活動,我認為它很快就會變得超乎想像,但我不確定是什麽。 One thing I’ve noticed is that live coding often brings up a new topic to be discussed—for example, the idea of remote live coding and an ensemble. I remember a discussion about this with fellow live coder friends from Indonesia and India, Maria Maya Aristya and Abhinay Khoparzi.2 One of the many things we talked about was the musical possibilities that could be implemented in a remote live coding performance as an ensemble. This is exciting for me since it seems like it could be the opening of further possible perspectives. 我留意到一件事,現場編碼經常會引起一些新話題的討論--例如,遠程現場編碼和合奏的想法。我記得和來自印度尼西亞和印度的現場編碼朋友Maria Maya Aristya和Abhinay Khoparzi討論過這個問題。2 我們聊了許多事情,其中之一是在遠程現場編碼合奏表演中有哪些音樂的可能性。這對我來說是很興奮的,因為它似乎為未來開啟了更多的視角。 https://linktr.ee/ranggapuraji ## Alejandro Albornoz, a.k.a. co(n)de Zero, and Christian Oyarzún. Universidad Austral de Chile, Valdivia, Chile For me, live coding is a fresh way to embrace live electronic music, a field I’ve been involved with since 1989. With my band Arteknnia, we moved from electro-industrial live acts with synths to synth-pop by MIDI sequences, drum machine, and guitar. After 1995 I started to compose just with a synth and cassette tapes, resulting in my ambient/electronic dance music solo project Mankacen. From 2003 onward, this was in parallel to my electroacoustic output in a more “academic” compositional path. Whatever the style, I’ve used different DAWs (digital audio workstations) extensively, which progressively led me to lose interest in performing electronica, focusing my practice on acousmatic. I discovered TidalCycles during a gig by Yaxu (Alex McLean) in Sheffield in 2015. It blew me away, so I’ve started to learn first ixi lang and then Tidal. I felt that I was in front of a completely new way to perform, something that matched with my incipient ideas on using simple algorithms in a fresh live situation. Before that, I would say since 1999, I was using simple algorithmic procedures to get some materials but, usually, in deferred time. 對我來說,現場編碼是接納(擁抱)現場電子音樂的一種新的方式,1989年起我就已經涉入了這個領域。我的樂隊Arteknnia從使用合成器的電子-工業音樂現場演出轉變到使用MIDI序列機、鼓機和吉他組成的合成器流行音樂。1995年後,我開始用合成器和卡帶進行創作,形成了我的環境/電子舞曲個人項目Mankacen。從2003年開始,我的電聲作品也同時發展,走的是一條更「學院」的作曲道路。無論什麽風格,我無時無刻使用不同的DAW(數位音樂工作站),這逐漸讓我對表演電子樂沒了興趣而專注在[唯聲音樂](https://yc-tseng.blogspot.com/2011/04/acousmatic-music.html)的創作上。我在2015年Yaxu(Alex McLean)於謝菲爾德(Sheffield)的演出中發現了TidalCycles。它令我印象非常深刻,於是我先開始學習ixi lang,然後是Tidal。我覺得我站在一個全新的表演方式面前,這與我冀望在充滿新鮮感的現場表演中使用簡單算法演出的初衷相吻合。在此之前,我想說自1999年以來,我使用簡單的算法程序來獲得一些音樂上的材料,但通常不是即時的。 I think showing the code on your screen is so nice, friendly, and transparent. Something very important for me is to perform from scratch … that’s so adrenaline pumping and challenging, making me feel alive. There is enough room to mix stable pulsating pattern structures and textural material.… TidalCycles in particular allows me to create new electronic tracks and at the same time materials that I use in acousmatic composition. Probably, this would be my only and modest contribution: an unbiased approach in terms of styles or aesthetics, moving between broken post-techno structures, glitchy textures and rhythms, Chilean folklore patterns, and granular synthesis. All of this operates in a personal ecosystem, from which outputs are electronic tracks and acousmatic pieces. Among all this, I’ve developed a special interest in working with voice and words. However, in spite of the possibility of creating known musical styles, the most relevant aspects for me are the unexpected structures and sounds provided by these techniques. 我認為秀出螢幕上的代碼很讚,友好和透明。對我來說,從零開始的表演非常重要(start from scratch,沒有預先寫好的程式碼,從頭開始撰寫)...它使人腎上腺素激增且很有挑戰性,讓我感到活著。穩定的逼噗逼噗模式所形成的節拍構造和其他不同紋理的聲響有足夠的動態範圍可以混音.... 特別是TidalCycles,在我創造新的電子樂曲的同時也能創造唯聲音樂中使用的材料。也許,這是我唯一的和微不足道的貢獻:在風格或美學方面無所偏袒,在破碎的後鐵克諾結構,故障、突刺般的聲紋和節奏以及智利民間音樂模式、顆粒合成之間遊走。所有這些都在一個重複循環的個人生態系統中運作,其輸出是電子音樂和唯聲音樂作品。以上這些當中,我對人聲和詞語作為原始材料產生了特別的偏好。然而,盡管不時會創造出熟悉的音樂風格,最特別的是那些意想不到的結構和聲音由這些工具中蹦出來的時刻。 I lived in Sheffield, UK, between 2015 and 2019, where I started to be in touch with TOPLAP, Tidal Club, Eulerroom, and Algomech Festival, among other live coding instances. Since then, I’ve returned to my country, Chile, with the intention to spread the practice and tools to as many people as possible. This is an ongoing project that is growing slowly and has been heavily affected by the COVID-19 pandemic. In this endeavor it has been very important to be in touch with people and groups, including live coder and media artist Christian Oyarzún, the cultural center Taller La Cisne Negro, and the Pueblo Nuevo netlabel. Hopefully, we are intensifying our activities this 2021, which includes holding the International Conference on Live Coding (ICLC) in our city, Valdivia. Live coding is still very new here, but I’m convinced it is a great tool, even beyond artistic outcomes. I see it as a way to gather people through open and democratic spaces involving art and technology, especially for children and young people’s education. 2015年至2019年我住在英國謝菲爾德,我開始參與那裡的TOPLAP、Tidal Club、Eulerroom和Algomech Festival等現場編碼活動。之後我回到了我的國家--智利,打算盡可能向更多人傳播這種做法和工具。這是一個正在進行的項目,發展緩慢,並受到COVID-19流行的嚴重影響。在這當中,與人們和團體保持聯系非常重要,包括現場編碼者和媒體藝術家Christian Oyarzún、Taller La Cisne Negro文化中心和[Pueblo Nuevo netlable](https://pueblonuevo.cl/)網路音樂廠牌。我們希望在2021年加緊活動的步伐,其中包括在我們的城市巴爾迪維亞(Valdivia)舉行國際現場編碼研討會(ICLC)。現場編碼在這里仍然剛起步,但我相信它是一個很好的工具,甚至超越以此創作的藝術成果。我認為它是一種通過藝術和技術的開放文化以及民主空間來聚集人們的方式,特別是對兒童和年輕人的教育。 alejandroalbornoz.wordpress.com/conde-zero/ ## ALGOBABEZ (Shelly Knotts and Joanne Armitage) UK 英國 ALGOBABEZ came together through a shared skepticism of code-bro cultures, a flurry of estrogen, and overloaded algorave lineups. Collaboration was inevitable. We were both performing regularly as solo performers but were drawn together by the maleness of the scene. Our first performance took place in the corporate sheen of the Open Data Institute as part of the Leeds Digital Festival. We felt a sense of disrupting the atmosphere—when we started playing, the crowd changed. The women moved forward; the men moved backward. We had to let rip! Though totally unplanned, this set up a “legend” around ALGOBABEZ as an obnoxiously noisy and unapologetically feminist double act. ALGOBABEZ是因為對編程文化中「哥們文化」的質疑、雌性激素亂舞以及超過負荷的algorave演出行程而組成的。我們經常單獨表演,但因為這個男性氣質主導的場景讓我們凝聚到一起,合作是理所當然的。我們第一次是在光鮮亮麗的開放數據研究所(Open Data Institute)表演,它是利茲數位藝術節的一部分。當演出開始時-空氣中瀰漫著一股氣氛被破壞的氛圍,人群開始移動。女人向前靠近;男人向後退。我們不得不隨它去!雖然完全沒有計畫,但ALGOBABEZ無意間成了「傳奇」,一個吵到令人厭惡且絕無歉意的女性主義雙人團。 Our individual live coding practices meant we naturally fell into specific musical roles: Shelly making textural drone sounds and Joanne tending toward rhythmic material, juxtapositioning Shelly’s lo-fi software synth sounds with Joanne’s hi-fi MIDI instruments. Beyond algoraving, we have looked at new ways of knowing and controlling sound through performance (i.e., BabeNodes, Vibez, Chemical Algorave), combining Joanne’s knowledge of physical computing and Shelly’s skills with biometrics and algorithmic systems. Shelly’s experience in networked music has enabled our continued collaboration as the physical distance between us has increased. 由於在現場編碼中各自的方法不同使得我們在團體內自然而然地擔任特定的音樂角色: Shelly製造不同質地的長音(drone),Joanne傾向於節奏性的內容,將Shelly的低保真軟件合成器聲音和Joanne的高保真MIDI樂器並列。除了algoraving,我們還研究了認識和現場控制聲音的新方法(即BabeNodes、Vibez、Chemical Algorave),結合Joanne的物理模擬計算知識和Shelly的生物測定學和算法系統技能。Shelly在網絡音樂方面的經驗使我們能夠在物理距離不斷增加下繼續保持合作。 We both engage with feminist theory in our academic work, and this has informed the way we present ALGOBABEZ. Connecting ALGO to the ironic use of a term of endearment allows us to overtly perform gender in academic and electronic music scenes, where women are underrepresented. We’ve used this “ironic gender performance” as a way to build narratives around our work. As a band, we’ve rejected the use of prewritten code and structures—acting in the moment, responding to context, audience, mood, alcohol consumption, and each other. Before performing, we don’t discuss structures, preferring to just bounce off each other, developing a structure as we work, continually creating and resolving tensions. We work to strip back dense textures and create space for each other across the frequency spectrum. We work on other computer music projects that are centered around collaborating with, teaching, making space for, and promoting women in the field. One joint project is OFFAL (Orchestra for Females and Laptops), an international telematic women-only laptop ensemble who perform through audio streaming and web interfaces. 我們的學術工作都與女性主義理論有所關聯,這影響了呈現ALGOBABEZ的方式。將ALGO與一個表示親暱的詞彙聯繫起來,使我們能在學術和電子音樂場景中公然地演繹性別,而這些場景中女性的代表性相對較低。我們把這種「諷刺性的性別表演」作為一種方式,圍繞我們的工作建立敘述。作為一個樂團,我們拒絕使用預先寫好的代碼和結構--在當下表演,對環境、觀眾、情緒、酒精消耗量和彼此做出反應。在表演之前,我們不討論結構,更偏好相互碰撞產生火花,在工作中發展結構,不斷地創造和解決緊張關系。我們努力卸下過度密集的聲音紋理,在頻譜上為彼此創造空間。我們在其他計算機音樂項目上工作,這些項目圍繞著與該領域的女性合作、教學、為她們創造空間和促進她們的發展。其中一個聯合項目是OFFAL(Orchestra for Females and Laptops),這是一個純女性的國際電傳筆記本電腦合奏團體,通過音訊串流和網頁界面進行表演。 The sound world of algorave has changed as a result of ALGOBABEZ taking noisy sounds and seamlessly integrating them into four-tothefloor beats. We didn’t set out to play a particular genre or type of music, but this emerged out of improvisation and performance—we reference the more experimental side of live coding (often concerned with SuperCollider synthesis) and transpose it into the algorave context while projecting ourselves as bad-ass women. We’ve seen this experimentation with sound propagate across the scene since we started playing. ALGOBABEZ將嘈雜的聲響流暢地融合到四四拍節奏中,algorave的聲音世界因此改變了。我們並無意演奏特定的流派或類型音樂,風格是在即興創作和表演中出現的--我們參考了現場編碼中更具實驗性的一面(通常是SuperCollider聲音合成),並將其置換到algorave的背景中,同時將自己投射為bad-ass women。自從我們開始演出之後,已經看到這種聲音的實驗在整個場景傳播開來。 ALGOBABEZ has also made a significant contribution to diversifying the gender balance in the UK algorave scene through teaching workshops and acting as role models. Through this, we have achieved a critical mass of women who are performing, teaching, and organizing live coding activities. ALGOBABEZ也通過工作坊和建立模範,為英國algorave場景中的性別平衡做出了許多貢獻。通過這些,我們已經促成了女性在表演、教學和組織現場編碼活動方面的群聚效應。 https://twitter.com/algobbz https://algobabez.bandcamp.com ## Rafaele Andrade ![](https://hackmd.io/_uploads/r1b5c3p8n.png) ![](https://hackmd.io/_uploads/Hyxuc2p83.png) ## Jack Armitage UK jackarmitage.com Live coding is a set of tools and methods for sculpting dynamic musical systems via algorithmic notation, often but not exclusively through the medium of text. I first engaged with it as a way to escape the limits of traditional music software, and still do. Since I started I have pursued two goals with my live coding practice. First, I strived to raise live coding to equal status musically with pop and dance produced via traditional means, to humanize coding and inspire “noncoders” to reclaim it from the techno-academic elite. Second, I have used it as a platform to research more richly embodied forms of dynamic musical media, to liberate us from the anachronistic typewriter and paper emulator interfaces that demean us daily. While I have in my view contributed significantly to the first goal, its measure of success is whether I inspire anyone to surpass me, and so far that hasn’t happened, but I remain optimistic. The second goal has so far been open-ended and long-term oriented, with only a few short papers and prototypes to speak of. 即時編碼是使用演算法符號記述的一系列工具和方法,用來塑造動態音樂系統,通常以文字作為媒介,但也不限於文字。我最初投入是為了逃避傳統音樂軟體的限制,現在仍然如此。從開始至今,我在即時編碼實踐中追求兩個目標。首先,我努力使即時編碼在音樂上達到與傳統方式製作的流行音樂與舞曲相同的水平,讓編碼行為具有人性化,並鼓勵「非編碼者」(noncoders)將即時編碼的主導權從技術-學術精英手中取回。其次,我將它作為一個平台,用於研究更具體化的動態音樂媒體形式,使我們逃脫那些日以繼夜貶低我們的過時打字機和紙張模擬器介面。雖然在我看來,我對第一個目標做出了顯著的貢獻,但它的衡量標準在於我是否激發了某人超越我自己,雖然到目前為止還沒有發生,但我保持樂觀。第二個目標到目前為止還是一個開放且以長期為導向的目標,只有一些短期論文和原型可以談論。 I see my practice as locked in tension and even opposition with other live coders, and I suspect that others feel the same way (about themselves and me). This tension arises when I import mainstream pop/dance references into live coding and similarly when I take liberties with live coding dogma. This is a necessity when performing on pop/dance music lineups where I am the only live coder, but for me it also highlights the frequently self-serious presentation of live coding and its often spartan musicality. At the end of the day, there is always something about other live coding practices to be inspired by; it’s especially inspiring to see first-time performers, which is frequent in the live coding community as compared with other music communities I’ve been part of. 我認為我的實踐方法與其他即時編碼者存在著緊張甚至對立的關係,我也懷疑其他人(對於他們自己和我)也有相同的感受。當我將主流流行/舞曲引入即時編碼時,這種緊張感就會出現,同樣地,當我對即時編碼的教條恣意解讀時也是如此。在流行/舞曲音樂演出陣容中作為唯一的即時編碼者時這種緊張關係是必然的,但對我來說,這也凸顯了即時編碼的演示往往有著過於自命不凡地嚴肅且音樂性上過於簡樸的問題。無論如何,其他人的即時編碼實踐總有一些可以激發靈感的地方;看到第一次上台的表演者尤其令人鼓舞,這在即時編碼社群中相對於我參與過的其他音樂社群更加常見。 Since my primary goal has been nontechnological and I arrived in the scene at a time when powerful live coding systems had already matured, I have dedicated my system design energy toward the future and lie in wait for the appropriate moment to act. This is another way of saying that I haven’t actually built anything myself yet. 由於我的主要目標是非技術性的,並且我在強大的即時編碼系統已經成熟的時候才加入,因此我將系統設計的能量投入到未來,等待適當的時機行動。這也就是說,我實際上還沒有建造任何東西。 Coding in the large is gradually becoming live by default, and the days of coding as a singular practice of moving text using a typewriter are numbered. Consequently, live coding itself as a stand-alone term or field does not have a future: it will not permeate more than it already has, and it will soon be outmoded by younger generations who look and talk differently. However, its impact as a stepping-stone is already in my view historically undeniable. As for the future, I believe that the things that reference live coding (explicitly or not) will be numerous and marvelous. 大型編程的實時撰寫逐漸成為默認的方式,傳統以打字機移動文本的單一作法即將結束。因此,即時編碼本身作為一個獨立的術語或領域並沒有未來:它將無法散佈得更遠,並且很快將被外表和言談不同的年輕一代所取代。然而,我認為它作為墊腳石,在階段中的影響已經在歷史上不可否認了。至於未來,我相信涉及即時編碼(明確或不明確)的事物將會非常多且精彩。 As it is not a general term, I doubt that live coding means anything to the “general public” other than something technical sounding and thus vaguely threatening. If as an experience it is foisted on an unsuspecting public, audiences initially perceive live coding as a curious academic gimmick with a poor technique-tomusic ratio. If they manage to stay through a whole show, they start to see that every performer’s approach and music are different and that, rather bizarrely, this means there must be a whole subculture of this stuff going on somewhere—and they would be correct. But in the future, the general public will be much more likely to live alongside the offspring of live coding than the parent. 由於即時編碼並不是一個通用術語,我懷疑即時編碼對「公眾」來說意味著什麼,除了一些聽起來很技術上的東西,隱約且具有威脅性。如果將其強加於毫不知情的公眾身上,觀眾最初會將它視為一個令人好奇的學術噱頭,而且著重技術或是音樂之間的取捨不夠理想。如果他們能夠看完整場表演,他們會開始意識到每位表演者的方法和音樂都是不同的,而且相當奇特的是,這意味著一定有一個整個次文化在這個領域中發生著-而這個判斷是正確的。在未來,大眾更有可能與live coding的後代,而非與現有的live coding形式共存。 ![](https://hackmd.io/_uploads/SJYrZycIh.png) Photo by Maggie Kane https://www.instagram.com/streetcat.media/ ## Pietro Bapthysthe (Diego Dukão and Berin) Brazil For us, live coding began as another way to explore our musical interests together. Over time, it proved to be a perfect fit because we feel more able to reproduce what we are imagining without having to struggle with the physical limitations of instruments. 對我們來說,現場編碼開闢了另一條共同探索音樂的道路。時間證明這對我們來說非常適合,因為它使我們更能夠實現心中的想像,而不必受到樂器的物理限制所困擾。 We started to explore live coding together as a practice in June 2019, during a Python conference in the northeast of Brazil. Starting with live coding as an improvised way to have a party to celebrate the end of the conference was amazing! It helped us to grow a strong need to promote a community in Brazil. Since then we’ve been active members in Algorave Brasil, helping newcomers, organizing events and workshops, and sharing content about live coding. During 2020, we also released monthly records with recorded live coding sessions. 2019年6月在巴西東北部的Python研討會期間,我們開始一起探索現場編碼這種實踐方法。用現場編碼即興來開派對慶祝會議的結束,那真的是非常棒!這使我們生出在巴西推廣社群的強烈需求。從那時起,我們一直是Algorave Brasil的活躍成員,幫助新人,組織活動和研討會,並分享有關現場編碼的內容。在2020年期間,我們還發布了每月現場編碼活動的紀實錄音。 The live coding tool we use the most is FoxDot. We’ve already made a few contributions to the project and to Troop as well. But we also have our own SonicBox, which is a mobile app that interacts with Sonic Pi, allowing us to make improvised melodies with a mobile device, together with the music being played by FoxDot. 我們使用最多的現場編碼工具是FoxDot,之前對該項目和Troop都做出了一些貢獻。同時,我們還開發了自己的應用程式,名為SonicBox,它可以與Sonic Pi互動。這款移動應用程式使我們能夠在移動設備上即興創作旋律,並與FoxDot播出的音樂同步。 Currently, here only people that practice live coding listen to live coded music. It’s a small niche—a very prolific one—but small. We think that will change and that live coded music will blend with regular music and that sometimes we won’t even know, for example, that rap that is playing was made with live coded music. We also think that schools will adopt live coding to teach programming and music at the same time because it is such a good way to learn both of the subjects! Teachers and students will love it. 目前,在這里只有玩現場編碼的人才會聽現場編碼音樂。這是一個很小眾的文化,成果多,但規模很小。我們相信這種情況會改變,現場編碼音樂將與常見的音樂融合,有時我們甚至不會察覺,例如正在播放的饒舌音樂也許是由現場編碼創作而成的。我們還認為,學校將采用現場編碼來同時教授編程和音樂,因為這是學習這兩個科目的好方法!老師和學生都會喜歡它。 A lot of people think they could never play an instrument, and a lot of people think they could never program. So when they hear that you deal with both things together, they think that it could be the most intangible thing ever. But when you show them your live coded performance, they enjoy it or, at least, find it interesting. And when you spend just a few minutes showing them your code and explaining what you’re doing, they start to think “Hey, I could learn that.” 許多人覺得他們可能永遠都不會演奏樂器,也有許多人認為他們永遠不會寫程式。所以當你把這兩樣東西放在一起時,他們會認為這東西實在太難以捉摸了。但是,當你向他們演示你的現場編碼表演時,他們會開始喜歡,或者至少覺得有點意思。而當你花幾分鐘時間展示你的代碼並解釋你在做什麽時,他們會開始想「嘿,我也可以學會它」。 pietrobapthysthe.bandcamp.com ## Lina Bautista Spain For me, live coding is a practice in which the brain has a unique connection with the music and the public. It is a particular way to show your thoughts. When I started with live coding, I was just curious about different performative practices, in search of my way. What I found is that live coding really makes me perform in a singular way. I can almost hear my brain going fast, making decisions and reacting to sounds. Live coding is also about the community. I think it is a safe space to learn, make mistakes, get support from others, and have fun. 對我來說,現場編碼是一種將大腦與音樂和觀眾建立獨特聯結的實踐。它是一種揭露你想法的特殊方式。當我開始嘗試現場編碼時,我只是好奇不同樣貌的演出形式,並尋找自己的方式。我發現現場編碼真的讓我以獨特的方式進行演出。幾乎可以聽到我的大腦快速運轉,做出決定並對聲音做出反應。現場編碼也與社群相關。我認為這是一個安全的空間,在這裡可以學習、犯錯、得到他人的支持,還可以享受樂趣。 I think that my role in the community has been about encouraging people to get into live coding by performing in different contexts and through connecting people. I started TOPLAP Barcelona along with Iván Paz, and since then, the community has been growing with the care and ideas as I learned it: sharing and working together, although in the community we do not all use the same tools or play the same musical genre. 我覺得我在社群裡主要發揮演出與連結的作用。透過不同場合的表演和彼此連接來鼓勵更多人加入現場編碼。我和Iván Paz一起籌組了巴塞羅那的TOPLAP,從那時起,這個社群在關懷和學習到的想法中不斷成長:分享和合作,即使在社群中我們使用不同的工具或演奏不同的音樂。 My performing style is basically starting from scratch and using just a few lines of code during the session. In this way I try to make good sessions with a few elements, and I try to make the code simple and understandable so the general public can feel more included, encouraging them to do the same. 我的表演風格基本上是從頭開始編碼,在表演中只使用幾行代碼。我試圖用少量的組成做出好的演出,同時我也試圖讓代碼變得簡單易懂,讓一般大眾能更加融入,鼓勵他們也這樣做。 I’m aware that live coding is moving faster into the mainstream. We can perceive that in our context. I’ve worked hard to explain to institutions, festivals, and projects that live coding is not only adding some code to the screen. It is about the way you do things and about a community that works in a particular way. I also see that each time more live coders develop their own tools, languages, and libraries. I see more relationships between hardware and tools, such as the use of artificial intelligence (AI), for example. I think all of that will take live coding to new and exciting places. 我有觀察到現場編碼正快速地進入主流,在我們的環境中可以感受的到。我不斷努力向機構、節目主辦方和計畫單位說明,現場編碼不僅是在屏幕上添加一些代碼。它是關於你做事的方式,以及一個特定方式運作的社群。我一次次地注意到越來越多的現場編碼者開發自己的工具、編碼語言和函數庫。我看到硬體和工具之間有更多的關聯,例如人工智能(AI)的使用。我認為所有這些將使現場編碼走向新的、令人興奮的領域。 Some people just enjoy a session, like an algorave, because it is a kind of geeky party. They feel they are in The Matrix surrounded by code; they do not feel the need to understand the exact meaning of it all. I have also seen that some people feel excluded because they don’t know what the meaning of the code is. They believe we’re a closed and select group of nerds where they don’t belong. It is here where I think we have to work harder. 有些人單純喜歡像algorave這樣的活動,因為它有如一種怪咖的聚會。他們覺的自己就像身處於《黑客帝國》中,被程式碼包圍;不覺得有必要深入了解其中的意義。我也看到一些人因為不熟悉程式碼而感到疏離被排除在外。他們認為這是一個封閉又充滿書呆子的群體,無法加入其中。這正是我認為社群需要更加努力的地方。 linalab.com ## Renick Bell US/Japan I perform with my Conductive system, a Haskell library for live coding autonomous processes and generating patterns of things like rhythm, samples, or event density. I use it to create large volumes of patterns and audition them for audiences; the sounds are new for them and me. I am beginning to use it to control hardware synths and interact with other people’s systems. 我用我的Conductive系統演出,一個用Haskell語言寫的現場編碼自治系統函式庫,用於生成諸如節奏、音源或聲音事件密度的模式(patterns)。我用它來創造大量的音樂模式並為觀眾試聽篩選;這些聲音對他們和我來說都是新的。我也開始用它來控制硬體合成器並與其他人的系統互動。 I have been making electronic music for over twenty-five years. Around 2003, frustration that I couldn’t perform it live like I had in punk bands led me to return to computer music languages from university, like Csound and SuperCollider. In graduate school I developed a generative music system with a graphic interface that worked technically but was unsatisfying to play with a mouse. Thinking the limitations came from the graphical user interface (GUI) library, I sought better tool kits in different languages. I had read Alex McLean’s “Hacking Perl in Nightclubs” in 2004; it had seemed novel and hilarious, but I didn’t consider trying it. However, by 2007 I realized I was making music with code almost as well as I had with the GUI, and the potential became clear: using my typing skills with the enormous powers of abstraction available through live coding, I could go far beyond. I had been watching McLean blogs about Tidal development and wanted to use it, but as it wasn’t publicly available then, I started coding Conductive. 我做電子音樂超過25年了。大約在2003年,由於無法像以前玩朋克樂團那樣表演,這種挫敗感讓我重新回到了大學時的電腦音樂語言,如Csound和SuperCollider。在研究生的期間,我開發了一個具有圖形界面的生成音樂系統,從技術上講它是沒問題的,但使用滑鼠來演奏這點不是很令人滿意。我認為這些限制來自於圖形界面(GUI)函式庫,於是我開始尋找不同語言中更好的工具集。2004年我閱讀了Alex McLean的《在舞廳中駭進Perl》一文,覺得它很新奇又有點搞笑,但沒有考慮嘗試。到了2007年我意識到我用代碼創作的音樂幾乎和用GUI所創作的一樣出色了,而且代碼的潛力越來越明顯:利用我的打字技巧和現場編碼的強大抽象能力,我可以走得非常遠。我一直在關注McLean關於Tidal發展的部落格,想要使用看看,但由於當時它尚未公開,於是我開始編寫Conductive。 As Conductive became familiar, I imagined how the possibilities could be increased. Simultaneously, the software sometimes demonstrated possibilities I hadn’t imagined, changing my direction for Conductive. This has given me an inexhaustible list of things to try in performance and features in Conductive to add or improve. 隨著我對Conductive的熟悉,我想象如何增加它的可能性。同時,軟體有時展示了我未曾想象過的可能,改變了我對Conductive的方向。這使我有無窮無盡的事可以在演出中嘗試,以及添加或改進Conductive的功能。 I perform often in Japan, where people increasingly know about live coding or practice it. Of several algoraves we have held in Japan, there have been two in Tokyo where people had to be turned away at the door. I also have many chances to perform internationally outside of the live coding community and observe an increasing interest in live coding. 我通常在日本演出,在那裡越來越多人知道現場編碼,也漸漸有人開始練習。我們在日本舉行的幾次演出中,有兩次在東京,來看的人太多,不得不拒絕某些觀眾入場。我也有很多機會在現場編碼社區以外的地方進行國際表演,觀察到人們對現場編碼的興趣越來越強烈。 I see three challenges for live coding based on comments from outside of the community. First, some perceive a lack of immediacy, believing that live coding is not developing as quickly or as much as other electronic music, live or DJ. Second, some feel that live coding emphasizes process to the detriment of sonic results, neglecting aesthetic aspects like the mix of voices in arrangements and other factors related to current developments in various subgenres. Third, recognizing that live coding makes possible things that are hard or impossible for traditional tools, some say that live coding misses opportunities to explore new types of music and express frustration over live coding that incompletely imitates existing genres rather than further exploring the unique territory live coders can access. While we can argue with these perceptions, taking them seriously can be useful. Live coding can progress both technically and in how it is perceived in the electronic music world by accepting these challenges. 根據社群外的評論,我認為現場編碼有三個挑戰。首先,有些人認為缺乏即時性,認為現場編碼音樂的發展變化不如其他電子音樂、現場演出或DJ那樣快或多。第二,有些人認為現場編碼強調過程而荒廢了音樂結果,忽視了美學方面,如樂曲編排中的混音和其他與當前各種音樂子流派發展相關的因素。第三,現場編碼使傳統音樂工具難以做到的事情成為可能,有些人說現場編碼錯過了探索新音樂的機會,並對現場編碼不完美地模仿現有樂種表示沮喪,沒有進一步探索現場編碼者可以進入的獨特領域。雖然我們可以反駁這些看法,但認真對待這些看法也是有用的。接受這些挑戰,現場編碼可以在技術和電子音樂界對他的看法上取得進步。 renickbell.net ## Alexandra Cardenas Colombia/Germany Live coding is a technique to create live generative art. As a composer, I was immediately attracted to it because it offers the capability to think and create in a way that is close to my own musical thought. From the beginning I was highly interested in music, mathematics, live electronics, real-time compositions, electroacoustic music, and electronic music. At the same time, my interests let me discover different traditional kinds of music from around the world. Through the study of African, Caribbean, and academic percussion, I got deeply interested in the patterning of sounds to create different kinds of music. Through my studies in electroacoustic music and orchestration, I studied with a passion different ways to create and mix sounds in order to create music. 即時編碼是一種創作即時生成藝術的技術。作為一名作曲家,我瞬間就被它吸引,因為它讓我以一種貼近我音樂想像的方式創作和思考。從一開始,我就對音樂、數學、現場電子音樂、實時作曲、電聲音樂和電子音樂非常感興趣。與此同時,我的興趣帶我發現了來自世界各地不同傳統音樂風格。通過研究非洲、加勒比和學院中的打擊樂,我對聲音的排列模式(patterning of sounds)用於創造不同種類的音樂產生了濃厚的興趣。通過電聲音樂和管弦樂的研究,我熱衷於學習不同的方式來創造和混合聲響以創作音樂。 After many years of working with Max/MSP, I found SuperCollider. Working with code offered me the opportunity to get rid of any graphic metaphor and allowed me to describe my musical ideas with a language much closer to what I had in mind—something different than digital boxes and cables and even different than expensive physical electronic instruments. Feeling so comfortable describing music in this way, I spent a couple of years learning the basics of SuperCollider. Even though I was passionate about it, it was a complicated language for me to learn. Thanks to SuperCollider I discovered live coding, and with it I could fulfill my dream of being able to generate infinite sounds, forms, and textures in a live manner. I always wanted my music to sound different every time it was played. 在多年使用Max/MSP之後,我找到了SuperCollider。使用文字代碼讓我有機會不再依賴於任何視覺化的比擬,並讓我用更貼近我心中所想的語言描述我的音樂理念——有別於數位音頻工作站與連接線甚至昂貴的實體電子樂器。這種方式描述音樂讓我感到非常舒適,我花了幾年的時間學習SuperCollider的基礎知識。儘管我對此充滿熱情,但對我來說,這是一種很複雜的語言。多虧了SuperCollider,我發現了即時編碼,並通過它實現了能夠以即時方式生成無窮的聲音、形式和紋理的夢想。我一直希望我的音樂在每次演奏時都聽起來不同。 Since the beginning, I have been annoyed by the linearity of time and the linearity of music. I feel I am still beginning on this journey of discovering. I will always feel like a rookie when it comes to creating live coded music. And I love this feeling because I know live coding offers infinite opportunities for music, art, and our society. As a touring live coder, I have traveled around the world teaching and performing my music, helping to exchange knowledge and create communities around live coding, and founding several TOPLAP nodes. 從一開始,我就對時間的線性和音樂的線性感到困擾。我覺得自己在這段尋覓之旅中還只是剛剛起步。當涉及創作即時編碼音樂時,我始終覺得自己像一個新手。我喜歡這種感覺,因為我知道即時編碼為音樂、藝術和我們的社會提供了無窮的機會。作為一名巡迴演奏的即時編碼者,我遊歷世界演奏和傳授我的音樂,幫助交流知識,創建即時編碼社群,並創立了幾個TOPLAP節點。 http://tiemposdelruido.toplap.org ![](https://hackmd.io/_uploads/r12VL2KLh.png) Photo by Antonio Roberts ## Lucy Cheesman SONA, UK Hi, I’m Lucy, and I’m a live coder. I’ve been making solo music as Heavy Lifting using TidalCycles since 2016. I still kind of think of myself as a newbie even though four years (and counting) is a pretty long time. I think in part it’s because I feel there is always so much more to learn and do. I teach a lot of workshops on Tidal, but I feel like I’m learning as much as the participants every time; my relationship with the computer changes each time we ask a question. I use various languages, depending on what I’m doing (I’ve done performances with Tidal, FoxDot, SuperCollider, ixi lang, and Orca), but I’m always drawn back to Tidal, probably because of how it thinks about time and the seemingly infinite possibilities it gives you for sample manipulation. I’ve always been interested in sampling as a means of making music, particularly taking sounds that are familiar and reusing them in perhaps unfamiliar contexts; Tidal lets me do this in powerful and unexpected ways. Sometimes my performances are serious or maybe explore some kind of lofty themes, but more often I’m just laughing at my own jokes. At the end of 2015, I went to a live coding workshop for women run by Joanne Armitage and Shelly Knotts, who told us to embrace error; I took that to heart. I think by removing the pressure to be accurate, live coding creates a pretty unique environment for experimentation. In my case I use that freedom to be quite silly; in the picture I’m performing a set using only samples from that year’s Eurovision Song Contest (it was happening on the same night), accompanied by some beautiful visuals by Antonio Roberts. I think that writing code can be seen as a superserious dark art, and I hope that irreverent and fun live coding performances can go some way to dispelling that myth. I’m lucky enough to live in Sheffield, where there is a really strong live coding scene fostered by Alex McLean (a.k.a. yaxu); we have regular algoraves and the wonderful AlgoMech festival. I try to do my bit by running gigs, meetups, and workshops. I was given so much support starting out in live coding, and I really want to pass that on to other people. One of the key features of live coding to me is that openness, and I’m not just talking about free software but the intention to collaborate in nonhierarchical and noncompetitive ways. The next step is to dismantle capitalism—see you there <3. heavy-lifting.org ## Joana Chicau The Netherlands/UK/Portugal In 2016 I started a transdisciplinary research project that interweaves web-programming tools and environments with performance and choreographic practices. Since then I have been investigating diverse notation systems from both dance and web programming, which I then merge into a hybrid form of algorithmic composition: a “choreo-graphiccode” that brings new meaning and produces a new imaginary around the act of coding. Choreography in the context of this research project is seen as a writing or a metalinguistic space for thinking movement and countermovement in the (de)construction of web tools and digital media environments. The liveness of code writing became a way to activate the choreo-graphiccode, exposing various processes and dynamics of web computing while enhancing the physicality of the body—the body that is in constant friction between the constative (reality describing) and performative (reality producing). Engaging with different forms of choreographic thinking has been a way to bridge and enhance the somatic and semantic within coding. I believe improvisation is key in live coding practices in general, and within my performances I hope to take this notion both as a technical and physical condition and bind the procedural with the conceptual and corporeal layers of live coding. My practice reflects on the intersection of the body with the constructed, designed, programmed environment. It aims at creating new alternative circuits within the technological sphere of programming languages and possible encounters with the sensorimotor structures that regulate our bodies and movements, hopefully contributing to a different mode of embodying live coding tools and systems of notation and of appropriating digital technologies. Kate Sicchio has been one of my most important sources of inspiration. A few years ago while I was still writing my thesis, I was introduced to Kate by Alex McLean. Later we all met in person at the ICLC 2016! I still try to follow her work as closely as possible. Another important aspect of my practice is the use of coding languages and its performative instance to build diverse, inclusive, and plural discourses, as well as a site for nurturing collaborative and open work. Such critical thinking and activism on gender equality and inclusion have been brought to discussion within the community by Shelly Knotts and Joanne Armitage, among other feminist live coders. I feel very close to their thinking and have already engaged in public discussions with them. As in most live coding practices, my system and methodology focus on the use of free/libre open-source models and are concerned with widening the ways in which digital media and computation are presented and made accessible to the public. joanachicau.com jobcb.github.io ## Nick Collins Durham University, UK composerprogrammer.com *Jack Code’s Rebellion* A single character change in text can have enormous consequences. In Terry Gilliam’s administrative nightmare Trazil (1985), T becomes B, Tuttle becomes Buttle, exchanging life and death; in the page title, Jack Cade’s fifteenth-century rebellion takes on a contemporary repercussion. From Shakespeare’s Henry VI, part 2, subtly rewritten, we now find a beautiful anticipation of the theater of live code: “These hands are free from guiltless blood-shedding, This breast from harbouring foul deceitful thoughts. 0, let me live! Code: I feel remorse in myself with his words but I’ll bridle it; he shall die, an it be but for ‘pleading so well for his life . . .’”3 「這兩只手從未沾染過無辜者的血跡, 這胸窩里從未駐留過見不得人的惡意。 啊,饒我一條命吧!」[^3] Changing your mind while you act in the world is nothing new; it is at the heart of survival and improvisation, an essential part of the history of humankind, with language’s versatile generativity a great creative backdrop. But explicit interaction via a computer programming language, as artistic activity often framed on a concert stage, was a step change in intent of which I have been privileged to be some small cog. The historical precedents are fascinating, from mathematics and games, through role playing to drama, touching on political systems and the cultural history of algorithms. Varied topics from human life can underlie live coding dramaturgy, and this wider net of human subjects has provided a rich grounding for much of my own live coding work. In the algorithmic choreography laptop duo Wrongheaded (with Matthew Yee-King), once-off performances included a live teddy bear dissection with liberal tomato sauce, a séance evoking the ghost of Alan Turing, and “The Gospel according to Wrongheaded.”[^4] A more recent and I hope never fully formed project, Live Dog, Inc., has drawn on varied inspirations to motivate improvisational coding, from satire of existing music (Johnny Bash’s “Live from Fortran Prison,” HadIORead’s “Discothick”) to hard science including a live-codecontrolled periodic table and six-qubit quantum computer experiment sequencers. I wonder if what I think about live coding has changed over the years; that would seem an entirely appropriate state of affairs. I revisit my attitude to live coding once in a while, though I wouldn’t like to reinvent the repeal. Yet re:rerereading some “thoughts on live coding” I wrote quickly in 2004,[^5] I find that I wouldn’t change the text so much, and the profoundly deep live coding insight I crave remains beautifully elusive. Perhaps I should leave behind the occupation of live coder, for as a bezzific proverbial 1857 poem cries, “A change is as good as a zest,”[^6] where T is to B as R is to Z. As Click Nilson once wrote, “ ”.[^7] [^3]: Open Source Shakespeare, accessed March 12, 2022, https://www.opensourceshakespeare.org/views/plays/play_view.php?WorkID=henry6p2&Act=4&Scene=7&Scope=scene&LineHighlight=2721#2721. > 凱德:聽了他這幾句話,我倒有些可憐他了;不過我得克制一下。為了活命他討饒的話說得這麽動聽,單為這一點,就非把他處死不行。——把他帶走,他舌頭底下有個妖精,說話不以上帝的名義。去,把他帶走,我說,立即砍下他的腦袋,然後沖進他女婿詹姆斯·克羅默爵士家,砍下他的腦袋,把兩顆腦袋挑在桿頭拿到這里來。 -- 莎士比亞 《亨利六世》第二部 第七場/第十七景 [^4]: July 27, 2012, https://vimeo.com/195936508. [^5]: TOPLAP, last modified May 28, 2009, https://toplap.org/wiki/Some_thoughts [^6]: Stack Exchange, accessed March 12, 2022, https://english.stackexchange.com/questions/196489/did-sir-arthur-conan-doyle-coin-the-proverb-a-change-is-as-good-as-a-rest [^7]: https://composerprogrammer.com/research/collectedrewritings.pdf t. ## **Malitzin Cortes (CNDSD)** TOPLAP Mexico *Live Cinema Coding* Nonlinear stories, abstraction, and audiovisual synesthesia in the contemporary context of code. 現場電影編碼 在當代編碼文本的背景下的非線性故事、抽象和視聽聯覺。 In the 1960s, artists and filmmakers began to challenge the conventions of audiovisual language, creating more participatory roles for the spectator. The constant development of design, film, and computational technologies pushed these works further forward. They left linear, classic cinematographic language behind, taking film outside cinemas and into art galleries, abandoned factories, and outdoors, implementing different forms of experimentation through multiscreen projections. A great reference for what we can see today, which in 2020 is seen from a distance with our festivals of electronic music and digital art and the “language of new media,”^8^ is Light Music (1975) by Lis Rhodes. It is composed of two “films” projected in a smoky room, with an intense sound composition created from flashing patterns on the screen, demonstrating that emotional, perceptual, and immersive experience is nothing new. 在20世紀60年代,藝術家和電影製片人開始挑戰視聽語言的傳統,為觀眾創造更具參與性的角色。設計、電影和計算技術的不斷發展,推動著這些作品向前。他們離開了線性、經典的電影語言,把電影帶到了藝術館、廢棄工廠和戶外,通過多屏幕投影實施不同形式的實驗。今天我們能看到的,2020年的電子音樂和數字藝術節以及《新媒體的語言》[^8]的語境來看,一個很好的參考是Lis Rhodes的《[光之音樂](https://www.youtube.com/watch?v=ts5uT0Pdj4c)》(1975)。這是一部由兩個"電影"在煙霧瀰漫的房間中播放所構成的作品,激烈的聲響由屏幕上閃爍的圖像模式所創造,顯示了情感、知覺和沉浸式體驗並非新鮮事。 [^8]: In The Language of the New Media (Cambridge, MA: MIT Press, 2000), Lev Manovich offers the first rigorous and systematic theory of new media, framing it in the history of the media and visual cultures of the last centuries. 在《新媒體的語言》(Cambridge, MA: MIT Press, 2000)中,列夫·馬諾維奇提供了第一個嚴謹而系統的新媒體理論,將其置於媒體史和上個世紀的視覺文化。 Live cinema coding is a hybridization between live coding and more established practices of expanded cinema and live cinema, generating new stories and open interpretation. These practices have their own tools, with possibilities that are not only technological but also aesthetic. On-the-fly programming creates sound phenomena conducive to these new possibilities and is able to generate music of any genre. Visually, it has joined the world of generative creativity and computational thinking in the arts (creative coding) and is available to all artists, not only those specialized in science and technology. 現場電影編程是現場編碼(live coding)和更成熟的擴展電影和現場電影的融合,產生新的故事和開放性解釋。這些實踐都有自己的工具,其可能性不僅在技術上,而且在美學上也有眾多選擇。即時編程產生出有利於這些新可能性的聲音現象,能夠產生各種風格的音樂。在視覺上,它已經融入了藝術中的生成式創造和計算思維(互動程式創作)的世界,並且開放給所有藝術家,不僅僅是那些專門從事科學和技術的人。 The creative work and research that I have carried out with digital artist and programmer Iván Abreu over several years has combined our technical skills and artistic passion for the console, not only as a way to preproduce audiovisual content, from the keyboard and logic of a program, but also to tell stories and compose music that emerges from, and through, algorithms. In this way we have used different tools for live coding, such as SuperCollider, Hydra, Orca, and Pure Data, but above all, for its efficiency, community, and functional way of creating and ordering anything in time, we use TidalCycles. It can generate complexity from very little code, and we have found enormous poetry in the syntax that takes us from within to achieve a sound and visual idea. From the mind to the algorithm and then to the screen, a palindromic pattern can be sonic and/or visual, evoked by typing Tidal’s palindrome function from the keyboard. We are now developing and contributing systems back to the community, not only to understand the complexity and compositional beauty of Tidal but also to find ways to hybridize different tools and programming languages with a single reason: to tell intense stories with sound, light, and images in real time. malitzincortes.net https://vimeo.com/cndsd 這幾年來,我與數位藝術家和程式設計師伊凡·阿布勒(Iván Abreu)共同進行創作和研究,結合了我們的技術能力和對計算機主機的藝術熱情,不僅是以程式的鍵盤和邏輯方式來預產音視頻內容,也是為了以算法來講述故事和創作音樂。通過這種方式,我們使用不同的現場編碼工具,包括SuperCollider、Hydra、Orca和Pure Data,但在其中,出於效率、社群以及透過函式創建任何事物時間秩序的特點,我們使用TidalCycles這套工具。它可以從非常少的代碼產生出複雜性,我們在語法中發現極大的詩意,從中實現聲音和視覺理念,從腦海到算法,再到屏幕,通過從鍵盤輸入Tidal的回文函數來喚起聲音和/或視覺的回文模式。我們目前正在開發並回饋到社群中,目的不僅是為了理解Tidal的複雜性和組成美,同時也希望能夠透過不同的工具和程式語言混合使用,以聲音、光、影實時創造激動人心的故事。 malitzincortes.net https://vimeo.com/cndsd ![](https://hackmd.io/_uploads/S1WwtoFIh.png) Malitzin Cortes, “Generative promenade or Nightmare catcher,” Modern Art Museum, Mexico City, 2019. Photo by Malitzin Cortes 馬利津·科爾特斯,“生成長廊或噩夢捕手”,現代藝術博物館,墨西哥城,2019年。 攝影:馬利津·科爾特斯 ![](https://hackmd.io/_uploads/SygGz6iF8n.png) ACI Asia Culture Center. Foodhack 2019 ISEA Korea 2019 Photo by Asia Culture Center ## Claudio Donaggio TOPLAP Italia The year 2015 was a difficult one for me, both physically and mentally. One day that year I saw a video on YouTube by Andrew Sorensen. At the time, I had never written a line of code in my life but I was fascinated. I started immediately with Sonic Pi. Live coding and, even more, the community of live coders around the globe helped me to gain enough self-confidence to beat my own demons and believe in myself. And that’s how I started. To me, live coding means “complete freedom from genre and labels,” which is what I have always been looking for in musical and artistic terms. Being able to talk with the machine through code and improvise electronic music is the core essence of live coding practice, in my opinion. 2015年對我來說是艱難的一年,無論是身體上還是精神上都是如此。那一年的某一天,我在YouTube上看到了Andrew Sorensen的一段影片。當時,我從未寫過任何一行程式碼,但我被深深吸引了。我立刻開始學習Sonic Pi。現場編碼,更重要的是全球現場編碼社群的支持,使我獲得足夠的自信,擊敗自己的心魔並且相信自己。而這就是我的開始。對我來說,現場編碼意味著 「從音樂流派和標簽中解放」,這正是我在音樂和藝術方面一直在尋找的。在我看來,能夠通過代碼與機器對話並即興創作電子音樂,是現場編碼實踐的核心本質。 I like to work with different environments and languages. I would not know where to start in order to create a system like Tidal or Sonic Pi, but I try to be as much of a polyglot live coder as possible! I am one of the administrators of the Live Coding Italia community on Facebook and Telegram. I hope one day that my contribution will be to have spread the practice around as much as possible in my own country. 我喜歡用不同的編程環境和程式語言工作。我不知道如何創造像Tidal或Sonic Pi這樣的系統,但我盡可能成為一個使用多種編程語言的現場編碼者。我是Facebook和Telegram上Live Coding Italia社群的管理員之一。希望有一天能成為在自己國家盡力傳播這種實踐方式的人。 My hope is that live coding will not only be designated to the academic world but be adopted, as a technique, by more performers and artists. Nothing against it, but “Be wary of institutions” is my motto. I do think more and more people will become interested in the possibilities of live coding, and I try to help newcomers as much as the community helped me when I started out. 我希望現場編碼不僅限於學術界,而是作為一種技術,被更多的表演者和藝術家采用。我對學術界並無任何異議,但「對機構保持警戒」是我的座右銘。我認為越來越多的人會對現場編碼的各種可能感興趣,而我試圖幫助新人,就像之前獲得社群幫助一樣。 I’ve seen different reactions from people to live coding. At first they are like “This is something for nerds!” and then when they experience an algorave, they’re gobsmacked! Generally, I think it is perceived as difficult to understand, initially. That’s why it is always good to start a performance event with a talk, in my own opinion and experience. 我看到人們對現場編碼有不同的反應。起初,他們可能會認為 「這是書呆子會做的事!」但是當他們參加算法瑞舞派對後會大吃一驚!一般來說,剛開始通常難以理解,這就是為什麼我認為在演出開始前口頭介紹是一個好的作法,這是我的經驗。 https://twitter.com/Etol_livecoding ## Antonio Roberts UK 安東尼奧-羅伯茨 英國 During my time with BiLE (Birmingham Laptop Ensemble) I had already started making live visuals for electronic music, although this was more a case of manipulating existing software and code. Knowing people such as Shelly Knotts, who had already performed at algoraves, gave me an entry point to start live coding in early 2014. At that time there were relatively few people live coding visuals, and so I found myself in a unique position. 在與BiLE(伯明翰筆記本樂團)的合作期間我便已經開始替電子音樂制作現場視覺,盡管是操作現有的軟件和代碼。那時認識了一些人,比如已經在algorave活動中演出過的Shelly Knotts,因此入了門,在2014年初開始現場編碼。在那個時候,現場編碼視覺的人相對較少,所以我發現自己處於一個獨特的位置。 My live coded visuals start off with a simple geometric shape, usually a cube. I might then start to manipulate that one cube by rotating or scaling it. Then I will multiply the amount of cubes and have them spin in different ways, changing colors or changing size depending on other factors such as the amplitude of the music. I try to code and present this in a way that is clear enough for the audience to see how I arrived at the result on-screen, but inevitably, it ends up looking messy! 我的現場編碼從一個簡單的幾何形狀開始,通常是一個立方體。然後我可能通過旋轉或縮放來操控這一個立方體,接著我將立方體數量倍增,讓它們以不同的方式旋轉,根據其他因素如音樂的振幅,改變顏色或改變大小。我試圖用一種足夠清晰的方式來編碼和展示,讓觀眾看到我是如何在屏幕上得出結果的,但不可避免的是,它最終看起來很亂! Building your code slowly over time is not a bad thing. In the thirty minutes or so you typically have for a set, you can build up your visuals slowly or scrap it all and start again. Don’t exhaust your code and yourself by building up all of your code within the first five minutes. 現場慢慢發展你的代碼並不是一件壞事。在三十分鐘左右的時間里,通常可以緩慢地建立起你的視覺效果,或者把它全部廢掉再重新開始。不要在最初的五分鐘內把所有的代碼都建立起來,會使你的代碼和你自己筋疲力盡。 Both VJing and live coding music have a strong visual element, and I feel they both seek to demystify how computer art is made by showing the process. I have definitely seen a tighter integration of music and visuals as live coding practice has matured. For example, artists now have visuals that react to the music in more ways than just amplitude. Some programmers are even building visuals into what was initially only audio software. VJing和現場編碼音樂都有很強的視覺元素,我覺得它們都試圖通過展示過程來揭開計算機藝術制作的神秘面紗。隨著現場編碼實踐的成熟,我確實看到音樂和視覺的結合更加緊密。例如,視覺方面,藝術家們現在有了對音樂不同參數的交互方式,而不僅僅是聲音振幅。一些演出者甚至使用原本是用來做音樂的軟體做視覺。 http://www.hellocatfood.com / ## Abhinay Khoparzi Algorave India Although there had been workshops and one-off events, a live coding “scene” didn’t develop in India until Algorave India came to being in 2018. The first few events at Algorave India were supported by the Open Codes project by the Goethe-Institut and Zentrum für Kunst und Medien (ZKM) as part of their Open Codes exhibition. This happened after some friends and I (including longtime practitioners such as Rebecca Fernandes and Akash Sharma, as well as visionaries such as Dhanya Pilo) saw the renewed interest in the experimental/noise music scene brewing in the bigger cities in India. We wanted to recreate a truer form of the experimental gigs we used to organize a decade earlier, as well as showcase local talent that had been lurking in the shadows. 2018年Algorave India出現之前,儘管有一些工作坊和零星的單點活動,印度並沒有形成一個現場編碼的"場景"。Algorave India最初幾次活動得到了歌德學院和Zentrum für Kunst und Medien(ZKM)的Open Codes項目的支持,作為其Open Codes展覽的一部分。這是在我和一些朋友(包括Rebecca Fernandes和Akash Sharma等長期參與者,以及Dhanya Pilo等有願景的人)看到印度的大城市對實驗/噪音音樂場景醞釀著一股新風氣之後發生的。我們想以更真實的形式重現十年前所組織的實驗性演出,以及讓當地有才的人浮出檯面。 We soon moved to independent events funded by the community and ticket sales, starting with a postworkshop event with a local creative-coding community at Walkin Studios, Bengaluru. These independent events seemed like a better way to engage with and bring together fragmented creative-coding communities in the city. Even though there had been a long-lasting subculture of algorithmic practices in the country, it had always been hidden away in art galleries that mostly highlighted European and US artists. Algorave India and live coding in general have fared well in making the creative-code scene more approachable, reaching outside the realm of “geeks” and art nerds. 我們很快轉向由社群發起和門票銷售的獨立活動,首次在班加羅爾的Walkin Studios與當地的創意編碼社區舉辦的研討會中露面。舉辦這些獨立的活動似乎是參與和匯集城市中零散的創意編碼社區的一個好方式。盡管我們這邊已經有長期存在的算法實踐的次文化,但通常是隱藏在藝術畫廊裡並聚焦在歐洲和美國的藝術家。Algorave India和現場編碼的出現使創意編碼場景更加親和,超越了「怪咖」和藝術愛好者的領域。 The immediacy of results and the quick feedback in the process of live coding have been especially useful in getting people out of initially feeling intimidated by programming and mathematics in general. Performances themselves become miniworkshops where one-on-one and one-to-many interactions with audience members can develop into a learning space. Many contemporary artistic practitioners who were stuck in small towns, including people who didn’t believe they could show their beginner code and early experiments, came out to events and shared their works on various forums and social channels. 在現場編碼的過程中,即時的結果和反饋這點,特別能讓人們擺脫最初對編程和數學的恐懼感。表演本身成為小型工作坊,與觀眾的一對一和一對多的互動可以發展成一個學習空間。許多被困在小城鎮的當代藝術實踐者,包括那些不相信自己可以展示新手代碼和未成熟實驗的人,都來參加活動,並在各種論壇和社交渠道上分享他們的作品。 Engaging with other communities, specifically in Canada and Latin America, has been especially fruitful in terms of collaboration and the exchange of cultural ideas, as well as crossover events that feature artists with different skill levels joining network music ensembles. 與不同社群,特別是加拿大和拉丁美洲的社區互動,在合作和文化思想交流方面特別有成果。同樣的,舉辦跨界活動邀請具有不同技能的藝術家加入網絡音樂樂團也是。 https://khoparzi.com https://algorave.in ## Shawn Lawson (Obi-Wan Codenobi) Arizona State University, US I often describe live coding as driving a race car while simultaneously attempting to change the engine oil: plausible, dangerous, and exciting because the audience is there not only for the roaring success but also for the spectacle and possible tragedy of the crash. Then I continue on by saying they will be able to see the code I’m writing as it’s written in addition to the visual performance. In a way, there’s a demystification of live performance magic, yet I think this makes the experience more sublime because the viewer is along for the ride (a passenger) in this race car. 我常常把現場編碼形容為一邊開著賽車一邊試圖更換機油:貌似可信的、危險、刺激,因為觀眾不僅是為了終點壓線前的那刻,也是為了觀看壯觀和有可能發生的事故。然後我繼續說,除了視覺表現之外,他們還能看到我正在寫的代碼。在某種程度上,這是對魔幻般的現場表演的一種解密,然而我認為這使觀賞體驗更加美好,因為觀眾成為了一名乘客與我同行。 I’ve built a few live coding editors—namely, the Force (GLSL), the Dark Side (GLSL and TidalCycles), and LiveWare (GLSL and Lua). The Force autocompiles and, if successful, then executes the GLSL while you’re typing. The Dark Side mixes the TidalCycles language into the Force so that both can be written in the same text buffer by multiple users telematically. Lastly, LiveWare is a Lua binding on top of LibCinder with additional functionality brought in from the Force. Each has different degrees of Open Sound Control (OSC), MIDI, and WebSocket connectivity. All have audio input. 過去我創造了一些現場編碼編輯器,包括Force(GLSL)、Dark Side(GLSL和TidalCycles)和LiveWare(GLSL和Lua)。Force能夠在你輸入時自動編譯並在成功後執行GLSL代碼。Dark Side將TidalCycles語言與Force混合,使得多個使用者可以在同一個文本緩衝區中以遠程方式編寫兩種語言。最後,LiveWare是搭建在LibCinder之上的Lua綁定,並從Force引入了其他功能。每個編輯器在OSC、MIDI和WebSocket連接性方面有不同程度的支援,並且都具有音頻輸入功能。 I suppose my live coding practice is heavy on tool building and my own very individualized software needs. With the Force, there were other GLSL live coding systems, but none were designed or tuned for performance. For the Dark Side, my Rebel Scum collaboration with Ryan Ross Smith encountered a physical dislocation. We needed a method of continuing the collaboration telematically without compromising audiovisual quality. With Liveware, I was feeling the need to explore graphics outside of the bounds of GLSL. I’ll have a visual idea and then spend time creating an environment that is capable of supporting the vision if it doesn’t already exist. Even well before I started live coding, I was writing my own interactive art software. I find that off-the-shelf software is typically too formulaic, constricting, or not quite capable. While this is an extra burden (toolmaking), I think it’s accepted as part of the practice. 我想我的現場編碼實踐重點在於工具建構和我個人的軟體需求。在開發Force時,已經有其他GLSL現場編碼系統存在,但都不是專為現場演出設計或著調試的。例如Dark Side,我和Ryan Ross Smith組成的Rebel Scum(團名)分處兩地,遇到了物理上的分離。我們需要一種方法能在不影響視聽品質的情況下繼續遠程合作。在Liveware中,我覺得有必要探索GLSL界線之外的圖形。我會有一個視覺想法,然後花時間創建一個能夠實現想法的環境,如果沒有現成的話。在我開始即時編碼之前,我就在編寫自己的互動式藝術軟體。我發現現成的軟體通常過於公式化、限制性強或功能不全。雖然這是一個額外的負擔(工具製造),但我將這視為實踐的一部分。 Media-wise, there are a limited number of live coders for visuals. Online forums for visualists and internet platforms (Vimeo) have been successful at allowing us to find and share progress with each other. With collaborators, we rehearse material, try new material, talk quite a bit about what kind of material we should assemble for the next work, and strategize which calls for proposals to apply to. That all sounds more businesslike than it is in reality, which is significantly more free-form and even chaotic. 在媒體方面,視覺現場編碼者的數量不多。視覺藝術家的線上論壇和網路平台(如Vimeo)成功讓我們相互尋找和分享進展。與合作者一起,我們排練有的素材,嘗試新的內容,相互討論下一個作品應該包含什麼樣的內容,並策略性地應用在不同提案之中。這聽起來比實際情況更像是商業操作,但實際上更自由、甚至有些混亂。 http://www.shawnlawson.com ## MicoRex Mexico **Jorge**: When in architecture school, I started live coding, influenced by diagrammatic thinking and macro-micro relationships. You build up a system in a musical context, and whatever you throw in affects the perception of the whole piece; also the system. **Tito**: Live coding is an opportunity to get involved expressively and theoretically with the people who attend the live show and with other live coders. I love live coding because it gives me the thrill of present tense, feeling, language, and thought. T: Before MicoRex I started promoting live coding as an academic practice in the Mexican electronic art circuit through the Centro Multimedia. **J**: MicoRex ended up being very influential for lots of acts that came afterward since live coding and bands were not existent before that time. It helped to free experimental coding from electroacoustics and present it as a joyful, fun, and edgier practice. **J**: When we started becoming international, we found acts that were trying to bring live coding into the club realm, the first generation of algoravers—like Alo Allik, Glitch-Lich, slub, Shelly Knotts, Benoit and the Mandelbrots, Norah Lorway, Kraftwife, Frederik Olofsson, Renick Bell, Luuma—likeminded acts, but everyone had very different styles and systems. **T**: As Mexican live coders, we all shared a common minimal style since we came out of the same school of practice. Eventually, each live coder found their own programming style, and MicoRex would distinguish itself from the others in the performance sense: the inclusion of voice, DIY controllers, and more or less closed traditional musical structures. **J**: Our system is designed by thinking about the music we want to create. Music first, technology after. It relates to other systems in goals but not in design. Elevator pitch: it’s a live coded, networked, audiovisual act with voice and physical interfaces triggering OSC messages through a GUI system. **T**: We do synthesis, not sampling. And, though we come from a “from scratch” live code scene, we also use ready-made algorithms. We don’t use a messaging network system like Republic or MandelHub. We just send the raw data and trust our musical and supernatural monkey abilities. More like when playing in a band because, oh!, MicoRex is a band. **J**: It’s mind-blowing to witness a kind of normalization in a nightclub setting. I experienced violent reactions to live coding for dancing in Mexico! Now, the global network of live coding parties is becoming more established. There are more systems and tools, and so acts are becoming more easily expressive. **T**: Yet live coding has limits as an expressive tool. You can’t prepare all the musical aspects you want to present. Live coding has not this aim at all. It’s an opportunity to play in a way in which improvisation and knowledge are more appreciated than a perfect final presentation. It is a phenomenon of our time and capabilities. ## Fabrice Mogini There are many definitions of live coding; mine is: writing and editing computer code while the music is playing. This could be for a performance in front of an audience or, in my case, for improvising, composing, and getting direct feedback while testing new ideas. 有許多關於現場編碼的定義,我的理解是:在音樂進行時同時編寫和編輯產生音樂的代碼。這可以是在觀眾面前進行的演出,或者就我而言,是為了即興創作、作曲,並在測試新想法時獲得直接反饋。 Before I started using an audio programming language, my compositions required a lot of calculations using charts, grids, a deck of cards, and so on. I could not believe my luck when around 1998 I gained access to SuperCollider 2.1 while studying for the Sonic Arts degree in London. My dream of fast and precise calculations was finally becoming true! The main problem was that once I had programmed something new—for instance, a new part in the middle of a composition—I had to wait until it actually played to hear and assess the quality of the edit. Because the music was generative, it was not easy to fast-forward, as can be done with a sequencer. Another problem was that while the expanded computing capabilities allowed ever-more complex calculations, there were now too many parameters to be serialized. The music was becoming too much of a mental abstraction rather than based in real-time perception. This is when I embarked on a quest to change and eventually write code in real time so I could hear what I was designing straightaway. Rather than just switch algorithms or edit certain parameters, I was trying to write some of the code in real time. Although I incorporated some of these techniques in live performances, my main incentive for live coding was to expand compositional capabilities while preserving real-time control and feedback. I also coded jazz improvising algorithms (“Memory” in Morpheus CD-ROM) and realized that live coding is a necessity for truly live improvisation. 在我開始使用聲音編程語言之前,我的創作需要使用圖表、網格、一整疊卡片等進行大量的計算。1998年左右,我在倫敦攻讀聲學藝術學位時,獲得了SuperCollider 2.1的使用權,我簡直不敢相信自己的好運。我的快速精確計算的夢想終於成真了!主要的問題是,一旦我編寫了新的東西--例如,在一個作品的中間有一個新的部分--我必須等到它實際播放時才能聽到並評估編輯的質量。因為音樂是生成的,所以不容易快進,就像用音序器那樣。另一個問題是,雖然擴大的計算能力允許越來越覆雜的計算,但現在有太多的參數需要被序列化。音樂變成了一種精神上的抽象,而不是基於實時的感知。這時我開始尋求改變,並最終實時編寫代碼,這樣我就可以直接聽到我所設計的東西。我不只是切換算法或編輯某些參數,而是試圖實時地編寫一些代碼。雖然我在現場表演中加入了一些這樣的技術,但我現場編碼的主要動機是在保持實時控制和反饋的同時擴大作曲能力。我也對爵士樂的即興算法進行了編碼(Morpheus CD-ROM中的 "Memory"),並意識到現場編碼是真正現場即興創作的必要條件。 I started to use the expression live coding around 2002; I remember by then that Alex McLean had already used some form of live coding in his performances with slub. In September 2003, I advertised my live coding set with SuperCollider at the 291 Gallery, Hackney, London. While the set was based on controlling, editing algorithms, and sending data in real time to Director/Lingo for visuals, there was nevertheless a part for live coding. By then I had also created the London SuperCollider course (2002–2004) at Rising Tide, London, which in 2003 included a lesson with a handout titled “Live Coding.” This handout was later presented during a workshop at the IDM (Intelligent Dance Music) Summer school, London, where I had been invited as guest lecturer. At that time I often performed with composer/researcher/live coder Nick Collins; our performances, notably, included a live coding duet at the Royal College Art Bar, London, in June 2003, with real-time visuals by Fredrik Olofsson. Finally, many of our SuperCollider “tricks” and fixes were solved when researcher and performer Julian Rohrhuber improved the SuperCollider language to make live coding more accessible. Only then did I realize how many practitioners were showing an interest in that art form. 我在2002年左右開始使用現場編碼這個說法;我記得那時Alex McLean已經在他和slub的表演中使用了某種形式的現場編碼。2003年9月,我在倫敦哈克尼的291畫廊宣傳了我和SuperCollider的現場編碼表演。雖然這套節目是基於控制、編輯算法,並將數據實時發送到Director/Lingo的視覺效果,但還是有一部分是現場編碼。那時我還在倫敦的Rising Tide開設了倫敦SuperCollider課程(2002-2004),其中2003年的課程包括一個名為 "現場編碼 "的講義。這個講義後來在倫敦IDM(智能舞曲)暑期學校的一個研討會上展示,我被邀請作為客座講師。當時,我經常與作曲家/研究員/現場編碼員尼克-柯林斯 (Nick Collins)一起表演;我們的表演,特別是包括2003年6月在倫敦皇家學院藝術酒吧的現場編碼二重奏,並由弗雷德里克-奧洛夫松 (Fredrik Olofsson)提供實時視覺。最後,當研究人員和表演者Julian Rohrhuber改進了SuperCollider語言,使現場編碼更容易理解時,我們的許多SuperCollider "技巧 "和修覆問題都得到了解決。直到那時,我才意識到有多少實踐者對這種藝術形式表現出興趣。 I am amazed to see how live coding has evolved in the last twenty years. There are still so many different avenues to explore, and I hope to see a future where coders won’t be overwhelmed by the technological aspects but will also create beautiful music. 我很驚訝地看到現場編碼在過去20年里的發展。仍然有許多不同的途徑可以探索,我希望看到未來的編碼者不會被技術方面的問題所淹沒,而是也能創造出美妙的音樂。 www.fabricemogini.com ## Kofi Oduro (Illestpreacha) Montreal, Canada Live coding to me is giving a digital extension / Of myself, where it has a new form A form of digital representation / A form that breathes through the environment Where it can mimic a therapist / A scientist or simply just another experiment Of playful interaction / Or meaningful actions that leads To both addition and retraction / Retracting the mind to a place Where the mind breathes / Through the bits Giving clues as the feedback / Gives what the program believes From the keystrokes that are being hit / The mathematical equations That are feeling split / Where the emergence of creativity And randomness meets up quick / As the mind goes through its own stack Merging the elements / From numeric to digital Analog to pivotal / Seeing how the lines of code/ When given the chance to roam Flows through the ears / Through the eyes they visit Where the variables / Are given in doses that are edible As the goal is to be laid back in swarms / As not to give the senses a storm But rather allow for curiosity / To emerge like rain does to a worm ## Charlie Roberts Worcester Polytechnic Institute, US 查理-羅伯茨 美國伍斯特理工學院 Gibber is a browser-based environment for audiovisual live coding. It primarily uses JavaScript as the end-user language while offering affordances for both music and graphics programming. A dedicated server supports user publication of sketches, real-time chat, and a variety of other collaborative features. A trio of derivative live coding systems coauthored with Graham Wakefield—collectively named Gibberwocky—borrow many aspects of Gibber’s interface to target external applications, including Max/MSP/Jitter, Ableton Live, and generic MIDI communication. Gibber是一個基於瀏覽器的數位音像表演現場編碼環境。它主要使用JavaScript作為終端用戶的編程語言,提供音樂和圖形編程的功能。一個專用的伺服器讓使用者發布編碼作品、實時聊天和各種其他協作功能。與Graham Wakefield共同開發的三個衍生的即場編碼系統,統稱為Gibberwocky,借用了Gibber的許多界面元素,以對外部應用程序進行編程,包括Max/MSP/Jitter、Ableton Live和通用的MIDI通信。 I initially began work on Gibber, I was already working extensively with browsers and JavaScript, creating end-user frameworks for interface design. I wanted to explore the potential of JavaScript as a live coding language and the potential of the browser as a vehicle for the collaboration and dissemination of creative work. By chance, at the time these interests were coming together—in 2012—the Web Audio API was released for browsers, enabling real-time synthesis in the browser using JavaScript alone. Gibber was one of the earliest systems created for live coding performance in the browser; now there are a variety of excellent options. 當我最初開始Gibber的工作時,我已經在廣泛地使用瀏覽器和JavaScript為界面設計創建終端用戶框架。我想探索JavaScript作為一種即時編碼語言的潛力,以及瀏覽器作為創意工作的交流和傳播工具的潛力。碰巧的是,在這些興趣匯聚在一起的時候--2012年--Web Audio API被發布到瀏覽器上,僅用JavaScript就能在瀏覽器中即時合成聲響。Gibber是最早為在瀏覽器中進行現場編碼表演而創建的系統之一;現今有各種出色的選擇。 Running in the browser makes Gibber an easy match for introducing people to live coding; no extra software is required. This has helped enable workshops all over the world that use Gibber to teach the basics of live coding and computational media. A variety of summer camps, after-school programs, and university courses have also used Gibber heavily. 在瀏覽器中運行使得Gibber很容易向人們介紹現場編碼;不需要額外的軟件。這有助於在世界各地舉辦講習班,使用Gibber教授現場編碼和計算媒體的基礎知識。各種夏令營、課外活動和大學課程也都大量使用Gibber。 One significant area of research I have been exploring with Gibber/Gibberwocky is the use of dynamic annotations and visualizations in source code that documents the state of running algorithms; many of these are shown in the top image on the left. Heavily inspired by Thor Magnusson’s ixi lang, the feedback provided by annotations/visualizations is typically what I receive the most positive comments about after performances; perhaps with more practice someday audiences will respond similarly to the music I create. Gibber/Gibberwocky在源代碼中使用動態注釋和可視化是我一直在探索的一個重要研究領域,記錄運行算法的狀態;其中許多注釋和可視化顯示在左邊的頂部圖片中。在很大程度上受到Thor Magnusson的ixi lang的啟發,注釋/可視化提供的反饋通常是我在演出後收到的最好的評價;也許隨著更多的練習,有一天觀眾會對我創作的音樂做出類似的反應。 Gibber seems to have found a niche as a live coding system for beginners. Its reliance on the browser makes it easily accessible but also stops advanced programmers from using their preferred code editor for performance—and the editing interface is, of course, a critical component of live coding. I hope to eventually attract more advanced programmers via Gibberwocky, which provides unique integrations with artistic production software not found in other live coding systems, and also by porting Gibber and Gibberwocky to run inside other editors. Gibber and Gibberwocky have drawn inspiration from a number of other live coding systems, especially ixi lang, Tidal, and Extempore. Gibber似乎已經找到了一個利基點,作為初學者的即時編碼系統,瀏覽器的設計使它很容易使用,但也阻檔了較資深的程式設計師用他們偏愛的編輯器來演出--當然,編輯界面是即時編碼的一個重要組成部分。我希望最終能通過Gibberwocky吸引更多的資深程式設計師,它有其他現場編碼系統所沒有的藝術制作軟件整合方式,同時將Gibber和Gibberwocky移植到其他編輯器中運行來吸引更多人。Gibber和Gibberwocky從多個即時編碼系統中獲得了靈感,尤其是ixi lang、Tidal和Extempore。 The continued development of Gibber/Gibberwocky is highly dependent on my performance practice. Typically, I have an idea I’d like to explore in a performance—perhaps musical, perhaps an interaction technique—and this spurs subsequent development work. As an academic, the research potential of new features is also an important consideration when deciding which elements to focus development on. Gibber/Gibberwocky的持續發展和我的表演實踐有密切的關聯。通常,我有一個希望在表演中探索的想法--也許是音樂,也許是互動技術--這就刺激了後續的開發工作。作為一名學者,決定將開發重點放在哪些元素上時,新功能在研究上的潛力也是一個重要考慮因素。 http://gibber.cc ![](https://hackmd.io/_uploads/SJGP6sBwn.jpg) Top image: Annotations in Gibberwocky show waveforms that are periodically sampled to generate musical patterns. Bottom image: Multiple post-processing shaders stacked in Gibber to create an abstract form. Image credits: Charlie Roberts 上圖:Gibberwocky中的標註圖像,波型經週期性的採樣用於生成音樂模式。 下圖:在Gibber中疊加多個後期處理着色器產生的抽象圖形。 圖片來源:Charlie Roberts ## Jessica A. Rodriguez Mexico/Canada Invocaciones (“Summonings”) is a series of performances that arise from the need to explore my artistic practice through the voice of female poets, mixing live coding practices (or code on-thefly) with electronic literature (or expanded literature practices through digital environments) and exploring the poetic possibilities of code and what speech it activates. For the performance Invocaciones, I remixed the poem “País de la Ausencia” by Chilean writer Gabriela Mistral, which explores images about identity, place, and territory. Through the author’s voice, I made a reinterpretation of the poem, expanding her words through different sound layers that move through a stereophonic space. I use TidalCycles to create speech patterns (transforming voice samples) through cacophony, juxtaposition, delay, echo, and oversaturation to deconstruct and reconstruct the poem over and over again throughout the performance. Additionally, I use prerecorded cello samples by Mexican-Brazilian cellist Iracema de Andrade. The visual part contains a video (running in the background) of the Paricutín volcano in the state of Michoacán, Mexico. https://andamio.in/production https://vimeo.com/jessicaarianne ## Kate Sicchio Virginia Commonwealth University, US/UK My main live coding practice focuses on live coding performance scores for dancers performing choreography for the stage. Dancers improvise movement based upon instructions that are projected into the performance space. I have explored this in many ways, including using pseudo code to create rules for dancers, live coding haptic feedback in costumes, and using machine-learning algorithms and an image database to create a visual score. This work is typically shown in black-box theater spaces as a live, improvised performance. 我主要的實踐為現場編碼舞譜,讓舞者在舞台上演出。舞者根據投影到表演空間的指令即興創作。目前我已經進行了許多探索,包括使用偽代碼為舞者創建規則,服裝中的現場編碼觸覺反饋,以及使用機器學習算法和圖像數據庫來創建視覺樂譜。這項工作通常在黑盒劇院空間作為現場即興表演展示。 >偽代碼不需在意程式語言的細節,敘述上比較簡潔易讀,也可能接近生活中書面語/口語,觀眾相較能看得懂 I started live coding after exploring the concept of computer hacking as a way to repurpose and to extend this repurposing beyond technology. If I could hack my kinect to work with a laptop, could I hack a piece of choreography to change the intended outcome? Hacking choreography became an umbrella term for many works I made in which a choreographic score would be changed live in a performance setting. 我會開始現場編碼是因為發現了計算機文化中的「駭」這個概念,一種尋找新用途的方式,並將這種新用途延伸到技術之外。如果我能夠駭入我的Kinect,讓它與筆記型電腦配合使用,那麼我是否能夠駭入一段舞蹈編排,改變其預期結果呢?駭入舞蹈(Hacking choreography)成為我創作的許多作品的總稱,其中舞作的舞譜會在現場表演進行中即時更改。 I started this work before discovering the live coding community. Once I saw the TOPLAP manifesto, I realized this reflected my choreographic work and underlying ideas. The use of the projection to see the code and the changes, the live interpretations of the instructions, and the performers thinking and making decisions as part of the performance were all things I also wanted to highlight in the work. From here I went on to create two different programming languages for live coding choreography, Terpsicode and Studio//Stage. 我在發現現場編碼社群之前便已經開始進行這樣的創作。當我看到[TOPLAP的宣言](https://toplap.org/wiki/ManifestoDraft)時,意識到這反映了我的編舞作品和基本想法。使用投影來閱讀和改變代碼,現場解讀指令,以及演員在表演過程中的思考和決定,這些都是我在作品中想要強調的要素。從這時,我開始為現場編碼編舞創建了兩種不同的編程語言,Terpsicode和Studio//Stage。 I have collaborated with other live coders in different ways. Rodrigo Velasco has composed sound for my work, and Nick Rothwell collaborated with me on creating a system for live coding clojure to create animated text. I worked with Thomas Murphy on a live coding environment for images to create a visual choreographic score. But a much more in-depth collaboration has been my piece with Alex McLean, Sound Choreographer <> Body Code. This work creates a feedback loop between McLean’s live coding of sound and a generative choreographic score I am performing through using sound analysis and motion tracking. These technologies connect our two forms of improvisation and affect our decisions within that performance. 我與其他現場編碼者以不同的方式進行合作。Rodrigo Velasco為我的作品創作了聲音,而Nick Rothwell與我合作開發了一個用於現場編碼的Clojure系統,能夠創造動畫文字。我與Thomas Murphy合作,創建一個現場編碼環境來創造視覺圖像的舞譜。但更深入的合作是我與Alex McLean的作品,聲音編舞<>身體代碼(Sound Choreographer <> Body Code)。這個作品創造了一個反饋迴路,在McLean的現場編碼音樂和按照我透過聲音分析和動態追蹤所生成的舞譜所做的表演之間。這些技術連接了我們兩種形式的即興表演,並影響我們在該表演中的決定。 Currently, I also live code music as one-third of a trio, named Codie, with Sarah Groff Hennigh-Palermo and Melody Loveless. We wanted to become more involved in the algorave scene and saw the formation of Codie as a way to participate. What is interesting about Codie is that our audiences always dance to our sets. So, despite not explicitly coding instructions for movement, we have managed to create performances where people are dancing to code, as found in my choreographic works. 目前我還加入一個名為Codie的三人組合,與Sarah Groff Hennigh-Palermo和Melody Loveless一起現場編碼音樂。這個團體的成立是希望更積極地參與algorave場景。Codie的有趣之處在於,我們的觀眾總是跟著我們的演出跳舞。因此,儘管沒有明確為動作編寫指令,我們也成功地創造了讓人們跟著程式碼跳舞的表演,就像在我的舞蹈作品中所見的那樣。 http://sicchio.com/ ## Anna Xambó De Montfort University, UK I see live coding as a meeting point between code and music in live performance. With some classical training, and after several years of being in Barcelona-based bands as a bass guitar player, singer, and composer, I started to make experimental electronic music in the mid-2000s. In the exploration of new sounds and the boundaries of the musical language, it has been a natural turn to approach experimental electronic music from a live coding perspective. Live coding brings a DIY approach to building and sharing self-built tools/environments, along with projecting your screen, as stated in the seminal TOPLAP manifesto, while providing an algorithmic approach to performing in which each performance can be different even when based on the same code. Furthermore, the community is unique and formidable. 我將現場編碼視為現場表演中程式碼和音樂的交匯點。過去接受過一些古典音樂教育,也曾在巴塞羅那的樂隊中以貝斯手、歌手和作曲家的身份活動了幾年,2000年代中期開始制作實驗電子音樂。在探索新聲音和音樂語言的邊界時,自然的以現場編碼的角度向實驗電子音樂靠近。現場編碼用一種DIY的方式來建立和分享自建的工具/環境,以及投影你的屏幕,正如開創性的TOPLAP宣言中所說的那樣,同時提供了一種算法表演的方式,即使是相同的代碼,每次表演也可以是不同的。此外,這個社群是獨特而強大的。 My contribution to the practice is as a practitioner, academic, educator, and curator. As a practitioner I’ve been moving from audio synthesis to sample-based music, where I try to explore its narrative using my own as well as crowdsourced sounds. My academic research encompasses inspecting different possibilities of collaborative music live coding (and its related political negotiations) and multichannel experiences with live coding. As part of my teaching, live coding has been useful for demonstration, as well as to promote teamwork and participatory activities in class, including online during this COVID-19 pandemic. As a curator I have been co-organizing live coding concerts in Barcelona (Spain) and Atlanta (US), contributing to the local and international experimental electronic music scene. 我的貢獻是作為一個實踐者、學者、教育者和策展人。在音樂實踐上,我做音樂的方式從聲音合成轉變為使用取樣,嘗試用我自己以及網路中人們上傳的聲音來探索其敘事。我的學術研究方向包括仔細審視現場編碼合作演出的不同可能(及相關的政治談判)和現場編碼的多聲道體驗。作為我教學的一部分,現場編碼對演示很有幫助,同時也促進了課堂上的團隊合作和參與性,包括在這次COVID-19大流行期間的線上活動。作為一個策展人,我一直在巴塞羅那(西班牙)和亞特蘭大(美國)共同組織現場編碼音樂會,為當地和國際的實驗電子音樂場景做出貢獻。 My work has been inspired by the first generation of SuperCollider live coders and the SuperCollider community, especially the Barcelona orbit of the Music Technology Group at Universitat Pompeu Fabra, as well as the informal SuperCollider workshops and meetups organized by Gerard Roma and l’ull cec. My practice has been strongly influenced by Gerard Roma’s work, starting with a collaboration in the duo Pulso performing with a custom environment he wrote, inspired by Thor Magnusson’s ixi lang, and using two code editors in sync. 我的作品受到第一代SuperCollider現場編碼者和SuperCollider社群的啟發,特別是巴賽隆納近郊的龐培法布拉大學音樂技術小組(Music Technology Group at Universitat Pompeu Fabra),以及Gerard Roma和l'ull cec組織的非正式SuperCollider研討會和聚會。我的實踐受到Gerard Roma作品的強烈影響,從Pulso二人組的合作開始,使用他寫的軟體進行表演,這個軟體靈感來自Thor Magnusson的ixi lang,並使用兩個代碼編輯器同步進行。 The democratic and self-organized approach to collaborative live coding proposed by Alberto de Campo, Julian Rohrhuber, and others with the Republic system is also of great inspiration. I have explored group improvisation with Nela Brown’s Female Laptop Orchestra (FLO), along with others, where my live coding was combined with a variety of other digital and acoustic instruments. Knowing of Shelly Knotts et al.’s work with OFFAL was stimulating, as well. Alberto de Campo、Julian Rohrhuber等人用Republic系統提出的民主和自組織的現場編碼合作方式也是很大的啟發。我與Nela Brown的女性筆記本樂團(FLO)以及其他人一起探索了團體即興,我的現場編碼與其他數位/原音樂器相結合。這也是受到Shelly Knotts等人與Orchestra For Females And Laptops(OFFAL)的激勵。 I have been working with the Music Information Retrieval in Live Coding (MIRLC) system since 2016, and my recent work is on a follow-up system named MIRLCAuto (MIRLCa), a virtual agent for music information retrieval in live coding. The latter explores the theme of AI and autonomous agents in live coding. Similar live coding systems include Nick Collins’s “algoravethmic” remix system and its approach to live coding and machine listening, as well as Navarro’s Cacharpo virtual coperformer. The web-based system Sema developed by Bernardo, Kiefer, and Magnusson, which is an ecosystem of live coding languages and machine learning, is also an enlightening project. 自2016年以來,我將音樂信息檢索(MIRLC)系統使用在現場編碼中,最近完成一個名為MIRLCAuto(MIRLCa)的後繼系統,它是現場編碼中的音樂信息檢索虛擬代理。後者研究了人工智能和自主代理人在現場編碼中運用的主題。類似的現場編碼系統也包括Nick Collins使用現場編碼和機器聆聽的「algoravethmic」混音系統,以及Navarro的Cacharpo虛擬演奏者。Bernardo、Kiefer和Magnusson開發的網頁版Sema是現場編碼語言和機器學習的生態系統,同樣是一個有啟發性的項目。 I envision the future of live coding as a community that will keep growing in diversity and will keep advancing alongside other related fields. Feminist and decolonizing approaches to live coding can also open the floor to new, interesting voices and ideas. The combination of code and music seems to either attract or scare the general public. I would say that the audience’s degree of computer and programming literacy often affects the understanding of a performance. 我設想現場編碼的未來是一個在多樣性方面不斷增長的社區,並將與其他相關領域一起不斷推進。女權主義和非殖民化的現場編碼方法也可以為新的、有趣的聲音和想法打開局面。編碼和音樂的結合似乎吸引或嚇到了普通大眾。我想說的是,觀眾的計算機和編程知識的程度往往會影響到對表演的理解。 annaxambo.me