MIDI µ¥ÀÌÅÍ Ã³¸® ¿¹
|
|
|
|
|
MIDI ¾Ç±â Flow Chart
|
[µÚ·Î°¡±â]
|
|
1. MIDI ¾Ç±â Flow Chart
¸ÞÀÎ ·çƾÀº Æ÷Æ® ¼³Á¤, ÀÎÅÍ·´Æ® Çã°¡
µî, Ãʱ⠼¼Æ®°¡ Á¾·áµÇ¸é ¹«ÇÑ ·çÇÁ¿¡ µé¾î°¡ RTCC ÀÎÅÍ·´Æ® ´ë±âÀÇ »óÅ·ΠµÈ´Ù. ÀÎÅÍ·´Æ® ó¸® ·çƾ¿¡¼´Â ½Ã¸®¾ó µ¥ÀÌÅÍ ¼ö½Åó¸®, MIDI µ¥ÀÌÅÍ ÇØ¼®,
Á¤ÇöÆÄ ¹ß»ýÀÇ Ã³¸®¸¦ ½ÇÇàÇϰí ÀÖ´Ù.

|
|
|
|
ÀÎÅÍ·´Æ® ÁÖ±â
|
[µÚ·Î°¡±â]
|
|
2. ÀÎÅÍ·´Æ® ÁÖ±â
1ÃÊ´ç ÀÎÅÍ·´Æ® Ƚ¼ö´Â ½Ã¸®¾ó Àü¼Û¼Óµµ 38.4kbpsÀÇ 3¹è·Î¼ 115,200ȸ·Î ÇÑ´Ù.
µû¶ó¼ ÀÎÅÍ·´Æ® ¹ß»ý½ÃŰ´Â ÁÖ±â T´Â

±×·¯¹Ç·Î 434Ŭ·°¸¶´Ù ÀÎÅÍ·´Æ®¸¦ ¹ß»ýÇϴµ¥ ÇÁ¸®½ºÄÉÀÏ·¯¸¦ RTCC¿¡ ÇÒ´çÇÏ¿© ºÐÁÖºñ¸¦ 1:2·Î ÇÒ Çʿ䰡 ÀÖ´Ù.
RTCC´Â 2Ŭ·°¸¶´Ù Ä«¿îÆ®µÇ±â ¶§¹®¿¡ RTCC°¡ 434/2
= 217 Ä«¿îÆ® µÉ ¶§¸¶´Ù ÀÎÅÍ·´Æ®¸¦ °É¸é µÈ´Ù.
|
|
|
|
Serial µ¥ÀÌÅÍÀÇ ¼ö½Å ¼ø¼
|
[µÚ·Î°¡±â]
|
|
3. Serial µ¥ÀÌÅÍÀÇ ¼ö½Å ¼ø¼
¾Æ·¡ ±×¸²°ú °°ÀÌ ¨ç°ú °°ÀÌ ÀÎÅÍ·´Æ®¸¶´Ù(ÀÎÅÍ·´Æ® ÁÖ±â T) ½ºÅ¸Æ® ºñÆ®¸¦ üũÇÏ¿© ¨è¿Í °°ÀÌ ½ºÅ¸Æ® ºñÆ®¸¦ °ËÃâÇÑ´Ù¸é 4TÈÄÀÇ µ¥ÀÌÅ͸¦ ·¡Ä¡ÇÏ°Ô µÇ°í À̰ÍÀÌ µ¥ÀÌÅÍ ºñÆ® 0À¸·Î µÈ´Ù. ÀÌÈÄ¿¡´Â
3T Áֱ⿡¼ µ¥ÀÌÅÍ ºñÆ® 1~7À» ·¡Ä¡ÇÑ´Ù.

