MIDI

  • 혹시 자일대우의 버스모델을 찾는다면 여기로

1 개요

MIDI(Musical Instrument Digital Interface)는 국제 단체인 MIDI Manufacturers Association(MMA)[1]와 일본의 사단법인 음악전자사업협회(AMEI)[2]가 제정하고 공표한, 전자악기의 연주 데이터를 전송하고 공유하기 위한 업계 표준 규격이다. 물리적인 수준의 인터페이스 회로 규격, 연주 데이터를 주고 받을 때 필요한 통신 프로토콜, 파일 형식 등에 대한 표준을 규정하고 있다.

MIDI 규격을 사용하면, 완전히 다른 회사에서 제작된 전자악기일지라도 서로 통신하고 사용하는데 문제가 발생하지 않으며, 이로 인해 결과적으로 전자악기를 사용하는 음악의 가능성을 이전과는 다른, 매우 다양하고 새로운 차원으로 확장시켰다.

2 역사

20세기에 들어서면서 전자악기라는 새로운 악기가 발명되었고, 로버트 모그(Robert Moog)가 1960년대에 최초로 현대적인 신디사이저의 상업화에 성공한 이후로, 당연히 다양한 새로운 전자악기들이 등장하고 사용됐으며, 1970년대 말부터 폭발적으로 증가하기 시작했다. 이때까지 전자악기는 대부분 아날로그 신디사이저였다.

아날로그 신디사이저는 대부분 동시발음이 1개인 단음(Monophonic)에 볼트로 제어되는 것이었고, 신호의 크기와 단계 차이가 있었지만 전자악기 간에 초보적인 통신은 어떻게든 가능은 하긴 했다 (같은 제조사의 비슷한 라인업인 악기가 아니면 결코 그냥 잘 되는 수준은 아니었다). 그러나 이 방식은 동시발음이 여러 개(Polyphonic)이고 동시에 여러 다른 음색의 소리(Multi-timbral)를 낼 수 있는 디지털 신디사이저에 적합한 방식은 아니었다.

따라서 전자악기 제조사들은 저마다 독자적인 방식으로 악기간에 통신하기 위한 새로운 방법을 고안했는데, 당연히 회사마다 천차만별로 달랐기 때문에 다른 모델, 다른 회사에서 만들어진 전자악기한테는 무용지물이었고, 이 문제를 해결하기 위한 각종 신호 변환기가 잠시 등장하기도 했다.

이에 따라 시퀀셜 서키츠(Sequential Circuits)[3]의 데이비드 스미스와 쳇 우드가 전자악기 사이에 통신을 할 수 있는, 특정 메이커에 종속되지 않은 보편적인 인터페이스 표준 규격을 고안하여 1981년 말에 Audio Engineering Society(AES)에 공개한 것이 시초이며, 이후 2년간 YAMAHA, Roland, KORG, Kawai[4], moog, Oberheim, Sequential Circuits 등의 업계 메이저 회사들이 협의하고 수정되었다. MIDI의 개발은 로버트 모그에 의해 1982년 10월 Keyboard Magazine에 소개되었다. MIDI의 최초 시연은 1983년 1월 Winter NAMM Show에서 스미스에 의해 Sequential Circuits의 Prophet 600과 Roland의 JP-6를 연결하는 것으로 행해졌으며, 이렇게 제정된 MIDI 표준 1.0은 1983년 8월에 세상에 공개되었다.

이 이후로 우리가 아는 MIDI의 역사가 시작되며, 전자악기를 사용한 음악의 판도가 말 그대로 혁명적으로 바뀌게 된다.

3 MIDI의 영향

MIDI는 원래 전자 악기, 특히 신디사이저 사이에 통신을 하기 위해 제정된 표준이었고, 주요 사용 대상을 대중음악에 전자악기를 사용하고 싶어하는 층으로 정했다.

그러나 MIDI가 세상에 등장한 시기는 공교롭게도 개인용 컴퓨터 붐이 일던 시기였고, 아날로그 신디사이저가 아닌 디지털 신디사이저와, 신디사이저가 아닌, 녹음한 음을 재생하는 샘플러가 이제 막 등장한 시기였다. 당연히 전자악기가 아닌 개인용 컴퓨터에 장착할 수 있는 MIDI 인터페이스가 등장했고, 샘플러와 디지털 신디사이저도 MIDI 포트를 장착하면서 표현과 창작의 가능성이 이전과 비교할 수 없을 정도로 폭발한 결과, MIDI는 전 세계적으로 1980년대 음악 업계의 부흥을 이끌어오는데 일조했다. 여기에 오는 위키러들 중 연배가 있는 위키러들도 더러 있을텐데, 80년대에 전국에 있던 롤러스케이트를 탈 수 있던 로라장에서 틀어주던 팝송, 소위 로라장 음악을 지금 다시 찾아서 들어보라. 이상하게 전자악기, 신디사이저 소리가 많은 것을 바로 느낄 수 있다.

컴퓨터에 MIDI 인터페이스가 장착되고, 초기 형태의 MIDI 시퀀서가 등장하면서, 전문적인 연주 기술이 없는 사용자도 컴퓨터 키보드로 연주 데이터를 입력하거나, 마우스로 화면에 그리는 것 만으로도 작곡과 편곡을 할 수 있게 되었다. 그리고 인원이 1명 또는 2명인 밴드나 그룹도 MIDI를 사용해서 이전과는 다른, 훨씬 많은 인원이 무대 위에 있는 것과 같은 다양한 퍼포먼스를 무대 위에서 할 수 있게 되었다. 즉, 다음과 같은 1인 연주 공연이 가능해진 것이 바로 MIDI의 힘이다.


