로그인하고 있지 않습니다. 편집하면 당신의 IP 주소가 공개적으로 기록됩니다. 계정을 만들고 로그인하면 편집 시 사용자 이름만 보이며, 위키 이용에 여러 가지 편의가 주어집니다.스팸 방지 검사입니다. 이것을 입력하지 마세요!== 규격 == === 초기의 하드웨어와 신호 규격 === MIDI 1.0 표준에 의하면 31250bps<ref>1 MHz, 1,000,000을 32로 나누면 이 값이 나오기 때문에 채용되었다고 한다. 문젠 이게 [[1983년]]엔 충분히 빠른 것이었지만, 발표된 지 30년이 다 되어가는 지금에서는 엄청나게 느린 속도라는 것.</ref> 비동기 시리얼 통신을 하며, 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 인터페이스는 아직도 전문 음악인들 사이에서 사용된다. 오디오 데이터를 직접 다루지 못한다는 점은 충분한 단점이지만, 이미 이 상태로 근 30년이 지났으며, [[1983년]] 당시의 기술로서는 어쩔 수 없는 부분이 있음을 이해해야 한다. 그리고 31250 bps 의 느린 속도는 매우 복잡한 곡의 데이터를 전송하는데 걸림돌이 된다. 물론 이 부분은 USB, IEEE1394, IP Based 네트웍 등으로 물리적 전송부분이 바뀌면 일단 해결된다. 음 높이를 7비트 데이터로 표현하는 부분은 무리가 없어보이지만, Microtonalism 같은 것을 추구하게 될 경우 표현을 할 수 있는 범위가 현저하게 줄어들며, 기타 중요한 CC 값이나 Velocity가 128단계로밖에 구분이 안 된다는 것이 표준이 제정되고 공표된 지 근 30년이 지난 [[2012년]] 말의 시각에서는 결정적인 한계점이자 문제점으로 꼽을 수 있다. === 그 밖의 통신 규격 === 위의 것은 어디까지나 [[1980년]]대에 제정된 표준이고, 초기에 당시의 컴퓨터 주변기기 통신 규격인 RS-232, RS-422 시리얼 통신규격 등을 사용하는 표준 규격이 존재하며, 신기술이 등장함에 따라 [[USB]] MIDI 표준, IEEE1394, Wireless, IP기반 네트웍 MIDI 표준이 추가되었다. 당연히, 물리적 규격은 위와 상관없이 해당 기술의 표준 규격을 사용한다. Velocity 문제를 해결하고자, MMA에서는 기존의 Note On/Off 메시지와 함께 사용하여 음의 세기를 표현하는 Velocity를 14 bit로 확장하는 용도로 CC88을 High-Resolution Velocity Prefix로 정의하고, 여기에 Velocity 정보의 상위 7비트 데이터를 입력하도록 했지만, 단음 연주가 아닌 경우에는 별로 효용이 있을 것 같지 않다. 아직 지원하는 기기도 별로 없고... YAMAHA에서는 한계를 극복하고자 보다 빠른 전송속도와 대역폭을 가지는 IEEE1394기반의 mLan이라는 독자 규격을 [[2000년]]에 만들었고, 오디오 데이터와 MIDI 데이터를 통합하여 전송하고, 자유롭게 라우팅할 수 있는 한 차원 높은 수준의 표준 규격을 제안하고 자사의 제품에 적용하고 확산시키려고 노력했다. {{ㅊ|얘네도 외계인 고문 좀 할 줄 안다.}} 일부 타 업체에 확산도 성공은 했으나... 최종적으로 어른의 사정에 의해 흑역사가 되었다. 자유로운 신호 라우팅은 운영체제 드라이버 수준에서 이러한 기능을 했던 mLan과 달리, 응용 프로그램 수준에서 제정된 표준 ReWire로 동일한 기능을 할 수 있다. === MIDI 데이터 메시지 포멧 === 깊게 들어가면 길이가 너무 길어지므로, 간단하게 요약하면 다음과 같다. 혹 자세한 내용을 알고 싶은 위키러는 이 링크를 참조하라. http://www.midi.org/techspecs/midimessages.php MIDI 데이터 메시지는 메시지 종류를 구분하는 상태/채널 바이트와 뒤이어 따라오는 1~2개의 데이터 바이트로 구성된다. 물론, 바이트이니 만큼 데이터는 최대 8비트이며, MIDI는 사실 이 중에 7 비트만 사용한다. 즉 가능한 데이터 값은 0 ~ 127이다. 필요한 경우 2바이트 14비트를 데이터로 취하여 0 ~ 16383의 파라미터를 취하는 메시지도 존재한다. * Note On: 음을 낸다. 음높이와 Velocity(소리 세기)를 데이터로 취한다. 속도를 의미하는 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처럼 볼륨을 조절하는 일을 한다. CC 7과 구별되는 점은 최대의 음량이 CC 7에서 정의한 음량에 한정된다. 즉 CC 7에서 볼륨을 60으로 정의하였다면 CC 11은 60을 다시 127단계로 쪼개어 표현한다. ** 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로 구현한 것. 요약: 리브레 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 라이선스로 배포됩니다(자세한 내용에 대해서는 리브레 위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요. 글이 직접 작성되었거나 호환되는 라이선스인지 확인해주세요. 리그베다 위키, 나무위키, 오리위키, 구스위키, 디시위키 및 CCL 미적용 사이트 등에서 글을 가져오실 때는 본인이 문서의 유일한 기여자여야 하고, 만약 본인이 문서의 유일한 기여자라는 증거가 없다면 그 문서는 불시에 삭제될 수 있습니다. 취소 편집 도움말 (새 창에서 열림) | () [] [[]] {{}} {{{}}} · <!-- --> · [[분류:]] · [[파일:]] · [[미디어:]] · #넘겨주기 [[]] · {{ㅊ|}} · <onlyinclude></onlyinclude> · <includeonly></includeonly> · <noinclude></noinclude> · <br /> · <ref></ref> · {{각주}} · {|class="wikitable" · |- · rowspan=""| · colspan=""| · |} {{lang|}} · {{llang||}} · {{인용문|}} · {{인용문2|}} · {{유튜브|}} · {{다음팟|}} · {{니코|}} · {{토막글}} {{삭제|}} · {{특정판삭제|}}(이유를 적지 않을 경우 기각될 가능성이 높습니다. 반드시 이유를 적어주세요.) {{#expr:}} · {{#if:}} · {{#ifeq:}} · {{#iferror:}} · {{#ifexist:}} · {{#switch:}} · {{#time:}} · {{#timel:}} · {{#titleparts:}} __NOTOC__ · __FORCETOC__ · __TOC__ · {{PAGENAME}} · {{SITENAME}} · {{localurl:}} · {{fullurl:}} · {{ns:}} –(대시) ‘’(작은따옴표) “”(큰따옴표) ·(가운뎃점) …(말줄임표) ‽(물음느낌표) 〈〉(홑화살괄호) 《》(겹화살괄호) ± − × ÷ ≈ ≠ ∓ ≤ ≥ ∞ ¬ ¹ ² ³ ⁿ ¼ ½ ¾ § € £ ₩ ¥ ¢ † ‡ • ← → ↔ ‰ °C µ(마이크로) Å °(도) ′(분) ″(초) Α α Β β Γ γ Δ δ Ε ε Ζ ζ Η η Θ θ Ι ι Κ κ Λ λ Μ μ(뮤) Ν ν Ξ ξ Ο ο Π π Ρ ρ Σ σ ς Τ τ Υ υ Φ φ Χ χ Ψ ψ Ω ω · Ά ά Έ έ Ή ή Ί ί Ό ό Ύ ύ Ώ ώ · Ϊ ϊ Ϋ ϋ · ΐ ΰ Æ æ Đ(D with stroke) đ Ð(eth) ð ı Ł ł Ø ø Œ œ ß Þ þ · Á á Ć ć É é Í í Ĺ ĺ Ḿ ḿ Ń ń Ó ó Ŕ ŕ Ś ś Ú ú Ý ý Ź ź · À à È è Ì ì Ǹ ǹ Ò ò Ù ù · İ Ż ż ·  â Ĉ ĉ Ê ê Ĝ ĝ Ĥ ĥ Î î Ĵ ĵ Ô ô Ŝ ŝ Û û · Ä ä Ë ë Ï ï Ö ö Ü ü Ÿ ÿ · ǘ ǜ ǚ ǖ · caron/háček: Ǎ ǎ Č č Ď ď Ě ě Ǐ ǐ Ľ ľ Ň ň Ǒ ǒ Ř ř Š š Ť ť Ǔ ǔ Ž ž · breve: Ă ă Ğ ğ Ŏ ŏ Ŭ ŭ · Ā ā Ē ē Ī ī Ō ō Ū ū · à ã Ñ ñ Õ õ · Å å Ů ů · Ą ą Ę ę · Ç ç Ş ş Ţ ţ · Ő ő Ű ű · Ș ș Ț ț 이 문서는 다음의 숨은 분류 1개에 속해 있습니다: 분류:유튜브 영상이 포함된 문서