MIDI / LED CUBE ..

 

                    

 

       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