메뉴

ARTICLE

프로세싱, MAX/MSP?! ..예술기술융합을 위한 창작 소프트웨어

2022-02-08

첨부파일

 


예술과 기술의 융합의 첫걸음, 창작 소프트웨어


메타버스, 디지털 전환, 디지털 트윈. 여전히 모호하고 명확하게 정착하지 않은 채 묘하게 둥둥 떠다니는 개념이지만 그만큼 오늘날의 디지털과 현실에 대한 방향성을 체감케 해주는 상황이다. 이제 디지털이 현실과 매개되어 가지는 영향력과 가능성을 의심하는 사람을 찾기 어렵다. 글자를 모르면, 스마트폰을 모르면 문맹이라는 것에서 프로그래밍 언어를 이해하지 못하면 문맹이라는 미래가 더 이상 억측이 아닐 수도 있다. 예술과 기술의 융합은 이러한 상황 속에서 과거의 새롭고 낯설며 이해하기 어려운 예술에서 현재의 이러한 흐름을 가장 잘 보여주는 트렌디한 예술로 자리하고 있다. 이러한 예술과 기술의 융합의 흐름을 이해하기 위한, 또는 접근하기 위한 장치 중 하나는, 어찌 보면 당연하게도 이를 만들 창작 소프트웨어다.


디지털로 무언가를 하는 것이 익숙한 세상, 디지털 소프트웨어가 개입되지 않은 경험을 찾기가 오히려 어려운 상황, 오늘날의 경험을 대표하는 ‘콘텐츠’의 앞에 디지털이 생략되어 표현되고 있는 세상. 과거와 비교할 수 없을 정도로 무언가를 표현하고 다루는 디지털 도구, 즉 소프트웨어는 다양해졌고 보편화되었다. 