MIDI 등장 직전인 70년대 말, 80년대 초에도 MIDI가 아닌 다른 형태로 전자악기와 컴퓨터가 연주데이터를 주고받으며 작업을 할 수 있게 만든 시도가 있기는 했다. 독자적인 하드웨어를 사용하여 BASIC과 비슷한 형태의 언어를 사용하여 신디사이저를 제어하는 방식과 같은 식이었는데, 이런 방식은 MIDI가 공개된 이후에 등장한 시퀀서와 애초에 게임이 되는 수준이 아니었다. MIDI는 말 그대로 매우 적절한 시기에 등장하여 거대한 폭풍을 일으킨 셈이다.

MIDI의 등장으로 새로운 소리가 필요한 경우 굳이 신디사이저의 건반까지 필요한 경우가 많이 줄었으며, 이에 따라 소리를 내는 음원부에 MIDI 포트만 장착된 사운드모듈이라는 형태의 새로운 기기도 등장하게 되었다.

일본에서는 반주기기에 사운드모듈을 내장하고 MIDI 연주 데이터 역시 내장하여 일찍부터 가라오케에 MIDI를 적용했다. 한국은 물론 전 세계의 노래방 기계는 모두 이 일본 기계의 구조를 그대로 따라가고 있다. 2000년대 이후에 의도하지 않았던 장점이 부각되었는데, MP3 등에 비해 용량이 크지 않아서 경쟁력이 높다나?

MIDI는 휴대폰에도 채용되어 주로 벨소리를 연주하는 정보를 수록하고 이를 재생하는데에도 사용되었다. 물론 요즘에 이런 휴대폰은 보기 힘들다.

게다가, MIDI 덕에 프로젝트성 음악 활동에 외부 세션이나 게스트를 고용하는 경우도 대거 줄었으며, 즉, 전문 연주인(세션)의 부수입, 특히 드러머베이시스트의 부수입을 없애버리는데 혁혁한 공을 세웠다. 그리고 몇몇 드러머베이시스트들키보디스트까지 겸업하게 되었다. 이러한 음악 생산 작업의 중심은 MIDI 작업을 하는 컴퓨터가 차지하게 되었다. 전문 음악인도 이 시스템을 도입하여 홈 레코딩 시스템을 너도 나도 만들 정도로 인기가 대단했다. 물론 특성상 녹음 자체에 한계가 존재했지만, 이것은 이후 1990년대에 등장한 DAW에 의해 완전하게 해결된다.

MIDI를 좀 더 응용하여 무대조명장비나 무대용 특수효과 장비를 직접 MIDI 신호로 제어할 수 있는 설비도 생산되었다. 이를 응용하면 음악에 맞춰 조명이 빛나게 할수도 있다.

4 용도

MIDI는 주로 전자악기 사이에 연결 또는 음악 연주와 제작에 이용된다. MIDI 규격에 따라 만들어진 데이터는 MIDI 규격을 준수하는 다른 전자악기에 바로 전송되어서 연주를 할 수 있고, MIDI 시퀀서 또는 DAW[5]를 사용해 편집, 재생할 수 있다.

MIDI 데이터 자체는 파형을 가진 소리 정보, 오디오 데이터가 아닌, 입력한 음계와 그 강도(피아노를 살짝 누르면 소리가 작게 나고 세게 누르면 소리가 크게 나는 차이)와 기타 음을 내는데 필요한 데이터를 기록하는 방식이다. [6]

MIDI 데이터 자체로는 바로 소리를 낼 수 없지만, 연주된 음악데이터의 편집 기능이 미약한 신디사이저를 대신하여 컴퓨터를 사용해 원격에서 편집, 가공, 재생을 할 수 있다. 각종 이펙터도 MIDI신호로 제어할 수 있으며, 따라서 자연스럽게 음악작업의 중심이 MIDI 시퀀서가 동작하는 컴퓨터가 되도록 만들었다.

여기에 보다 발전된 형태로, 컴퓨터로 사용자가 연주하여 생성된 MIDI 신호를 전송한 후, 이를 실시간으로 가공, 확장하여 컴퓨터에 연결된 MIDI를 지원하는 전자악기로 실시간으로 전송하여 확장된 소리 또는 효과를 내는 형태도 존재한다. 주로 단음의 MIDI 신호가 입력되면 3도음, 4도음, 5도음 또는 미리 정해진 규칙에 따라서 화음을 더해주거나, 잘 안쓰는 특정 음을 연주하면 미리 입력된 CC 또는 SysEx 신호, 기타 특수 효과로 확장하여 신호를 전송하거나, 입력 데이터를 분석하여 자동으로 화음에 변화를 주면서 미리 정해진 스타일에 따라 곡의 반주 패턴을 실시간으로 MIDI 신호로 변환하여 전송하는 형태 등으로 구현되어 있다.