|
|
|
|
MIDI ¸Þ½ÃÁö µ¥ÀÌÅÍ
|
[µÚ·Î°¡±â]
|
|
4. MIDI ¸Þ½ÃÁö µ¥ÀÌÅÍ
Status Byte¿Í ±×¿¡
À̾î Data Bus·Î ÀÌ·ç¾îÁø´Ù. Status Byte´Â MSB°¡ Ç×»ó ¡°1¡±,
µ¥ÀÌÅÍ ~ ¹ÙÀÌÆ®´Â¡°0¡±À¸·Î µÇ¾î ±¸º°µÈ´Ù.
À̹ø¿¡ ÀÌ¿ëÇÑ Status´Â ±×¸²¿¡ ³ªÅ¸³»´Â ³ëÆ®
ON°ú ³ëÆ® OFFÀÌ´Ù. ä³Î(ch) ¹øÈ£´Â °¢ ¾Ç±â¿¡ ÇÒ´çµÈ ¹øÈ£·Î¼, 0h~Fh(ch~16ch)±îÁö ÁöÁ¤µÇÁö¸¸ ÀÌ MIDI ¾Ç±â´Â 0h(1ch)¸¦ ÇÒ´çÇß´Ù.
³ëÆ® ON°ú ³ëÆ® OFF´Â ÇǾƳëÀÇ °Ç¹ÝÀÌ¡®
´·È´Ù¡¯¿Í¡® ¶³¾îÁ³´Ù¡¯´Â °ÍÀ»
³ªÅ¸³»´Â ½Ã±×³Î·Î¼, ³ëÆ® ¹øÈ£¿Í º§·Î½ÃƼÀÇ µÎ °¡Áö µ¥ÀÌÅͰ¡
À̾îÁø´Ù. ³ëÆ® ¹øÁö´Â °Ç¹ÝÀÇ ¹øÈ£, º§·Î½ÃƼ(velocity:¼Óµµ)´Â
°Ç¹ÝÀ» ƨ±â´Â °µµ¸¦ ³ªÅ¸³½´Ù. ±×¸² 8¿¡ MIDIµ¥ÀÌÅÍ ÇØ¼®
·çƾÀÇ Ç÷ÎÂ÷Æ®¸¦ ³ªÅ¸³½´Ù. ³ëÆ® ¹øÈ£´Â 0h~7FhÀÌÁö¸¸ÀÌ MIDI
¾Ç±â¿¡¼´Â 32h~5Dh±îÁö ¹ßÀ½Çϵµ·Ï Çß´Ù. ¿©±â¿¡¼ º§·Î½ÃƼ´Â ¹«½ÃÇß´Ù. ´Ü, º§·Î½ÃƼ°¡
0hÀÎ °æ¿ì´Â ³ëÆ® OFF¿Í °°Àº ÀǹÌÀ̹ǷΠüũÇϰí ÀÖ´Ù.
³ëÆ® ONÀ» ¼ö½ÅÇϸé 8°³°¡ ÁغñµÈ Á¤ÇöÆÄ ¹ß»ý À¯´ÖÀÇ ºó À¯´Ö¿¡ ³ëÆ® ¹øÈ£¸¦ ¼¼Æ®ÇÏ°í ¹ßÀ½À» °³½ÃÇÑ´Ù. ÇÑÆí,
³ëÆ® OFF¸¦ ¼ö½ÅÇϸé Á¤ÇöÆÄ ¹ß»ýÀÇ À¯´ÖÀ»
Á¤ÁöÇÑ´Ù. Controller´Â ½ºÀ§Ä¡, ½½¶óÀÌ´õ, ¼ÕÀâÀÌ µî Note ¼Ò¸®¸¦ ÄÑ°í ²ô´Â °Í ¿Ü¿¡ ´Ù¸¥ ¸î¸îÀÇ ±â´ÉÀ» ¼öÇàÇÑ´Ù.
MIDI µð¹ÙÀ̽º¿¡´Â 128°³ÀÇ Controller°¡ ÀÖ´Ù. 0~127±îÁöÀÇ ¼ö´Â MIDI µð¹ÙÀ̽ºÀÇ Æ¯Á¤ Çϵå¿þ¾î Á¦¾î¿¡ ÇÒ´çµÇ¾î ÀÖ´Ù. ¿¹¸¦
µé¸é Controller 1Àº Modulation WheelÀÌ´Ù. ´Ù¸¥ Controller ¹øÈ£´Â ÀÓÀÇ·Î MIDI ÀåÄ¡¿¡ ÀÇÇØ °áÁ¤µÇ¾î ÀÖ´Ù.
ƯÈ÷ µå·³Àº ÅÛÆ÷¸¦ Á¦¾îÇÏ´Â ½½¶óÀÌ´õ°¡ ÀÖ´Ù. ÀÌ´Â ¹Ìµð µð¹ÙÀ̽ºÀÇ Controller ¹øÈ£ Áß Çϳª¿¡ ÇÒ´çµÇ¾î ÀÖ´Ù. µå·³¿¡¼
Controller ¸Þ½ÃÁö¸¦ ¹Þ°Ô µÇ¸é ÅÛÆ÷¸¦ Á¶ÀýÇÏ°Ô µÈ´Ù. MIDI µð¹ÙÀ̽º´Â ƯÁ¤ Controller¿¡ ¹ÝÀÀÇϱâ À§ÇÑ ½ÇÁ¦ ¹°¸®ÀûÀÎ Á¦¾î°¡
ÇÊ¿äÇÏÁö ¾Ê´Ù. ´ÜÁö Controller ¸Þ½ÃÁö¸¦ Ȱ¿ëÇÏ¸é µÈ´Ù.

