라이브 코딩, 실행과 수행 사이에서

김호원



(이미지1, 2) alsoknownasrox가 제 5회째를 맞이한 뉴욕의 전자 음악 페스티벌 ‘드웰러(Dweller)’에서 선보인 라이브 코딩 공연 (MoMA PS1, New York, 2024). 사진: Texas Isaiah. 출처.

‘라이브 코딩(live coding)’은 어떻게 하나의 예술적 사건으로 거듭나는가? 라이브 코딩은 퍼포머가 실시간으로 코드를 작성하고 수정하며, 그 결과물을 현장에 있는 관람객에게 즉각적으로 전달하는 공연이다.1 이때 퍼포머의 스크린은 공연 현장의 벽면에 프로젝션 되어, 관객 모두가 코드 작성 과정을 함께 지켜볼 수 있다.2 알고리즘(algorithm)과 레이브(rave)의 합성어인 ‘알고레이브(algorave)’는 대표적인 라이브 코딩 이벤트 중 하나로, 어두운 공간에 영사되는 스크린과 코드를 통해 만들어지는 전자 음악은 기존의 레이브와 유사한 클러빙 경험을 제공한다. 그러나 라이브 코딩은 단순한 레이브나 공연(performing arts)을 넘어서 일종의 퍼포먼스(performance art)로서도 경험될 수 있는데, 이는 그것의 독특한 ‘수행성(performativity)’으로부터 기인한다.


퍼포먼스로서 라이브 코딩이 지니는 수행성을 알아보기 이전에 수행성 개념을 먼저 살펴볼 필요가 있다. 연극학과 퍼포먼스 이론 연구자 에리카 피셔-리히테(Erika Fischer-Lichte, 1943-)는 일찍이 수행성을 중심으로 1960년대 이후의 퍼포먼스를 검토한 바 있다.3 피셔-리히테가 주장한 수행성은 곧 퍼포먼스의 행위가 이루어지는 과정에서 발생하는 ‘변형적 힘’이다. 퍼포먼스는 기존의 회화나 조각 또 연극과 달리 완성 및 완결된 예술 작품으로 존재하는 것이 아니라, 공연 중에 발생하는 상호작용을 통해 끊임없이 변화하고 재구성되는 ‘사건’으로 존재한다.4 따라서 퍼포먼스의 의미는 퍼포머의 표현으로부터 도출되는 것이 아니라, 그러한 행위를 통해 관객 그리고 그 너머의 다양한 인간/비인간-물리적/비물리적 행위자와 상호작용을 하는 과정에서 실시간으로 생성되고 공유된다. 이러한 역동적인 의미 생성 과정이 예술가와 관객 간의 경계를 허물고, 예술과 비예술의 구분을 흐리게 하여 하나의 사건으로서 미학적 경험을 가능하게 하는 것이 바로 퍼포먼스가 지니는 변형적 힘이자 수행성이다.



(이미지3) Renick Bell의 라이브 코딩 공연 (Fab Cafe, Tokyo, 2017). 사진: Elle Harris. 출처.