5 기초 용어

  • 음색(Timbre, Voice, Patch, Program): 독립된 개별 악기로 인식할 수 있는 소리이다.
  • 포트(Port): 전자악기나 컴퓨터 사이에 연결은 물리적인 포트 단위로 이루어진다. 1포트는 최대 16개의 채널을 가진다. 보통 IN, OUT과 함께 IN으로 들어온 신호를 그대로 다시 전송하는 THRU 포트가 장착되며, 필요에 따라서 2쌍 이상의 IN, OUT 포트가 장착되는 경우도 있다.
  • 채널(Channel): 음색을 할당하는 단위가 된다. 즉 1개의 MIDI IN 포트를 가진 기기는 동시에 최대 16개의 음색을, 2개의 포트를 가진 기기는 최대 32개의 음색을 연주할 수 있다.
  • 베이스 채널(Base Channel): 컨트롤러가 같이 연결된 전자악기의 경우, 내부 컨트롤러가 사용하는 첫 번째 채널이다. 보통 1 이지만, 전자악기가 구현된 형태에 따라서 건반 영역 별로 이것을 다르게 지정할 수 있는 악기도 있다.
  • 로컬 컨트롤(Local Control): 전자악기 내부에서 MIDI Controller가 만드는 신호와 음원부의 연결을 제어한다. On일 경우 연결되며, Off일 경우 연결이 끊어진다. 이는 무대에서 연주하는 상황이 아닌, 컴퓨터로 MIDI 신호를 전송하고, 이것을 실시간으로 (변환작업을 거칠 수도 있다) 다시 전자악기로 전송할 때 사용된다. 보통 MIDI 시퀀서나 DAW는 MIDI 입력을 받으면 바로 다시 MIDI OUT으로 쏘는 THRU 모드로 설정되어 있으며, 이 상황에서 내부 연결이 끊어지지 않으면, 연주를 했을 때 컨트롤러에서 내부 음원으로 전송되는 신호와, MIDI OUT 포트를 통해 컴퓨터로 전송된 후, 다시 컴퓨터에서 전자악기로 전송되는 데이터 때문에 중복으로 신호가 전달되어 연주자가 의도했던 소리가 아닌, 다른 소리가 나기 때문에 존재한다.
  • 벨로시티(Velocity): 소리의 세기이다.
  • MIDI 채널 동작 모드
    • 모노(Monophony): MIDI에서는 단음으로 연주하는 것을 말한다. 화음 신호가 들어와도 무시하고 단음으로만 연주한다. 아래의 폴리와 상반되는 개념이며, MIDI 표준이 제정될 당시의 많은 아날로그 신디사이저가 단음만 연주할 수 있는 것이었기 때문에, 화음 MIDI를 출력하는 전자악기의 신호를 이러한 단음만 연주할 수 있는 기기에서 수신할 때 사용된다. 그러나 요즘은 아날로그 신디사이저도 화음을 연주할 수 있는 것이 절대 다수이기 때문에 보통 쓸 일이 없다.
    • 폴리(Polyphony): 말 그대로 화음을 연주하는 것을 말한다.
    • 옴니(Omni): On/Off로 구분된다.
      • Omni On이 되면 일단 MIDI 신호에 지정된 채널 정보를 무시하며, 구현된 형태에 따라서 모든 채널의 데이터를 단일 채널로 들어오는 것으로 인식하여 음원의 베이스 채널로만 MIDI 데이터가 전송되어 소리를 내거나, 또는 미리 정해진 채널로 데이터를 뭉쳐서 소리를 내게 된다. 후자의 경우는 전자악기가 지원하는 채널이 16개가 안되는 경우 이렇게 동작한다.
예를 들어 4개의 채널만 지원하면서 베이스 채널이 2로 지정된 전자악기의 경우, MIDI 신호를 수신하여 연주할 수 있는 채널은 2, 3, 4, 5 번 채널이 된다. 이 상태에서 Omni On이 되면 수신하는 신호의 1, 5, 9, 13채널은 2 채널에서, 2, 6, 10, 14 채널은 3번 채널에서, 3, 7, 11, 15는 4번 채널에서, 4, 8, 12 16은 5번 채널에서 소리를 내게 된다.
  • Off인 경우, MIDI 신호의 채널 정보가 유효하며, 정해진 채널로 전송한다. 이 역시 단음 또는 16개의 채널을 모두 지원하지 못하는 전자악기와 16개의 채널을 지원하는 전자악기간의 통신을 하기 위해 존재한다. 바로 앞에서 예를 들었던 2, 3, 4, 5의 4개 채널을 연주할 수 있는 신디사이저에서는 이 이외의 채널로 들어오는 신호는 무시된다. 그런데 16채널을 모두 지원하는 대부분의 요즘 전자악기에서는 이거 On 하나 Off 하나 똑같잖아?
MIDI 채널 모드는 조합에 따라 다음의 표와 같이 4 가지로 구분되며, 보통 전자악기를 켜면 자동으로 Mode 1인 Omni On, Poly 모드로 설정된다.
PolyMono
Omni OnMode 1Mode 2
Omni OffMode 3Mode 4

6 규격

6.1 초기의 하드웨어와 신호 규격

MIDI 1.0 표준에 의하면 31250bps[7] 비동기 시리얼 통신을 하며, 0V 일때 1, +5V일때 0을 나타낸다.연결 커넥터는 5핀 DIN 커넥터를 사용하며, 케이블은 크로스 형태이다.

