jMAX~~에 관하여…

JMAX~의 다양성과 추상기계

JMAX에 대해

CYCLING’74 Max/MSP 을 경험한 적이 있는 사람은 jMAX의 사용법도 거의 같다고 생각해도 될 것이다.
그러나 여기서는 그 이름을 처음 듣는 사람을 위해 약간 설명을 하겠다.
JMAX 는MIDI와 오디오를 다룰 수 있으며, 작곡은 물론, 직접 버추얼 악기를 만들 수도 있는 프로그램이다. 음 뿐만 아니라, 영상 등의 멀티미디어에도 대응하고 있다. 다만 시퀀스처럼 만든 것을 재생하는 것만 하는 것도 아니며, 오디오 파일을 가공하는 것만 하는 것도 아니다.( 물론 프로그램에 의해 그 같은 사용법도 가능하다.)  미리 프로그램해 둔 음악을 그때마다의 연주법으로 대폭 변화시키는 것을 리얼타임 인스트럭션이라고 할까, jMAX는 그것이 가능하다.  즉 모든 것을 미리 준비하는 것이 아니라, 그 순간 원하는 대로 자유자재로 음을 변화시킬 수 있습니다. 예를 들면 MIDI키보드에서의 즉흥연주에 대해, 그 자리에서 사운드의 음전이나 음색을 원하는 대로 조작할 수 있다.
또한 jMAX는 그래픽, 즉 시각적인 프로그램 언어(엄밀하게는 프로그램의 환경)이며 오브젝트지향의 프로그램이다. 기본적으로는 화면상에서 상자(오브젝트)끼리 선으로 연결해 만드는 것으로 블록의 조합법이나 배열 방식에 의해 자유로운 프로그래밍이 가능하다.

JMAX의 역사

JMAX의 전신에 해당하는 프로그램이 MAX이며 이전에는 NeXT컴퓨터에서 ISPW(IRCAM Signal Processing Workstation)를 넣어 사용했다. 이 ISPW는 간단히 말하면 DSP보드를 말하는 것으로 사운드 보드의 역할을 하면서 음의 합성/변조처리를 컴퓨터 본체의 CPU에 거의 의지하지않고, 이 보드 상에서 한다는 것이다. 참고로 NeXT컴퓨터에는 합계 3대의 보드 파워풀하게 처리를 하는 것이 가능하다.
또한 MAX의 역사를 거슬러 올라가면 4X라는 프로그램에 도달하게 된다. 이 단계에서는 화면상에서 오브젝트끼리를 연결하는 그래픽 인터페이스는 아직 갖춰져 있지 않았다.
이야기는 본론으로 돌아가, 이 프로그램을 개발한 사람은 미러 파켓트라는 프로그래머이다.
현재 그는 PD라는 다른 프로그램의 개발에 착수하고 있으며, 이 프로그램의 유저도 많다(참고로 이 PD의 그래픽 인터페이스는 약간 다르지만 내부는 MAX와 아주 흡사하다).
한때 미러 파켓트와 같은 팀에서 일을 했던 것이 데이비드 즈카레이다. 그가 MAX를 Macintosh용으로 이식시켰다. 그것이 나중에 OPCODE사에서 판매되었으며, 또한 오디오의 부분도 MSP 를 Macintosh로 옮겨서 현재의 CYCLING’74 Max/MSP에 이르고 있다.
또한 MAX/ISPW는 버전 업에 의해FTS가 되었지만, 현재는 NeXT컴퓨터 자체가 없어진 것이 실정이다.
그리고 이 MAX를Java인터페이스에서 조작할 수 있도록 한 것이 jMAX 이다. 인터넷 등을 하고 있으면 Java라는 단어는 한번은 들어본 적이 있을 것이다. 이 프로그램의 최대 이점은 갖가지 플랫폼, 즉 Macintosh  Linux, 현재에는 아직 완성되지 않은 것이 Windows 등, 앞으로 여러가지 시스템에 이식되기 쉽다는 점이다.