퍼포머와 관객의 신체적 공동 현존은 퍼포먼스에서 양방향적인 상호작용을 위한 근본적인 전제가 된다. 몸을 통한 지금-여기에서의 즉각적인 경험과 순간적인 반응이야말로 사건이 사건으로서 존재하게 만드는 본질적 요소이기 때문이다. 보다 공연 예술의 형태에 가깝긴 하지만, 레이브와 라이브 코딩 역시 공연 현장의 신체적 점유를 전제로 공동체적 경험을 창출한다. 디제이와 퍼포머는 각자의 장비를 통해 전자 음악을 재생하는 과정에서, 관객의 춤이나 환호성과 같은 관객의 반응과 현장의 분위기를 읽고 탄력적으로 플레이셋을 변화시킬 수 있다.5 그러나 라이브 코딩이 기존의 레이브와 차별화되는 지점, 그리하여 보다 퍼포먼스적인 것으로 거듭나게 하는 지점 역시 간과해서는 안 된다. 그것은 퍼포머와 관객의 상호작용을 매개하는, 또 다른 몸으로서 현존하는 ‘컴퓨터’이다. 기존 전자 음악 공연의 디제이 컨트롤러나 믹서와 마찬가지로 라이브 코딩 공연에서 컴퓨터는 퍼포머가 사운드를 직접 만지고 조작하는 것과 유사한 감각을 제공하며 확장된 신체로 기능한다. 하지만 라이브 코딩에서 컴퓨터는 연장된 신체를 넘어서 또 하나의 독립적인 신체이자 퍼포먼스 행위자로서 그 수행성을 드러내기도 한다. 관객이 영사된 스크린을 통해 보는 알고리즘과 귀로 듣는 음악 사이에는 컴퓨터의 광범위한 정보를 처리 및 계산 실행 과정이 있다. 현장에서 공유되는 퍼포머의 스크린은 명령어의 나열을 보여주는 데에서 더 나아가, 컴퓨터라는 매체가 명령어의 실행을 통해 새로운 오디오-비주얼 결과물을 만들어내는 과정 그 자체를 지각할 수 있게 한다. 이에 따라 라이브 코딩에서는 퍼포머가 코드를 작성하는 행위에 더하여, 컴퓨터의 알고리즘 ‘실행’이 ‘수행적’인 퍼포먼스의 형태를 취하게 된다. 퍼포머가 무대에서 코드를 작성하고, 컴퓨터가 알고리즘을 처리하여 음악과 영상을 만들어내면 관객은 그에 반응하여 춤을 춘다–이와 같은 일련의 상호작용을 통해 컴퓨터는 퍼포머와 관람객 모두가 단순한 기술적 시연(demonstration)의 대상을 넘어서는, 동등한 위계의 참여자이자 행위자로서 인지의 틀을 확장할 수 있게 한다. 바로 이러한 지점에서 뮌헨 기반의 연구자 Alex McLean, Giovanni Fanfani 그리고 Ellen Harlizius-Klück는 “라이브 코딩은 이러한 숨겨진 계산적 수행(computational performances)을 드러내어 음악적(musical) 수행으로 변형시키는 행위다"라고 서술한다.6 작곡가이자 라이브 코딩 퍼포머 알렉산드라 카르데나스(Alexandra Cárdenas) 역시 라이브 코딩의 경험에서 컴퓨터의 실행이 갖는 수행성에 관하여 다음과 같이 말한다:


"랩탑은 확률적 과정의 빠른 계산 능력을 통해 인지적 가능성을 확장하며 나를 해방시[킨다.]... 계산(computation)의 발전은 내 음악적 사고와 그 변형을 번역하는 능력의 발전을 의미한다."7



(이미지4) alsoknownasrox가 유튜브 라이브를 통해 중계한 라이브 코딩: 그가 공연을 위해 사용하는 코드 기반의 툴이자 코딩 환경인 Sonic Pi를 보다 자세하게 살펴볼 수 있다. 출처.

라이브 코딩에서 드러나는 컴퓨터의 수행성은 인지적인 차원에서뿐만 아니라 감각적인 차원에서도 경험될 수 있다. 미리 준비된 트랙을 재생하고 믹싱하는 일반적인 디제잉과 달리 라이브 코딩에서 퍼포머는 트랙 자체를 공연 중에 즉흥적으로 창작한다. 컴퓨터는 알고리즘을 통해 생성된 확률적 과정과 초고속 계산으로 전자 음악을 만들어내는데, 이를 통하여 퍼포머는 자신의 신체적 한계를 뛰어넘는 새로운 사운드 패턴을 실험할 수 있다. 예를 들어 라이브 코딩에 사용되는 대표적인 소프트웨어 Sonic Pi의 여러 함수는 비트 사이의 시간을 초 단위 미만으로 쪼개어 기존의 컨트롤러만으로는 불가능한 루프를 가능하게 하거나 멜로디를 생성할 때 무작위로 음을 고르고 쌓아 올려 상상할 수 없던 복잡한 사운드를 만들 수 있게 한다.8 이는 퍼포머로 하여금 자기 신체의 시간적 감각과 컴퓨터가 처리하는 계산적 시간의 차이를 실감하게 하는 동시에 음악적 상상력을 확장할 수 있도록 한다.