MIDI 포트는 크게 IN, OUT, THRU 가 있다. IN, OUT은 말 그대로 입력, 출력이며, THRU는 IN으로 들어온 신호를 그대로 다시 보내는 포트이다. 여기서 오해하면 안되는 것이 MIDI는 절대 BUS 형태의 데이터 전송 채널이 아니며, 따라서 THRU라고 할 지언정, 일단 수신한 신호를 해독하는 과정을 거친 후, 다시 THRU로 데이터를 전송하는 식으로 구현되어 있다. 여기에, 전기적 안정성을 위해 일단 수신된 신호는 Opto-coupler를 사용하여 전기적으로 내부 회로와 분리하게 되어 있기 때문에, 지나치게 많은 단계로 THRU연결을 하면 필연적으로 딜레이가 발생하고, Opto-coupler 를 사용하는 한계 때문에 드물지만 데이터 손실도 발생할 수 있다. 이러한 이유 때문에 8 IN 8 OUT 과 같은 많은 입출력을 가지는 MIDI 인터페이스는 아직도 전문 음악인들 사이에서 사용된다.

6.2 그 밖의 통신 규격

위의 것은 어디까지나 1980년대에 제정된 표준이고, 초기에 당시의 컴퓨터 주변기기 통신 규격인 RS-232, RS-422 시리얼 통신규격 등을 사용하는 표준 규격이 존재하며, 신기술이 등장함에 따라 USB MIDI 표준, IEEE1394, Wireless, IP기반 네트웍 MIDI 표준이 추가되었다. 당연히, 물리적 규격은 위와 상관없이 해당 기술의 표준 규격을 사용한다.

6.3 MIDI 데이터 메시지 포멧

깊게 들어가면 길이가 너무 길어지므로, 간단하게 요약하면 다음과 같다. 혹 자세한 내용을 알고 싶은 위키러는 이 링크를 참조하라. [1]

MIDI 데이터 메시지는 메시지 종류를 구분하는 상태/채널 바이트와 뒤이어 따라오는 1~2개의 데이터 바이트로 구성된다. 물론, 바이트이니 만큼 데이터는 최대 8비트이며, MIDI는 사실 이 중에 7 비트만 사용한다. 즉 가능한 데이터 값은 0 ~ 127 이다. 필요한 경우 2바이트 14비트를 데이터로 취하여 0 ~ 16383의 파라미터를 취하는 메시지도 존재한다.

  • Note On: 음을 낸다. 음높이와 Velocity(소리 세기)를 데이터로 취한다.
  • Note Off: 말 그대로 음을 끝낸다. 음높이와 함께 특이하게도 Release Velocity를 데이터로 취하는데, 이는 건반에서 손을 떼거나, 그 밖에 MIDI 컨트롤러에서 연주를 멈추었을 때 잔향 효과를 주거나, ADSR 엔벨로프의 Release를 처리할 때 사용된다.
  • Polyphonic Aftertouch: 건반을 누른 후 좀 더 힘을 주거나 흔드는 행동을 감지하여 보내는 신호. 음높이와 함께 세기를 데이터로 취한다.
  • Control Change: 보통 MIDI에서 CC라고 언급하는 것. CC번호와 함께 추가의 데이터 바이트를 취한다. 당연히 0 ~ 127 까지 128가지가 있다. 보통 공통적으로 많이 쓰는 것을 열거하면 다음과 같다. 이 외에는 악기마다 사용할 수 있는 CC가 조금씩 다르다.
    • Bank Select(0): 당연히 요즘의 신디사이저 / 음원은 128개를 한참 넘어가는 음색을 가지고 있다. 이는 128개 이하 단위의 Bank라는 단위로 구분되어 있고, 이를 선택할 때 사용한다.
    • Modulation(1): 보통 키보드에 달려있는 휠 중 Pitch Bend와 함께 필수요소격으로 같이 있다.
    • Channel Volume(7): 말 그대로 채널 볼륨.
    • Pan(10): 채널에서 나는 소리의 좌/우 편향도를 나타낸다.
    • Expression(11): Channel Volume과 별도로, 보통 소리를 낸 이후에 발생하는 Volume 변화를 제어할 때 쓰인다.
    • Sustain(64): Note Off가 들어와도 음을 쭈욱 유지한다. 보통 키보드에서 가장 흔히 쓰이는 페달이 이 Sustain을 제어하는 페달이다.
  • Program Change: 채널의 음색(Program, Patch)를 변경한다.
  • Pitch Bending: 14비트 값으로 0 ~ 16383 사이의 값을 취하며, 연주되고 있는 음높이를 변경할 때 사용한다.
  • System Exclusive: 보통 줄여서 SysEx 라고 표기한다. MIDI 표준에 규정된 메시지 이외에, 전자악기별로 특화된 설정 또는 데이터를 전송할 때 사용하며, 주로 신디사이저의 메인 설정 또는 Patch(Program) 데이터를 주고받을 때 사용한다. 일부 전자악기는 심지어 이것으로 펌웨어 업그레이드 데이터도 전송한다.
  • MIDI Clock: 기보 형식, 즉 마디와 구절에 따른 현재 곡의 재생 상태에 대한 정보를 전송한다.
  • MIDI Time Code: SMPTE에 대응되는 신호를 MIDI로 구현한 것.

6.4 파일 형식

MIDI 음악 자체는 확장자 .mid를, 노래방용 파일은 .kar 확장자를 가진다. 거의 비슷하지만 세부 형식에서 .kar이 가사 정보를 포함하고 있어 약간 차이가 있다.

6.4.1 Standard MIDI File(SMF) 0

모든 데이터가 한 트랙에 몰려있는 형식. 가장 단순하나 열어보는 사람 입장에서는 고역이다. 물론 해독하기 힘들다는 특성 덕에 노래방 데이터나 벨소리 데이터가 이 형식으로 되어 있는 경우가 많으나, 현실은 그런거 없고 최신 시퀀서는 알아서 다 채널별로 분리해준다.