JMAX의 특징

MAX를 경험한 적이 있는 사람에게는 약간 알기 힘든 부분도 나왔을지 모르겠다. 앞으로 JMAX를 꼭 사용해보고 싶은 사람을 위해 여기서 몇 가지 특징을 살펴보겠다.
우선 JMAX를 사용할 수 있는 플랫폼은 현재 Linux가 들어가 있는 PC, SGI, 그리고 Mac OS X (베타판 대응)로 되어있다. 또한 위에서 말한 대로 인터페이스의 부분에서는 Java를 사용하고 있지만 C언어로 쓰여있기 때문에 익스터널 오브젝트를 개발하기 위해서는 여전히 C언어만으로 작성하게 된다.
CYCLING’74 Max/MSP 와 다른점은, JMAX는 GNU의 General Public License에 의해 디스트리뷰트되고 있는 프리웨어라는 점이다. 이것만으로도  MAX/MSP유저에 있어 큰 점일지 모르지만 요컨데 이 프로그램은 무상으로 입수할 수 있다. FTP에서 다운로드 할 수 있는 것은 물론(ftp://ftp.Ircam.fr/), CVS에서 최신 버전을 입수할 수도 있다. 또한 컴파일등에 번거로움을 느끼는 사람에게는 바이너리를 포럼에서 구입하는 것도 가능하다.
Max/MSP가 여전히 Mac OS X로 이식되는 기미가 보이지 않는 것에 반해, JMAX는 베타판의 단계이지만 거의 문제 없이 작동하고 있다. 그만큼 앞으로 기대가 크다.
특히 JMAX의 server kernel API 에서는 kernal 을 이용해 다른 어플리케이션 안에서, 또는 다른 어플리케이션으로 JMAX를 사용할 수 있다. 이렇게 쓰면 이해하기 힘들지 모르지만 실제로 실험해본 예로 MACROMEDIA Director에서 그래픽 유저 인터페이스를 만들어,JMAX의 오브젝트을 윈도우 안에서 연결하지 않고 직접 내부의 오디오 엔진을 조작하는 것도 가능하다. 이와 같은 예를 보아도 알겠지만 JMAX는 소스 코드가 제공되어있기 때문에 전세계에서 갖가지 독자적인 개발이 가능해, 더욱 발전이 예상된다.

JMAX는 클라이언트 서버로도 작동할 수 있어 kernal 만이 오디오 엔진, 즉 사운드 렌더링으로 작동할 수도 있습니다. 예를 들면 Director가 그래픽 인터페이스의 부분을 맡고, Lingo에 의해 JMAX의 내부와 주고 받음으로써, Director내에 JMAX를 넣은 상태로 사용할 수 있습니다. 이것을 이용하면 인터넷에서의 가능성도 생각할 수 있습니다.Open Sound Control도 앞으로 예정하고 있습니다. 또한 Mac OS X에 대한 대응에도 많은 노력을 할 방침입니다.
Mac OS X 는 레이턴시가 적으며, 좋은 시스템이기 때문에 아주 마음에 들것이며….게다다 UNIX이면서 아름다운 인터페이스도 가지고 있습니다.코포즈드 인스투루먼트으 컨셉에 대해서도 말씀드리자면 현재는 작곡가의 창작 작업은 스코어를 쓰는 것이 아니라 프로그래밍으로 바뀌고 있습니다. 그러나 복잡한 차원의 프로그래밍에서는 음악적인 영감을 잃게 되는 경우가 많습니다. 그래서 오브젝트 지향의 MAX가 만들어진 것 입니다. 이제 작곡가는 스코어를 쓰는 대신에 직접 악기를 만들게 되었습니다. 즉 작곡가가 프로그래밍에 의해 자유롭게 사운드를 만들어낼 수 있습니다.

Leave a Comment.

This site uses Akismet to reduce spam. Learn how your comment data is processed.