이러한 관계에 포함된 관객 역시 컴퓨터의 수행성을 신체적으로 경험할 수 있다. 일반적인 EDM(Electronic Dance Music)과 비교했을 때, 라이브 코딩에서 만들어지는 전자 음악은 종종 춤추기에 적합한 박자를 넘어서거나 전통적인 성조 구성을 초월한 멜로디를 전개한다. 이는 관객에게 익숙한 음악적 규칙에서 벗어난 새로운 사운드를 경험하게 하며, 이에 반응하여 춤을 추는 과정은 컴퓨터가 생성하는 시간성과 관객 자신의 신체적 시간이 맞물리게 하는 독특한 순간을 창출한다. 더 나아가, 라이브 코딩을 통한 음악 창작은 예측할 수 없는 변수들로 가득 차 있어 컴퓨터의 글리치나 공연의 일시적 중단과 같은 예기치 못한 상황이 발생할 수 있다. 그러나 이 순간들 역시 관객에게는 중요한 경험으로 다가온다. 이러한 오류의 순간은 단순한 기술적 결함이 아니라, 퍼포먼스의 일부로서 관객이 컴퓨터와의 상호작용을 인식하고 그 존재를 실감하는 시간이 되기 때문이다. 뉴 미디어 아티스트이자 큐레이터인 안토니오 로버츠(Antonio Roberts)는 이에 대해 다음과 같이 말한다: “[라이브 코딩 공연에서] 완벽함을 기대하지 않을뿐더러 완벽함을 추구하는 것조차 중요하지 않다고 생각한다. 라이브 코딩은 모두 과정에 관한 것인데, 이는 자본주의하에서 음악을 창작할 때 종종 놓칠 수 있는 부분이다.”9



(이미지5) 현재까지 활발하게 운영되고 있는 Sonic Pi 커뮤니티 채널인 ‘in_thread’. 사용자들은 자신들의 코드를 공유하고, 다양한 음악적 실험을 서로 장려한다. 출처.

로버츠가 자본주의 시스템 내에서 대안적 음악 창작 수단으로서 라이브 코딩의 가능성을 바라보는 관점은, 1960-70년대 퍼포먼스 아트가 지녔던 정치적 가능성과 직접적으로 연결된다. 당시 퍼포먼스 아트는 사회적 불평등과 정치적 억압에 대한 저항의 도구로 사용되었고, 이를 통해 사회적 참여와 의식을 고취하며 개인과 집단의 정체성을 탐구하는 데 중요한 역할을 했다. 라이브 코딩은 단순히 결과물에 집중하는 전통적인 프로그래밍 방식을 넘어, 컴퓨터의 비가시적 프로세싱 과정을 드러내고 퍼포머의 의사 결정 과정을 가시화한다. 이러한 접근은 전자 기기와 소프트웨어를 ‘블랙박스'화 시키며 자산화하는 대형 IT 기업들의 권력 구조를 폭로할 수 있는 전복적 힘을 내포한다. 라이브 코딩의 이러한 대안적 운동으로서의 성격은 알고레이브가 제시하는 가이드라인에도 잘 나타나 있다. 알고레이브는 “알고리즘적 과정의 노출, 제도에 대한 경계, 위계의 붕괴, 로컬 및 온라인 커뮤니티에 대한 존중과 다양성 확보”를 중요 가치로 삼는다.10 이는 라이브 코딩이 단순한 기술적 시연을 넘어, 보다 큰 사회적 의미를 지닌 예술적 실천이 될 수 있음을 보여준다. 카르데나스는 “[퍼포머의 화면을 보여주는 것은] 그의 신비성을 해체하고, 음악 창작의 과정을 드러내며, 모든 사람이 그 과정을 접할 가능성을 열어준다… 코드가 진정으로 민주적일 수 있다”라고 언급하며, 라이브 코딩이 지닌 투명성과 공유의 문화가 코드의 민주화를 실현하는데 기여할 수 있음을 강조한다.11 이처럼 라이브 코딩의 수행성은 기존의 퍼포먼스와 마찬가지로 기술과 권력, 창작과 민주화의 경계를 재정의하며, 컴퓨터를 활용한 새로운 창작의 지평을 열어가는 기반이 된다.