6.4.2 SMF 1

한 채널에 한 트랙이 할당된 구조. 시퀀서별로 독자적인 파일 형식이 등장하기 전 까지는 주로 이 파일 형식이 사용되었다.

6.4.3 SMF 2

채널에 구애받지 않는 여러 트랙이 존재할 수 있다. 즉, 같은 채널을 가지는 여러 트랙이 존재할 수 있다. 이는 한 채널에서 패치를 바꿔가면서 오르골 소리를 내다가 플룻 소리를 내는 등의 경우 등에 트랙별로 분리할 때 매우 유용하다.

7 MIDI 장비

7.1 컴퓨터 인터페이스

컴퓨터가 MIDI 신호를 수신하고 전송할 수 있게 해주는 장치. 초기에는 확장슬롯에 꼽는 확장카드 형태로 등장했으나, Atari ST같이 아예 본체에 내장한 경우도 일부 있었다. 그러나 USB가 대세가 되고 전자악기 자체에 컴퓨터용 USB MIDI 인터페이스가 내장되어 나오는 것이 대부분인 지금은 사용자 입장에서 사실상 유명무실해졌으나, 편의성 때문에 Wireless 인터페이스, 분산처리를 위한 네트웍을 통한 인터페이스는 중요하게 취급되고 있다.

7.2 컨트롤러

MIDI 신호를 생성하는 기기. 보통 키보드 형태이나, 키보드 말고도 매우 다양한 형태가 존재한다. 몇 가지를 나열하면 다음과 같다.

  • MIDI Keyboard Controller: 흔히 마스터 키보드라고 부르는 그것이다. 음원이 없으므로 소리는 안난다.
  • MIDI Pad Controller: AKAI Professional의 MPC류의 샘플러나 리듬머신에 달려있는 그 패드만 있는 컨트롤러.
  • MIDI Drum/Percussion Controller: 드럼, 타악기 컨트롤러.
  • MIDI Guitar Controller: 기타 형태의 컨트롤러. 별도로 제작된 제품보다 MIDI 신호를 만드는 MIDI Pickup을 기타에 장착하는 형태로 된 것이 많다.
  • MIDI Wind Controller: 관악기 형태의 컨트롤러. 국내에서는 T-Square 덕에 알려졌다. 크게 목관악기형과 금관악기형으로 나뉜다.
  • MIDI Violin Controller: 바이올린 형태의 컨트롤러. MIDI Guitar Controller와 같이 원래 악기에 MIDI Pickup을 장착하는 형태가 많다.
  • MIDI Surface Controller: 각종 노브와 페이더가 왕창 붙은 컨트롤러. 목적은 당연히 MIDI 트랙을 제어하는 것이다.
  • 그 밖에 정말 드물지만 하모니카, 아코디언 형태의 컨트롤러도 등장한 적이 있다.

7.3 악기

컨트롤러가 MIDI 신호를 생성하여 전송한다면, 이쪽은 주로 MIDI 신호를 수신하는 입장이다.

7.4 그 밖에 MIDI 장비

  • 하드웨어 시퀀서
  • 이펙터
  • 믹싱 콘솔
  • MIDI Patch Bay: 여러 MIDI 신호를 받아서 다시 이를 설정에 따라 분배해주는 하드웨어.
  • 무대조명이나 특수효과 장비도 MIDI신호를 수신하도록 제작하여, 단순히 MIDI 파일을 재생하는 것 만으로 제어가 가능하게 한 장비가 존재한다.
  • MIDI-CV Converter: MIDI 신호를 수신하여 아날로그 신디사이저를 구동할 수 있는 Volt신호로 변환하여 출력하는 장치. 당연히 특정 아날로그 신디사이저별로 기기가 따로 존재한다. 이것을 사용하면 오래전에 생산되어 MIDI를 지원하지 않는 아날로그 신디사이저도 MIDI로 제어할 수 있다. 물론 이런 기기는 주문이 들어가면 수제작으로 만들어지며, 가격은 매우 크고 아름다운 수준이다. CV/Gate 방식에 대한 자세한 것은 아날로그 신디사이저를 참조하라.
  • MIDI Controlled Relay/Switch: MIDI 신호를 수신하면 Relay나 스위치를 작동시키는 장치. 다양한 응용이 가능하다.

7.5 확장 규격

7.5.1 General MIDI(GM)

MIDI의 등장 이후로 서로 다른 전자악기간에 통신을 할 수 있게 된 점은 대단한 장점이었지만, 새로운 문제가 발생했다. 이쪽 악기를 기준으로 작성된 MIDI 데이터를 저쪽 악기에서 재생하면 완전히 엉뚱한 소리가 발생하는 것. 예를 들어 이쪽 악기에서 1번 패치는 피아노였는데 저쪽 악기에서는 1번 패치가 트럼펫이라든지와 같은 식이다. 따라서 패치의 소리와 최소한의 컨트롤러를 표준화하여 이 규격을 지키면 일정수준의 MIDI 데이터를 재생했을 때 호환성을 보장하는 표준 규격으로 1991년에 등장한 것이 General Midi(GM) 이다.

그러나 이것도 급증하는 음색과 다양한 악기의 기능을 소화하는데는 충분하지 않다고 판단되어, 일부 회사별로 GM에 근거한 독자적인 표준이 다시 만들어졌고, 후에 GM 자체도 새로운 표준이 만들어졌다.