|
|
|
|
Á¤ÇöÆÄ ¹ß»ý ¿ø¸®
|
[µÚ·Î°¡±â]
|
|
5. Á¤ÇöÆÄ ¹ß»ý ¿ø¸®
¿© ±â¼ nÀº Á¤¼öÀÌ´Ù. À̰ÍÀº sin(x)¿Í
cos(x)ÀÇ °ªÀ» ºÎ¿©Çϸé sin(nx)ÀÇ °ªÀÌ ½Â»ê°ú °¡»êÀ¸·Î ¾ò¾îÁø´Ù´Â °ÍÀ» ³ªÅ¸³»°í ÀÖ´Ù.

Á֯ļö fÀÇ Á¤ÇöÆÄ¸¦ tÃÊ °£°ÝÀ¸·Î °è»êÇÏ´Â °æ¿ì´Â sin(n×2¥ðft)À¸·Î
µÇ¾î ¾Õ¿¡¼ µç ½Ä¿¡¼ ntÃÊÈÄÀÇ °ªÀÌ sin(2¥ðft)°ú
cos(2¥ðft)¸¦ ÃʱⰪÀ¸·Î¼ ºÎ¿©ÇÔÀ¸·Î½á ¾ò¾îÁö°Ô µÈ´Ù. ¿©±â¼ t´Â ÀÎÅÍ·´Æ®
ÁÖ±â TÀÇ 10¹è·Î Çß´Ù. ½ÇÁ¦ÀÇ
¿¬»ê¿¡¼´Â ±1ÀÇ ½Ç¼ö µ¥ÀÌÅ͸¦ ±×¸²°ú °°Àº 16ºñÆ® ºÎÈ£ÀÇ °íÁ¤ ¼Ò¼öÁ¡ Æ÷¸ËÀ¸·Î Ç¥½ÃÇÏ¿© ½Â»ê ¹× °¡»êÀ» ½ÇÇàÇß´Ù. ÀÌ·¯ÇÑ 16ºñÆ® ±æÀÌÀÇ ¿¬»êÀ» ¸¹ÀÌ ÀÌ¿ëÇÒ ¶§¿¡´Â ij¸® Ç÷¡±×¸¦ °¡»ê°á°ú¿¡ °¡ÇÏ´Â ±â´ÉÀÌ µµ¿òÀÌ
µÈ´Ù. °¢ ³ëÆ® ¹øÈ£¿¡ ´ëÀÀÇÏ´Â Á¤ÇöÆÄÀÇ Á֯ļö¿¡ ´ëÇÑ cos(2¥ðft)°ú sin(2¥ðft)ÀÇ °ªÀº
»çÀü¿¡ °è»êÇØ ³õ°í ÇÁ·Î±×·¥ ¸Þ¸ð¸®¿¡ Å×À̺í·Î¼ ±â·ÏÇß´Ù. ¶ÇÇÑ
°è»êÁ¤¹Ðµµ°¡ ³·±â ¶§¹®ÀÎÁö ÃʱⰪÀ¸·Î¼ sin(2¥ðft)À» ºÎ¿©ÇÏ¸é °è»ê°á°ú°¡ ¾ÈÁ¤µÇÁö ¾Ê±â ¶§¹®¿¡ ½ÇÁ¦·Î´Â sin(2¥ðft)×0.9 Á¤µµÀÇ °ªÀ» »ç¿ëÇϰí ÀÖ´Ù. °¢ Á¤ÇöÆÄ ¹ß»ý À¯´ÖÀº ½Â»êÀ» Æ÷ÇÔÇϱ⠶§¹®¿¡
1ȸÀÇ ÀÎÅÍ·´Æ® ½Ã°£³»¿¡¼´Â ÇϳªÀÇ À¯´Ö¸¸À» ó¸®Çϵµ·Ï Çϰí
ÀÖ´Ù. °¢ Á¤ÇöÆÄ ¹ß»ý À¯´ÖÀÇ Ãâ·ÂÀº °¡»êÇÏ¿© Æ÷Æ® C(»óÀ§ 8ºñÆ®)¿Í Æ÷Æ® B(ÇÏÀ§ 8ºñÆ®)¿¡ Ãâ·ÂÇÑ´Ù. ´ëºÎºÐÀÇ À½¾Ç ¸ðµâÀº ÇǾƳë, ±âŸ, Æ®·³Æê, ÇÃ·Ô µî ´Ù¾çÇÑ ¾Ç±â ¼Ò¸®¸¦ °¡Áö°í ÀÖ´Ù. °¢°¢ÀÇ ¾Ç±â´Â ÇÁ·Î±×·¥À¸·Î
Æ÷ÇԵǾî ÀÖ´Ù. ±×·¡¼ ÇÁ·Î±×·¥À» ¹Ù²Ù¸é MIDI µð¹ÙÀ̽º¿¡¼ Note onµÇ¾î ¼Ò¸®¸¦ ³»°í ÀÖ´Â ¾Ç±â ¼Ò¸®µµ ¹Ù²î°Ô µÈ´Ù. ¹°·Ð ´Ù¸¥ MIDI
¸Þ½ÃÁö·Îµµ ÇöÀç ¾Ç±â¼Ò¸®¸¦ ¹Ù²Ü ¼ö ÀÖ´Ù. 0~127±îÁö ÃÑ 128°³ÀÇ ÇÁ·Î±×·¥ ¹øÈ£°¡ ÀÖ´Ù. ¸¸¾à µð¹ÙÀ̽º°¡ ´Ù¾çÇÑ À½»öÀ» ³»´Â °ÍÀ̶ó¸é º¸Åë
16 ä³Î¿¡¼ ¿¬ÁÖ¸¦ ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ Program change ¸Þ½ÃÁö¸¦ ¹ÞÀ¸¸é °¢ ä³Î¿¡ ÇØ´çÇÏ´Â ¾Ç±â ¼Ò¸®¸¸ ¹Ù²Ü ¼ö ÀÖ´Ù. ´Ù¸¥
¿¹·Î µå·³ÀÇ °æ¿ì ƯÁ¤ÇÑ ¸®Æ´ ÆÐÅÏ(Drum beat)¸¦ ¼±ÅÃÇϱâ À§ÇØ Program changeÀ» »ç¿ëÇÑ´Ù.  C = Program (patch) change
|
|