MIDI 오디오 (.mid)
MIDI 표준MIDI(Musical Instrument Digital Interface)는 음향 오디오 파형이 아닌 악기 연주 이벤트를 기록하는 상징적인 음악 악보 표준입니다.
검사 및 메타데이터
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 MID 파일을 식별합니다:
바이트 단위 헤더 시그니처 (매직 바이트)
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 MID 파일을 식별합니다:
16진수 시그니처 (오프셋 0):
4D 54 68 64ASCII 표현: MThd
표준화: MIDI Manufacturers Association (MMA) / AMEI
기술 사양
| 컨테이너 아키텍처 | Standard MIDI File (SMF) chunk hierarchy (MThd header + MTrk track chunks) |
| 압축 | Uncompressed symbolic performance events (Note On, Note Off, Velocity, Pitch Bend) |
| 바이트 엔디안 | Big-Endian bit and byte ordering |
| 색 공간 | N/A (Symbolic Note Instruction Stream) |
| 채널 및 구조 | 16 logical MIDI channels per track |
| 최대 크기 | Variable delta-time resolution (ticks per quarter note, up to 65,535) |
| 투명도 | Pure mathematical event sequence; zero waveform audio stored |
| 스트리밍 및 프로그레시브 | Sequential event stream; can be parsed and dispatched note-by-note |
기술 비교 매트릭스: MID 대 경쟁사
| 기술적 속성 | MID (현재) | WAV | MP3 | MOD |
|---|---|---|---|---|
| 저장되는 콘텐츠 | 이벤트 지침(음정, 피치, 벨로시티) | 비압축 PCM 파형 | 압축된 손실 파형 | 트랙 지침 + 임베디드 오디오 악기 샘플 |
| 평균 파일 크기 | 10 KB - 100 KB | 30 MB - 50 MB | 3 MB - 5 MB | 500 KB - 2 MB |
| 사운드 일관성 | 사용자의 신디사이저/사운드폰트에 따라 극심하게 다름 | 모든 기기에서 100% 동일함 | 모든 기기에서 100% 동일함 | 임베디드 샘플로 인해 일관됨 |
| 편곡 편집 | 간단함; 음표별 악보 조작 | 극도로 어려운 오디오 재튜닝 | 극도로 어려운 오디오 재튜닝 | 패턴 기반 샘플 편집 |
일반적인 손상 모드 및 헥스 복구 가이드
신디사이저 음이 무한히 울리거나('stuck notes'), 템포가 비정상적으로 빨라집니다.
근본 원인: MTrk 청크 내에서 누락된 'Note Off' 이벤트 또는 손상된 가변 길이 델타 타임(Delta-time) 값.
복구: MIDI 시퀀서에서 파일을 열거나 File2File MIDI 툴을 사용하여 러닝 스테이터스(Running status)를 정리하고 누락된 Note Off 명령을 주입하세요.
보안 분석 및 파서 공격 벡터
MIDI 파서는 하드웨어 및 소프트웨어 신디사이저에서 버퍼 오버플로우를 유발할 수 있는 복잡한 가변 길이 양(VLQ) 델타 타임 값과 시스템 독점(SysEx) 메시지를 디코딩합니다.
알려진 공격 벡터
- 32비트 정수 오버플로우를 유발하는 검증되지 않은 가변 길이 양 확장.
- 신디사이저 펌웨어 또는 소프트웨어 플러그인에서 힙 오버플로우를 유발하는 지나치게 큰 SysEx 메시지 페이로드.
- 오디오 렌더링 스레드에서 무한 CPU 루프를 유발하는 악의적으로 조작된 루프 마커.
방어적 모범 사례:
역사적 배경 및 주요 이력
주요 장점
- 극소형 파일 크기: 전체 교향곡 편곡이 수십 메가바이트가 아닌 수십 킬로바이트를 소모합니다.
- 완벽한 편집 유연성: 개별 음표, 템포, 키, 악기 패치를 음질 저하 없이 수정할 수 있습니다.
- 신디사이저, 디지털 피아노, 시퀀서, DAW 전반에 걸친 범용 하드웨어 호환성.
기술적 제한 사항 및 단점
- 실제 사운드 녹음이 전혀 포함되어 있지 않으며, 재생은 완전히 청취 기기의 신디사이저와 사운드뱅크에 의존합니다.
- 녹음된 인간의 노랫소리나 사실적인 음향 비악기 소리를 재현할 수 없습니다.
- 설치된 제너럴 MIDI(General MIDI) 사운드폰트에 따라 컴퓨터마다 재생 소리가 완전히 다르게 들립니다.
흥미로운 기술적 상식
- 매직 헤더 'MThd'는 'MIDI Track Header'를 의미하며, 각 트랙 청크마다 'MTrk'가 뒤따릅니다.
- 둠(Doom), 워크래프트(Warcraft), 몽키 아일랜드(Monkey Island) 같은 클래식 PC 게임은 1.44 MB 플로피 디스크에서 풍부한 음악을 제공하기 위해 MIDI를 사용했습니다.
- 데이브 스미스는 MIDI 발명에 기여한 근본적인 공로로 2013년에 기술 그래미상을 수상했습니다.
자주 묻는 기술 질문
컴퓨터에서 MIDI 파일이 저렴한 악기 소리처럼 들리는 이유는 무엇인가요?
MIDI 파일에는 악보 지침(누를 음정과 세기)만 포함되어 있습니다. 들리는 소리는 운영 체제의 내장 General MIDI 신디사이저에 의해 생성됩니다. 전문가용 SoundFont(.sf2)를 로드하면 현실감이 극적으로 향상됩니다.
MIDI 파일을 MP3나 WAV 파일로 어떻게 변환할 수 있나요?
MIDI에는 오디오가 없으므로 이를 변환하려면 사운드 악기가 포함된 소프트웨어 신디사이저를 통해 '렌더링'해야 합니다. File2File 오디오 변환기는 브라우저에서 직접 고품질 어쿠스틱 사운드뱅크를 사용하여 MIDI를 자동으로 렌더링합니다.
MIDI 포맷 0과 포맷 1의 차이점은 무엇인가요?
포맷 0은 모든 음악 채널을 단일 트랙 청크로 병합합니다. 포맷 1은 각 악기(피아노, 베이스, 드럼)를 멀티트랙 편집을 위해 독립된 트랙 청크로 분리합니다.