본문 바로가기

만들기 / Programming/MAXMSP,Jitter

맥스란 무엇인가?

맥스란 무엇인가?

“맥스는  미디용의 시퀀서나 보이싱 프로그램을 이미 잘 다룰 줄 아는 사람들을 위한 그래픽 음악 프로그램밍 환경이다.”
밀러 푸케 Miller Puckette, 맥스 참조 매뉴얼, 1988

맥스는 1986년에 쌍방향의 음악 제작을 위한 프로젝트로 1986년에 파리 IRCAM (Institut de Recherche et de Coördination Acoustique/Musique) 에서 시작되었습니다. 원작자는 밀러 푸케입니다. 맥스는 1991년에 옵코드 시스템으로 시작해서 푸케Puckette와 다비드 지카렐리David Zicarelli에 의해서 더욱 발전되었습니다. 맥스는 사이클링74(Cycling ’74)에서 2000년에 출시되었습니다.
맥스는 원하는 어떤 방식으로도 컨트롤할 수 있습니다. 작곡, 즉흥연주, 반주, 신디사이저에 명령하기, 신디사이져 패치 변경하기 등 컴퓨터나 미디로 할 수 있는 어떤 것이든 응용하는 것이 가능합니다. 맥스는 모든 조작 정보를 간단한 일련의 숫자로 바꿔주기 때문에 무엇이든 간에 다른 곳에 “갖다붙일(패치 patch)” 수가 있습니다.
맥스는 높은 수준의 그래픽 프로그램 언어를 제공합니다. 이 프로그램은 맥킨토시 그래픽 성능이나 아이콘 기반 사용자 인터페이스에서 가장 잘 작동합니다. 프로그램은 문서 형태보다는 그림 형태로 기록됩니다. 그래서 많은 알기 어려운 명령어나 문법을 배워야 하는 노력을 줄일 수가 있습니다. 프로그램을 만들 때 오브젝트를 서로 연결하기만 하면 되기 때문에 명확하고 직관적인 방식으로 프로그램을 기록할 수 있습니다.
프로그래밍 실력이 그리 좋지 않은 사용자라도 맥스를 이용하는 것은 가능합니다. 나중에 언제라도 미디나 다른 장치에 연결해서 사용할 수도 있고, 맥스 자체만 이용해서 사용해도 되니까요.
맥스로 만들어진 프로그램은 실시간으로 작동합니다. 맥스는 매우 빠르기 때문에 여러분이 연주하는 데에 맞춰서 즉각적으로 음악을 만들도록 프로그램을 짜는 것이 가능합니다. 또는 여러분의 연주를 수정할 수도 있습니다.
맥스는 C프로그래밍 언어에 기반해 있습니다. 맥스는 간단하지만 다양하고 높은 수준의 C언어로 쓰여진 그래픽 언어를 제공합니다. 그렇지만 C가 아닌 다른 프로그래밍 언어를 사용하던 사람이나 프로그래밍을 해 본 적이 없는 사람이라도 맥스를 쉽게 이용할 수 있습니다. 하지만 C언어에 능숙한 사람이라면 맥스와 C언어 프로그래밍을 결합시킬 수 있습니다. 만약에 어떤 해야 할 작업이 있는데 그것이 맥스로는 불가능하다면 ㅡ 그래도 맥스로 하면 더 나을 것 같은 작업이라면 ㅡ 여러분이 직접C언어로 맥스 오브젝트를 만들면 됩니다.  

매뉴얼 이용방법
맥스 사용자 매뉴얼은 세 부분으로 되어있습니다. 시작하기, 사용지침과 주제별 지침, 맥스 참조 메뉴얼.

시작하기에는 다음과 같은 내용이 들어있습니다.

셋업하기 ㅡ 이 부분을 먼저 읽으세요.

이 장은 맥스를 잘 사용하기 위해서 필요한 장치와 시스템 소프트웨어가 뭔지, 미디를 어떻게 연결하는지, 맥스 어플리케이션을 어떻게 설치하는지, 기술적 지원을 받으려면 어떻게 해야 하는 지에 대한 설명을 하고 있습니다.
둘러보기 ㅡ 맥스를 전혀 사용해 본 적이 없는 분이라면 다음으로 이 부분을 읽으세요.
이 부분에서는 맥스라는 프로그램에 대해서 설명하고, 매뉴얼에서 계속해서 사용되는 용어들에 대해서 소개하고, 온라인 상에서 도움을 얻기 위한 방법이 나와 있습니다.

맥스의 기본요소
이 부분에서는 메뉴에 있는 명령어에 대한 정보와 키보드 단축키, 맥스 오브젝트에 대한 설명을 포함하고 있습니다.

맥스와 미디
이 부분에서는 미디 소프트웨어 프로토콜에 대한 정보와, 미디 전송하기, 맥킨토시에서 CoreMIDI나 윈도우에서 MME로 맥스를 이용하는 방법에 대해서 설명합니다.

메뉴얼의 두 번째 장은 사용지침과 주제별 지침입니다. 이 부분에서는 맥스로 프로그램하는 방법을 단계별 코스에 따라 설명해 놓았습니다. 그리고 맥스 프로그램에만 있는 특이한 주제에 대한 논의가 있습니다. 이 장에는 다음과 같은 것이 포함되어있습니다.