이 규격은 상대방이 만든 MIDI 음악을 내 기기에서 재생해도 들을만한 수준의 소리가 보장된다는 점과, 1990년대 초중반 당시 잘해야 2400bps 인 일반 전화망용 느려터진 모뎀의 전송속도에 따른, 작은 용량임에도 재생하면 AdLib같은 것과는 비교가 안되는 훌륭한 소리를 낸다는 점 때문에 전문가보다는 주로 자신들이 작성한 MIDI 파일을 공유하는 취미 동호인 사이에서 인기가 있었으며, YAMAHA같은 회사는 인기있는 곡의 MIDI 파일을 만들어서 유료로 판매하기도 했다. 물론 YAMAHA는 잽싸게 아래에 있는 XG로 갈아탔지만, XG와 GM이 크게 다르지 않았기 때문에 XG 파일을 조금만 수정하면 대부분 문제 없이 재생이 가능했다.

  • General Standard(GS): 1991년에 공개된 Roland의 독자 표준. GM과 하위 호환된다.
  • Extended General MIDI(XG): 1994년에 제정된 YAMAHA의 독자 표준. GM과 하위 호환된다.
  • General MIDI Level 2(GM2): 1999년에 MMA와 AMEI에서 제정된 표준.

8 MIDI 표준 1.0 규격의 단점

오디오 데이터를 직접 다루지 못한다는 점은 충분한 단점이지만, 이미 이 상태로 근 30년이 지났으며, 1983년 당시의 기술로서는 어쩔 수 없는 부분이 있음을 이해해야 한다.

그리고 31250 bps 의 느린 속도는 매우 복잡한 곡의 데이터를 전송하는데 걸림돌이 된다. 물론 이 부분은 USB, IEEE1394, IP Based 네트웍 등으로 물리적 전송부분이 바뀌면 일단 해결된다[8].

음 높이를 7비트 데이터로 표현하는 부분은 무리가 없어보이지만, Microtonalism 같은 것을 추구하게 될 경우 표현을 할 수 있는 범위가 현저하게 줄어들며, 기타 중요한 CC 값이나 Velocity가 128단계로밖에 구분이 안된다는 것이 표준이 제정되고 공표된 지 근 30년이 지난 2012년 말의 시각에서는 결정적인 한계점이자 문제점으로 꼽을 수 있다.

Velocity 문제를 해결하고자, MMA에서는 기존의 Note On/Off 메시지와 함께 사용하여 음의 세기를 표현하는 Velocity를 14 bit로 확장하는 용도로 CC88을 High-Resolution Velocity Prefix로 정의하고, 여기에 Velocity 정보의 상위 7비트 데이터를 입력하도록 했지만, 단음 연주가 아닌 경우에는 별로 효용이 있을 것 같지 않다. 아직 지원하는 기기도 별로 없고...

YAMAHA에서는 한계를 극복하고자 보다 빠른 전송속도와 대역폭을 가지는 IEEE1394기반의 mLan이라는 독자 규격을 2000년에 만들었고, 오디오 데이터와 MIDI 데이터를 통합하여 전송하고, 자유롭게 라우팅할 수 있는 한 차원 높은 수준의 표준 규격을 제안하고 자사의 제품에 적용하고 확산시키려고 노력했다. (얘네도 외계인 고문 좀 할 줄 안다) 일부 타 업체에 확산도 성공은 했으나... 최종적으로 어른의 사정에 의해 흑역사가 되었다[9].

자유로운 신호 라우팅은 운영체제 드라이버 수준에서 이러한 기능을 했던 mLan과 달리, 응용 프로그램 수준에서 제정된 표준 ReWire로 동일한 기능을 할 수 있다.

8.1 단점에서 오는 장점

21세기인 지금 시점에서 보면 MIDI 1.0 사양은 케케묵은 낡은 규격이지만, 이미 알려질 것이 다 알려진 상태이고, 지금의 기술로 봤을 때에는 고성능의 디지털 전자회로가 필요하지도 않으며, 초보적인 기술만 사용해도 충분한 수준이기 때문에, 공을 조금만 들이면 관련 소프트웨어나 하드웨어를 직접 제작하기가 상당히 쉽다.

소프트웨어는 보통 오래된 신디사이저의 음색 편집 프로그램 중 Windows 98, OS X 이전의 구 버젼 Mac OS용으로만 제공되어서 현재 통용되는 운영체제에서는 사용할 수 없는 경우, 사용자가 직접 SysEx 메시지로 신디사이저를 제어하는 음색 편집 프로그램을 제작하여 무료로 공개하거나 돈을 받고 파는 경우가 꽤 흔하다. 하지만 소프트웨어 신디사이저를 직접 만든다면 어떨까?!

일부 특수 목적을 가진 MIDI 시퀀서, 플레이어 또는 MIDI 관련 프로그램을 직접 제작하여 사용하거나 공개하는 사람들도 존재한다. 관련 프로그램으로는 System Exclusive Message 만 전문으로 안정적으로 송수신을 하거나[10], 단음 MIDI 신호를 받아서 자동으로 화음을 만들어 주거나, 지금은 단종되고, 현재 통용되는 운영체제에서 동작하지 않으면서 SMF 형식이 아닌 독자적인 형식을 취하는 옛날 MIDI 시퀀서의 데이터를 SMF로 변환하는 것 등이 대표적이다.