라이브 코딩을 퍼포먼스로서 고찰하는 것은 디지털 도구와 그로부터 파생되는 창의성에 대해 근본적인 질문을 던지는 시도라고도 할 수 있다. 우리의 일상에 깊숙이 자리한 사물인터넷과 교육 현장에서 빠르게 확산하고 있는 코딩의 이면에는 컴퓨터의 실행이 자리 잡고 있으며, 이는 ChatGPT와 같은 생성형 인공지능을 활용한 예술 창작 과정에도 동일하게 적용된다. 기계와 그 지능이 단순한 도구를 넘어 동등한 위상의 퍼포머이자 행위자로 자리매김할 때, 이는 어떠한 가능성을 열어줄 수 있을까?


라이브 코딩은 단순한 레이브나 공연을 넘어, 점점 더 알고리즘화되는 현대 세계에서 컴퓨터의 수행성과 그 미학적 가능성을 재고찰할 수 있는 예술적 실천이다. 이 과정에서 퍼포머, 컴퓨터, 그리고 관객 간의 경계는 끊임없이 재구성되며, 창의성과 기술의 관계는 지속적으로 실험되고 새롭게 정의된다. 또한, 하드웨어와 소프트웨어의 차원을 넘어 알고리즘의 실행이라는 근본적인 차원에서 컴퓨터의 실행력과 수행성이 인간의 인지와 감각을 확장하는 새로운 장을 제공한다. 그런 점에서 라이브 코딩은 알고리즘 시대의 예술 창작이 직면한 도전과 기회를 반영하는 하나의 사건으로 볼 수 있을 것이다.


1 일반적으로 라이브 코딩 이벤트에서 코드를 작성하는 사람은 ‘라이브 코더(live coder)’ 혹은 ‘코더'로 칭해지지만, 이 글에서는 퍼포먼스로서의 라이브 코딩의 특성을 강조하기 위해 ‘퍼포머’라는 용어를 사용한다.

2 많은 라이브 코딩 이벤트에서 퍼포머는 코드의 배경에 인터랙티브 비주얼을 추가하기도 한다. 비주얼은 스크린 세이버를 연상시키는 기하학적이거나 유기적인 문양과 패턴이 주로 쓰이지만, 이미 존재하는 영화나 애니메이션 등에 특수효과를 더한 영상이 사용되기도 한다. 음악과 마찬가지로 이러한 인터랙티브 비주얼 역시 종종 퍼포머가 실시간으로 작성하는 코드에 따라 변화한다.

3 자세한 내용은 다음을 참고. Erika Fischer-Lichte, 『The Transformative Power of Performance: A New Aesthetics』, translated by Saskya Jain (Routledge, 2008).

4 같은 책, 18, 22.

5 일부 라이브 코딩 공연에서는 관객이 직접 코드 작성 과정에 참여하여 상호작용을 더욱 극대화한다. 이를 가능하게 하는 대표적인 시스템으로는 여러 사용자가 동시에 코드 작성과 수정을 함께 할 수 있는 웹 기반 소프트웨어 ‘CodeSandbox Live’가 있다. 퍼포머가 라이브 코딩 세션을 열면, 관객이 그 세션에 참가하여 공동으로 코딩 작업을 진행할 수 있다. 자세한 내용은 다음의 웹사이트를 참고.

6 Alex McLean, Giovanni Fanfani, Ellen Harlizius-Klück, 「Cyclic Patterns of Movement: Across Weaving, Epiplokē and Live Coding」, 『Dancecult』, 10 (2018). 출처.

7 Alexandra Cárdenas, 「Live Coding: A New Approach to Musical Composition」, 『Dancecult』, 10 (2018). 출처.

8 이외에도 라이브 코딩에는 TidalCycles, IXI Lang, puredata, Max/MSP, SuperCollider, Extempore, Fluxus, Gibber, FoxDot 그리고 Cyril 등 다양한 시스템이 사용된다.

9 Antonio Roberts, 「So Different, Genuinely Fun: Exploring 10 Years of Algorave」, 『mixmag』, March 31, 2022. 출처.

10 출처.

11 Cárdenas, ibid. 또한 Sonic Pi를 비롯한 많은 라이브 코딩 시스템은 누구나 접근할 수 있는 공개된 프로그래밍 언어와 도구를 사용함으로써, 보다 많은 사람들이 예술 창작에 참여할 수 있는 기회를 보장한다.