맥스 사용지침 ㅡ  맥스를 이전에 사용해 본 적이 없다면 다음으로 이 부분을 읽으세요.
맥스로 프로그래밍 하는 방법에 대한 단계별로 설명을 합니다. 사용지침의 각 장에는 맥스 사용지침(Max Tutorial) 폴더 안에 있는 맥스로 프로그램하기의 예시를 설명해 놓았습니다.

주제별 지침
프로그래밍할 때의 문제점들에 대한 논의를 포함하고 있습니다 ㅡ 데이터구조, 루프, 캡슐화하기, 버그잡기, 그래픽, 독립적 프로그램 만들기 등등 ㅡ 이런 문제들이 맥스에서는 어떻게 다루어지는지에 대해서 각각 설명해 놓았습니다.

세 번째 장은 참조 메뉴얼입니다. 이 장에서는 각각의 맥스 오브젝트에 대해서 필요한 자세한 정보가들어있습니다.

맥스 오브젝트 (Max Objects)
맥스에서 쓰는 각각의 내부 오브젝트와 외부 오브젝트에 대해서, 알파벳 순서로 정확한 기술적인 설명을 제시합니다.

맥스 오브젝트 용어집
맥스 오브젝트에 대한 설명이 다른 방식으로 되어있습니다. 오브젝트 이름에 따라서가 아니라 키워드 별로 알파벳순으로 정리되어있습니다. 하려는 작업에 어떤 오브젝트가 적당한지를 알고 싶을 때 이 용어집을 참조하세요. 어떤 오브젝트가 필요한 지를 알았다면 그 오브젝트에 대한 설명은 맥스 오브젝트(Max Objects) 부분을 참조하면 되겠지요.

이에 덧붙여서 맥스에서 쓸 수 있는 외부 오브젝트 만들기(Writing External Objects for Max)를 참조할 수 있습니다. 여기에서는C프로그래밍 언어를 사용해서 맥스에서 쓸 수 있는 외부 오브젝트를 직접 만드는 방법을 설명해 놓았습니다. 이 설명은 맥스 장치 디스크 안의 C Developer Materials 라는 폴더 안에 들어있습니다.

맥스를 사용할 때 맥스에서 쓸 수 있는 외부 오브젝트 만들기를 반드시 읽을 필요는 없습니다. 그렇지만 맥스에 부가적인 기능을 추가하는 것이 필요하다고 생각될 때, 그리고 C언어로 프로그래밍하는 방법을 알고 있다면, 그런 사람이 이 장을 참조한다면 이럴 때 어떻게 해야 할 지에 대한 완벽한 지침을 얻을 수 있습니다. Max SDK라는 폴더를 보면 그 안에 샘플 소스코드가 들어 있습니다. 이 폴더에 있는 내용은 C프로그래밍 언어를 잘 알고 있는 사람이라야 이해가 가능할 것입니다.

맥스를 사용하는 것이 처음이라면 셋업하기와 둘러보기 부분을 먼저 읽어 보는 것이 좋습니다. 그리고 나서 사용지침에서 몇몇 부분을 찾아 읽어보세요. 윈도우에서는C:Program FilesCycling ‘74MaxMSP 4.3max-help에, 맥킨토시에서는 /Applications/Max4.3/max-help에 있는 맥스도움말(max-help) 폴더의 도움말 파일을 보거나, 맥스 오브젝트 용어집을 찾아보거나 사용지침과 주제별 지침 매뉴얼에서 관련된 부분을 찾아 보세요.

메뉴얼에서 쓰이는 약속들

맥스에서 무언가를 만들 때 중심적인 단위는 오브젝트 입니다. 오브젝트의 이름은 항상 볼드체로 굵게 표시됩니다.
메시지(오브젝트로 전달되거나 오브젝트에서 나온 정보의 조각들)는 보통의 글씨로 표시됩니다.
“다른 것도 참조(See Also)”  장에 나오는 설명은 보통 사용 지침과 주제별 지침과 맥스 참조 메뉴얼에 나와있는 것들입니다.


맥스 사용자를 위한 다른 참고 자료들

max-help폴더 안에 있는 도움말 파일은 각각의 맥스 오브젝트를 사용할 때의 실례를 제공합니다. Cycling ’74의 웹 사이트(http://www.cycling74.com)에서는 자주 묻는 질문과 다른 중요한 정보에 대한 광범위한 목록 뿐만 아니라 이 소프트웨어의 최신 업그레이드 판을 제공합니다. Cycling ’74의 게시판에 들어가면 프로그래밍에 대해서 질문을 하거나 의견을 교환하고 새로운 오브젝트나 다른 사용자가 공유하고 있는 샘플을 찾아내거나 할 수 있습니다. 이런 의견 교환 과정에 참가하고 싶으시면 http://www.cycling74.com/community/를 방문해 보세요. 마지막으로 맥스를 사용하는데 문제가 있으면 support@cycling74.com로 이메일을 보내주세요. 질문을 하실 때는 메일 제목에다가 “how do I...?”로 시작하는 문구를 넣어 주시면 토론 과정에서 구별하기가 더 쉬울 것입니다.