하드웨어는 자작 MIDI 컨트롤러나 신호 변환기, 추가 신호를 병합하여 한 포트로 내보내는 것과 같은 것이 많다. 이런 것들을 자작하려면 대부분 PIC(Peripheral Interface Controller) 또는 AVR(Advanced Virtual RISC), ARM, 특히 Arduino, Raspberry Pi 와 같이 일종의 오픈소스로 표준화된 하드웨어 개발 킷과 소프트웨어 개발 환경을 사용할 경우, 생각보다 만만한 예산에, 조금만 배우면 누구나 쉽게 그렇다고 아주 쉽지는 않지만, 전자공학프로그래밍을 제대로 배우는 것 보다는 훨씬 쉬우니 자신만의 MIDI 컨트롤러를 개발할 수 있다.

그 결과로 다음 동영상과 같은 것이 탄생하게 되었다. 활성화가 많이 되지는 않았지만 전 세계적으로 이런 기상천외한 자작 MIDI 컨트롤러를 만드는 모임이 있으며, 한국에도 존재한다.

9 이야기

위의 설명을 보면 알았겠지만, MIDI 신호 자체는 오디오 데이터가 아닌, 음을 연주하는데 필요한 정보를 가지고 있다. 따라서 MIDI신호를 수신하여 소리를 만드는 기기/가상악기 프로그램에 따라서 소리가 천차만별로 달라지게 된다.

이런 현상은 주로 노래방에 가면 알게 되는데, 노래방 기계가 사용하는 MIDI 사운드모듈이 이미 나온지 꽤 된 물건이기 때문에 그렇다[11].

고전게임BGM 확장자에도 간간히 사용되었다. 젤다의 전설 시간의 오카리나를 에뮬로 돌릴 때 야마하의 소프트 사운드모듈 등으로 교체하면 소리가 무지 좋아진다.[12] 90년대 게이머라면 추억의 음악일 듯.

PC용 고전게임을 해본 사람이면 Roland MT-32라는 것이 굉장히 익숙할텐데, 이는 1980년대 말에 개인용으로 Roland에서 내놓은 MIDI를 채용한 사운드모듈이다. 당시로는 매우 파격적인 컨셉에 혁명적인 물건으로, 생각보다 인기를 끌게 된다. MT-32보다는, 동일한 회로에 전면 패널의 버튼과 액정이 제거된 CM-32L이 더 많이 팔렸다.

MT-32의 뒤를 잇는, GS 확장규격을 채용한 취미용, 개인용 MIDI 음원으로 1990년대에 대박 히트를 친 Roland의 사운드모듈, 사운드 캔버스라는 것이 있었다. 이후 PC 게임에서는 이것을 지원하는 경우가 많았다. MIDI는 거의 1990년대 후반까지 게임 배경음악으로 사용되었는데, 당시 사운드 카드의 실시간 믹싱 성능이 떨어져서 PCM 음원으로 효과음과 배경음악을 같이 출력하기 힘들었기 때문이다. 덕분에 윈도우 시대에도 MIDI는 CD Audio[13]와 함께 게임 배경음악의 양대 산맥이었고, 이후 사운드 카드의 믹싱 성능이 올라가면서 실시간 믹싱이 대세가 되자 그 자리를 PCM 음원에 넘겨주었다. 그러나 MIDI 음악을 녹음하여 PCM 음원으로 제공하는 방식은 아직도 많이 사용되고 있다.

영화등에 사용되는 오케스트라 연주도 실은 컴퓨터의 연주인 경우가 부지기수. 이런 기술의 발달로 동인 게임 등에서도 상당히 고수준의 음악이 배경음악으로 나오는 경우도 왕왕 존재한다. 그러나 이전의 낡은 감각의 가상악기를 선호하는 사람들도 존재해, 일부러 8, 90년대적인 수준의 가상악기 스타일로 음악을 만드는 사람들도 존재한다. 대표적으로 YMCK. 동방프로젝트ZUN도 구식 MIDI 음원의 브라스 소리를 좋아한다고 밝힌 적이 있고, 실제 곡도 구식 MIDI 음원스러운 느낌이 강하다.

윈도우 Me의 폴더 내에서 주옥같은 MIDI 걸작이 나온다. 참고로 이건 윈도8에도 있다!윈도우10에도 있다

1990년대 후반부터 인터넷의 보급되면서 개인 홈페이지 붐이 일었을 때 홈페이지의 배경음악을 책임졌던 파일 형식이기도 하다. 당시 회선 환경상 MP3를 넣기는 부담이 크던 시절이라 용량이 작은 MIDI가 대세가 되었던 것. 지금 와서 MIDI 파일을 배경음악으로 쓰고 있는 홈페이지가 있다면 십중팔구 옛날에 만든 게 아직도 남아 있는 경우다.

9.1 MIDI는 DAW와 같지 않다

MIDI 등장이 홈 스튜디오의 등장에 강력한 영향을 줬고, 현존하는 DAW 프로그램이 기본적으로 MIDI 시퀀싱 기능을 내장하고 나오지만, 분명히 MIDI는 DAW와 다르다. MIDI는 DAW를 이루는 한 요소이지 DAW와 같지 않다.

흔히 컴퓨터 음악을 배운다고 하면 90년대 중반까지는 "MIDI로 음악하는 것을 배운다" 라는 표현을 썼다. 그 시절까지는 사실상 MIDI가 컴퓨터로 하는 음악의 전부나 다름이 없었기 때문이다. 그러나 ASIO가 등장하고, DAW가 보편화된 지금은 분명 다르다.