소프트웨어를 향한 첫 발걸음은 아무래도 그 근간 도구이자 매체인 ‘컴퓨터’와 소통하기 위한 방법, 즉 컴퓨터와 대화하기 위한 언어이다. 다시 말해, 프로그래밍 언어이다. 물론 이 프로그램 언어는 컴퓨터와 소통하기 위한 가장 근본적인 단계이자 이후 컴퓨터와 함께 할 수 있는 다양한 활동을 돕기 위한 도구인 소프트웨어를 만드는 소프트웨어인 만큼 접근이 어렵다. 그렇기에 이러한 프로그래밍 언어 중 창작자들이 접근하기 용이하게 설계된 언어로서의 저작 툴에 대한 소개가 이루어질 것이다. 그리고 두 번째, 우리가 예술을 접촉하는 중요한 요소인 감각을 건드리는 결과물을 다루는 소프트웨어, 흔히 미디어 소프트웨어라 불리는 저작 툴을 이야기할 것이다. 단, 이 부분 역시 포토샵과 일러스트레이터 등 일반적인 상용 프로그램과 같은 관련 미디어 제작 어플리케이션을 이야기하기에는 그 사례가 너무나도 많고 소모적이다. 그렇기에 주어진 기능 또는 인터페이스를 사용하는 것을 넘어 이를 변용하거나 기능 그 자체를 건드릴 수 있는, 나아가 확장할 수 있는 환경을 제공하는 것이거나 해당 분야 작가들이 빈번하게 활용하고 있는 것을 예술과 기술융합 저작 툴로 소개하려고 한다. 


 프로세싱 Processing (https://processing.org/)



 프로세싱으로 만든 다양한 예시들 (https://processing.org/examples)


2001년 MIT Media Lab에서 활동하던 벤 프라이(Ben Fry)와 케이시 리아스(Casey Reas)가 개발한 프로세싱은 창작자들이 사용하는 대표적인 저작 툴이자 언어의 대명사로 이미지와 애니메이션, 비디오, 사운드를 이용한 인터랙티브 작업을 보다 쉽게 할 수 있도록 개발된 자바(JAVA) 기반의 언어이다. 즉, 시작 지점부터 창작자들을 위해 개발되었다. 이것은 전문 개발자가 아닌 작가와 디자이너들에게 보다 쉽고 보편적인 프로그래밍 환경을 제공했고 모션 트래킹이나 모바일, 동영상과 사운드 생성과 컨트롤에 필요한 자원인 라이브러리를 제공하여 기능 확장에 유리하기도 했다. 플랫폼, 즉 개발 환경에서 독립적이라 유리한 호환성을 바탕으로 범용적으로 사용되는 개발 언어인 자바를 단순화시키고 멀티미디어 기능을 강조한 저작 툴인 프로세싱은 발표 이후 지금까지 그 목표에 걸맞게 많은 작가들의 환영을 받아 사용되고 있다. 사용자가 많은 만큼 온라인 사용자 그룹을 통해 많은 오픈소스가 제공되어 이를 이용한 다양한 접근과 활용이 가능하다. 


 Max/MSP의 노드 기반 비주얼 코딩 환경. 출처(Max/MSP https://cycling74.com/downloads)


Max/MSP는 멀티미디어 환경, 그중에서도 사운드와 오디오 제작, 사운드를 영상과 연결하는 오디오 비주얼 분야에서 인기가 높고 많은 활용 예시를 보이고 있는 소프트웨어이다. 1986년 프랑스의 국립 음향 음악 연구소(Institte de Recherche et Coordination Acoustique/Musicue)에서 활동하던 밀러 푸켓(Miller Puckette)이 개발을 시작해 1991년 발매되었다. 이 툴은 초기 4개의 신디사이저를 제어하기 위한 음악용 프로그래밍 환경에서 시작해 현재 실시간 영상 재상과 처리 및 제어, 센서 활용 및 제어, 신디사이저 프로그래밍에 이르는 다양한 기능을 가지게 되었다. 가장 큰 특징은 마치 순서도를 그리듯 노드(node), 즉 각자 고유 기능을 가진 블록을 선으로 연결하는 프로그래밍 방식을 가지고 있다. 이렇게 문자를 입력하지 않는 비주얼 코딩이라는 직관적 방식 덕분에 복잡한 프로그래밍 원리나 문법을 이해하지 않아도 이용할 수 있어 상대적으로 진입 장벽이 낮았다. 그렇다고 기능이 단순하지도 않아 사운드와 이미지, 영상, 네트워크를 복합적으로 다룰 수 있고 다양한 플러그인을 사용할 수 있어 다양한 창작 영역에서 폭넓게 활용되고 있다.


 아두이노 보드


 아두이노 코딩 환경. 출처(아두이노 https://www.arduino.cc/reference/ko/)


아두이노는 오픈 소스를 기반으로 한 마이크로콘트롤러 보드와 이를 기반으로 한 개발 도구 및 환경이다. 일종의 초소형 컴퓨터와 이것을 활용할 수 있는 프로그래밍 언어 및 환경이다. 2005년 이탈리아의 마시모 밴지(Massimo Banzi)와 다비드 쿠아르티에예스(David Cuartielles)에 의해 시작되었다. ‘강력한 친구(arduino)’라는 의미답게 비전공자나 예술가들이 보다 쉽게 접근하여 습득하고 활용될 수 있는 교육적 부분에 특화되어 개발되었다. 코딩은 컴퓨터에서 진행되며 컴퓨터에 보드를 연결해 업로드하고 그 기능과 동작을 확인할 수 있다. 원하는 코딩과 연결이 끝나면 독립적인 전원을 구성해 동작 시킬 수 있다. 위에서 소개한 언어와 다르게 하드웨어가 기본적으로 세팅되어있는 환경이라 이를 기반으로 회로를 구성하고 외부 센서와 블루투스, 모터와 같은 물리적 도구와 연동이 용이해 피지컬 컴퓨팅(Physical Computing), 즉 컴퓨터로 처리하는 과정과 결과를 물리적 현실에 직접적으로 출력하고 연동하는 분야에서 다양하게 활용된다. 다만 초소형 컴퓨터가 기반인 만큼 동영상과 같은 덩치가 큰 데이터 처리에는 한계가 있으며 이를 라즈베리 파이(Raspberry Pi)와 같은 보다 강력한 보드나 장치를 이용하거나 연결/확장하여 해결할 수 있다. 


지금까지 다룬 것들은 창작 툴이되, 직접적으로 그 환경을 다룰 수 있는 프로그래밍 개념이 함께 하는 도구들이다. 그 외에도 프로세싱과 유사하지만 C++을 기반으로 개발된 오픈 소스 라이브러리로 보다 강력한 성능을 지닌 오픈프레임웍스(openFrameworks), 근래 많은 주목을 받고 있는 가상세계를 다룰 수 있는 강력한 저작도구인 유니티(unity)와 언리얼(Unreal)과 같은 게임엔진, 물리세계에 가상 이미지와 영상을 덧씌워 혼합현실 양상을 드러내는 프로젝션 매핑에 대한 전문 소프트웨어인 매드매퍼(Mad Mapper, https://madmapper.com/), 비디오 믹싱과 VJ(Visual Jockey)용으로 개발되었고 현재 실시간 오디오 비주얼 퍼포먼스와 프로젝션 매핑 등에서 다양하게 활용되고 있는 레졸룸(Resolume, https://resolume.com/), 실시간 및 인터랙티브 오디오 비주얼 작업과 같은 실시간 영상과 반응에 대한 다양한 멀티미디어 환경과 기능을 제공하는 VVVV(http://vvvv.org), 역시 프로젝션 매핑이나 라이브 오디오 비주얼 분야에서 다양하게 활용하고 있는 시각적 프로그래밍 언어인 터치 디자이너(TouchDesigner, https://derivative.ca/) 등 정말 다양한 저작 툴이 등장, 활용되고 있다. 또한 파이썬(Python,http://www.python.or.kr/pykug/)은 비교적 낮은 난이도와 방대한 라이브러리, 쉬운 난이도 대비 높은 기능 및 성능, 다양한 데이터 처리 및 머신러닝 활용 예시 때문에 창작자들의 주목을 받으며 많은 활용빈도를 보이고 있는 언어이다.  



러닝 커브를 고려한 소프트웨어에 대한 접근 


실제 창작자가 이러한 소프트웨어에 접근하고 다룰 때 중요한 선택 조건은 러닝 커브, 즉 학습 곡선이다. IT 영역에서 언급되며 더욱 보편화된 이 개념은 말 그대로 무언가를 습득하는데 소요되는 시간이다. 기술의 발달 속도가 빠른 IT분야에서 활동하는 사람들이 해당 분야에 새롭게 도입되는 기술을 받아들이고 실제 업무환경에서 효율적으로 사용하기까지 드는 학습비용을 언급할 때 사용된다. 위에서 언급한 다양한 도구는 모두 근원이 되는 소프트웨어 또는 개념에 보다 쉽고 효율적으로 활용하기 위한 관점이 가미된 것들이다. 창작자들이 다루는 기능을 위한 라이브러리를 모아 제공하거나 기능활용에 있어 보다 직관적인 이해를 위한 시각화 개념 도입 등이 그 예시이다. 예를 들어 C++은 제대로 익힌다면 포토샵이나 크롬같은 상용 어플리케이션을 만들어 낼 수 있는 매우 강력한 언어이지만 이것을 사용하기 위한 진입기간만 연 단위일 정도로 어렵고 난해하다. 그렇기에 창작자들이 접근하기 용이하도록 특정 기능에 집중하고 관련 기능을 묶어 놓은 프로세싱이나 아두이노, 시각적이고 직관적으로 블록을 연결하여 기능실현과 프로그래밍이 가능한 Max/MSP나 VVVV가 제안되었고 효과적으로 활용되고 있다. 



창작의 새로운 가능성을 여는 소프트웨어


디지털을 다루고 네트워크를 이용해 연결하며 가상세계와 현실세계를 아우를 도구는 소프트웨어이다. 이렇게 이야기하고 보면 소프트웨어는 현실의 모든 것에 관여한다고 할 수 있다. 그만큼 익숙하고 강력하며 영향력이 크지만 동시에 이해도가 높지 않은 것이 소프트웨어이다. 많은 사람들이 소프트웨어를 사용하고 또한 많은 사람들이 그러한 소프트웨어를 끊임없이 생산하지만 정작 그 기능 자체를 건드리거나 그 프로세스를 이해하는 사람은 많지 않다. 그것이 목적하는 기능의 정해진 틀 밖을 다루는 것, 기능을 극한으로 다루거나 또 다른 활용과 가능성을 탐구하는 것. 이것이 예술과 기술융합이 소프트웨어를 다루는 본질일 것이다. 그리고 이렇게 전문분야와는 다른 시각을 가지고 새로운 가능성과 의미를 탐구하는 사람들이 그것을 실현하기 위해, 그리고 같은 동기와 목표를 가진 동료의 진입과 교류를 넓히기 위해 탐색하고 실현된 기반인 저작 도구와 그 커뮤니티에서 그들의 시도는 현재 진행형이고 지금도 끊임없이 확장되고 있다. 


편집/ 아트앤테크 플랫폼 운영진


목록