DAW는 MIDI 시퀀싱과 함께 오디오 데이터를 표준화된 하드웨어와 소프트웨어 규격에 힘입어 통합적으로 컴퓨터에서 다루는 것을 말한다. 사실 여기에서 MIDI는 없어도 되며, 어디까지나 보조적인 구성요소 그 이상도 그 이하도 아니다.

따라서 실제 악기 연주를 녹음하거나 보컬 녹음을 위주로 음악 활동을 하는 사람한테는 MIDI와 MIDI 시퀀싱은 있으나 마나 한 존재이며, 이런 사람들은 녹음 및 녹음 후 후처리에 초점이 맞춰진 NuendoProTools를 사용하는 것이 더 적합하다.

그러나 신디사이저, 가상악기를 비중있게 사용하고, 세세한 MIDI 데이터 하나 하나를 주의깊게 신경쓰며 편집해야 하는 사람들은 Cakewalk SONAR, Logic, Cubase등의 프로그램을 사용하는 것이 편리하고 적합하다.

10 링크

  • 관련 항목: 신디사이저, 소프트웨어 신디사이저, DAW
  • 외부 사이트
    • [2] MMA 사이트. 일부 MIDI 표준 규격이 공개되어 있다.
    • 미딕스 한국 MIDI관련 커뮤니티 중 한 곳. 간단한 강좌나 MIDI를 사용하여 만든 곡들을 공유하고있다.
    • 미디유저넷 비교적 활성화된 한국 MIDI, DAW 관련 커뮤니티.
    • Midisite 영어권 MIDI파일 검색에 용이한 사이트.
    • VGmusic 서양권 게임음악 MIDI 사이트. 각종 콘솔 게임의 BGM들을 MIDI로 올리는 괴수들이 즐비한 사이트. 구닥다리 고전 콘솔뿐이 아닌 최근 게임들의 BGM까지 MIDI로 만드는 무서운 곳. 2015년 4월 현재 재정문제인지 새 파일 업데이트가 멈춘 상황.
  1. International MIDI Users Group(IMUG)가 전신으로, International MIDI Association(IMA)를 거쳐 1984년에 MMA가 되었다.
  2. 音楽電子事業協会 통칭 아메이(アメイ), Association of Musical Electronics Industry(AMEI), 구 Japan Midi Standard Comitee(JMSC)
  3. 전설의 명기 프로핏(Prophet)을 만든 그 회사 맞다!
  4. 可愛い와는 다르다! かわいい와는!! 지금은 피아노로 유명한 河合이다.
  5. 요즘은 순수한 MIDI 시퀀서는 없다고 보면 된다. 지금이 90년대 초반도 아니고...
  6. 컴퓨터용 악보
  7. 1 MHz, 1,000,000을 32로 나누면 이 값이 나오기 때문에 채용되었다고 한다. 문젠 이게 1983년엔 충분히 빠른 것이었지만, 발표된 지 30년이 다 되어가는 지금에서는 엄청나게 느린 속도라는 것.
  8. 단 이는 악기 제조사에서도 수신부가 USB, IEEE1394등에 맞추어 빠르게 동작하도록 설계가 되어있어야 완전하게 해결된다.
  9. mLan을 지원하는 기기 사이에서는 정말 자유롭게 이쪽의 오디오 신호 입력을 저쪽의 출력으로 설정하는 것이 가능한, 즉 컴퓨터 안에서 마음대로 다른 기기들 사이에서 라우팅이 가능했기에 당시로서는 혁신적인 기술이었으나, 시기적으로 시대를 너무 앞서서 발표되었다. 최근의 컴퓨터로도 mLan 장비가 많으면 버벅거림이 느껴지는데 2000년대 초반은 어떠했을까. 어쨌든 최종적으로 묻혔다.
  10. 직접 해보면 알겠지만 System Exclusive Message는 생각보다 잘 깨진다. 그래서 대량의 패치 데이터를 송수신하거나 SysEx로 된 펌웨어 업그레이드 데이터를 전송할 때에는 충분히 버퍼링을 하면서 오류없이 안정적으로 SysEx를 전송하는 프로그램이 매우 중요하다. 이것에서 오류가 발생하면 최악의 경우 iPhone 탈옥하는 것도 아닌데 신디사이저가 벽돌이 되는 참혹한 경험을 할 수 있다!!
  11. 국내 기기에는 주로 Roland사운드 캔버스 음원이 사용되었는데, 이거 10년도 더 전에 단종되었다
  12. 비스타와 7이 나온 요즘도 흔히 쓰는 Windows XP에 기본으로 들어 있는 가상 모듈은 Roland 사에서 만든 것인데 컴퓨터 음악을 하려면 절대 봉인하자. 레이턴시(발음 지연)가 무려 0.5초나 되기 때문에 다른 악기와 호환이 불가능하다. 하지만 자주 들었다면 참 그리운 소리. 재밌게도, OS X에 기본으로 내장된 소프트웨어 신디사이저인 DLSMusicService의 소리도 Roland사에서 만든 것인데 이쪽은 지연이 없다.
  13. 배경음악을 CD Audio 규격을 사용하여 음악 CD처럼 넣는 방식. 이 경우 트랙 1번은 게임 데이터가 들어가고, 트랙 2번부터 배경음악이 들어갔다. 음악 CD 규격을 사용하기에 이런 방식의 게임 CD-ROM을 CD 플레이어에 넣으면 2번 트랙부터는 음악이 재생되었다.