{"id":226,"date":"2011-09-11T07:50:48","date_gmt":"2011-09-10T22:50:48","guid":{"rendered":"http:\/\/morecatlab.akiba.coocan.jp\/lab\/?page_id=226"},"modified":"2015-04-12T07:35:16","modified_gmt":"2015-04-11T22:35:16","slug":"midi-firmware-for-arduino-uno-moco","status":"publish","type":"page","link":"http:\/\/morecatlab.akiba.coocan.jp\/lab\/index.php\/aruino\/midi-firmware-for-arduino-uno-moco\/","title":{"rendered":"Midi Firmware for Arduino Uno (Moco)"},"content":{"rendered":"<p><!--:ja--><\/p>\n<h1>Midi Firmware for Arduino Uno (Moco)<\/h1>\n<h2><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD.jpg\"> <\/a><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD.jpg\"><\/a><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD.jpg\"><\/a><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD.jpg\"><\/a><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD.jpg\"><\/a><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD.jpg\"><\/a><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD.jpg\"><\/a><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD.jpg\"><\/a><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD.jpg\"><\/a><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD.jpg\"><\/a><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD.jpg\"><\/a><\/p>\n<div class=\"mceTemp mceIEcenter\"><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD.jpg\"><\/a> <\/p>\n<dl id=\"attachment_289\" class=\"wp-caption aligncenter\" style=\"width: 410px;\"><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD.jpg\"><\/a> <\/p>\n<dt class=\"wp-caption-dt\"><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD.jpg\"><\/a><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD-1.jpg\"><img loading=\"lazy\" class=\"size-medium wp-image-289\" title=\"Arduino-Uno-SMD Close-up\" src=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD-1-400x266.jpg\" alt=\"Arduino-Uno-SMD Close-up\" width=\"400\" height=\"266\" srcset=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD-1-400x266.jpg 400w, http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD-1.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/dt>\n<dd class=\"wp-caption-dd\">Arduino-Uno-SMD Close-up<\/dd>\n<\/dl>\n<\/div>\n<\/h2>\n<h2>1. \u306f\u3058\u3081\u306b<\/h2>\n<p>2010\u5e74\u306b\u767a\u8868\u3055\u308c\u305fArduino UNO\u306f\u3001USB\u307e\u308f\u308a\u306e\u8a2d\u8a08\u304c\u5909\u66f4\u3055\u308c\u307e\u3057\u305f\u3002<\/p>\n<p>\u3053\u308c\u307e\u3067\u306fUSB\u5c02\u7528\u306e\u30c1\u30c3\u30d7\u304c\u63a1\u7528\u3055\u308c\u3066\u3044\u307e\u3057\u305f\u304c\u3001Uno\u3067\u306f\u6c4e\u7528\u7684\u306a\u30de\u30a4\u30af\u30ed\u30d7\u30ed\u30bb\u30c3\u30b5\u306b\u5909\u66f4\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3053\u306e\u5909\u66f4\u306b\u3088\u3063\u3066\u3001USB\u51e6\u7406\u306e\u67d4\u8edf\u6027\u3092\u5897\u3059\u3053\u3068\u304c\u51fa\u6765\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u3053\u308c\u307e\u3067\u306fUSB-\u30b7\u30ea\u30a2\u30eb\u5909\u63db\u51e6\u7406\u3092\u884c\u3046\u5c02\u7528\u30c1\u30c3\u30d7\u3067\u3042\u308bFTDI \u793eFT232RL\u306b\u3088\u3063\u3066\u3001\u30d1\u30bd\u30b3\u30f3\u5074\u306f\u30b7\u30ea\u30a2\u30eb\u30dd\u30fc\u30c8\u3068\u3057\u3066\u51e6\u7406\u3092\u884c\u3063\u3066\u3044\u307e\u3057\u305f\u3002Uno\u3067USB\u51e6\u7406\u7528\u306b\u65b0\u3057\u304fAtmel\u793e\u306eMega8U2(or 16U2)\u304c\u5c0e\u5165\u3055\u308c\u307e\u3057\u305f\u3002Mega8U2\u306f\u3053\u308c\u307e\u3067\u3068\u540c\u69d8\u306b\u30b7\u30ea\u30a2\u30eb\u30dd\u30fc\u30c8\u306e\u51e6\u7406\u3092\u884c\u3046\u3088\u3046\u306b\u30d7\u30ed\u30b0\u30e9\u30e0\u3055\u305b\u3066\u3044\u307e\u3059\u3002\u3057\u304b\u3057\u3001Mega8U2\/16U2\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u5909\u66f4\u3059\u308b\uff08\u30d5\u30a1\u30fc\u30e0\u30a6\u30a8\u30a2\u3092\u5165\u308c\u66ff\u3048\u308b\uff09\u3053\u3068\u306b\u3088\u3063\u3066\u3001\u4f8b\u3048\u3070\u30de\u30a6\u30b9\u3084\u30ad\u30fc\u30dc\u30fc\u30c9\u306a\u3069\u306eHuman Interface Device(HID)\u306a\u3069\u306e\u51e6\u7406\u3092\u884c\u3046\u3053\u3068\u304c\u51fa\u6765\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>Moco\u306fMega8U2\u7528\u306eMIDI\u30d5\u30a1\u30fc\u30e0\u30a6\u30a8\u30a2\u3067\u3059\u3002Moco\u3092Mega8U2\/16U2\u306e\u30d5\u30a1\u30fc\u30e0\u30a6\u30a8\u30a2\u3068\u5165\u308c\u66ff\u3048\u308b\u3053\u3068\u306b\u3088\u3063\u3066\u3001\u30d1\u30bd\u30b3\u30f3\u5074\u304b\u3089\u306fUSB-MIDI(Standard Midi Class)\u3068\u3057\u3066\u8a8d\u8b58\u3055\u308c\u307e\u3059\u3002\u697d\u5668\u3092\u4f5c\u308b\u5834\u5408\u306b\u306f\u6700\u9069\u3067\u3059\u3002<\/p>\n<p><div class=\"note\"><div class=\"noteimportant\"><br \/>\nMoco\u3092\u4f7f\u3063\u3066\u4f5c\u6210\u3057\u305fStandard Midi Class\u306e\u30c7\u30d0\u30a4\u30b9\u306fWindows\u3084MacOSX\u3067\u30c9\u30e9\u30a4\u30d0\u304c\u4e0d\u8981\u3067\u3059\u3002\u307e\u305f\u3002iPad\u3067\u6a19\u6e96\u7684\u306b\u8a8d\u8b58\u3055\u308c\u307e\u3059\u3002<br \/>\n<\/div><\/div><\/p>\n<h2>2. Moco\u306e\u52d5\u4f5c\u539f\u7406<\/h2>\n<p>Moco\u306fUSB-MIDI\u3068\u30b7\u30ea\u30a2\u30ebMIDI\u306e\u53cc\u65b9\u5411\u306e\u5909\u63db\u3092\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u3059\u3002Arduino\u306e\u30e1\u30a4\u30f3CPU\u5074\u304b\u3089\u306f\u30b7\u30ea\u30a2\u30ebMIDI\u30d7\u30ed\u30c8\u30b3\u30eb\u3092\u9001\u53d7\u4fe1\u3057\u307e\u3059\u3002\u30d1\u30bd\u30b3\u30f3\u5074\uff08USB\u5074\uff09\u306fUSB-MIDI\u3092\u9001\u53d7\u4fe1\u3057\u307e\u3059\u3002<\/p>\n<div id=\"attachment_232\" style=\"width: 410px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Moco.jpg\"><img aria-describedby=\"caption-attachment-232\" loading=\"lazy\" class=\"size-medium wp-image-232\" title=\"Moco\" src=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Moco-400x271.jpg\" alt=\"Moco on Uno\" width=\"400\" height=\"271\" srcset=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Moco-400x271.jpg 400w, http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Moco.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><p id=\"caption-attachment-232\" class=\"wp-caption-text\">Moco on Uno<\/p><\/div>\n<p>Arduino\u306e\u30e1\u30a4\u30f3\u30d7\u30ed\u30b0\u30e9\u30e0\u5074\u304b\u3089\u306f\u666e\u901a\u306bMIDI\u306e\u51e6\u7406\u3092\u884c\u3046\u3060\u3051\u3067\u3001\u30d1\u30bd\u30b3\u30f3\u5074\u306bUSB-MIDI\u3068\u3057\u3066\u8a8d\u8b58\u3055\u308c\u307e\u3059\u3002Arduino\u306eMIDI\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u3063\u305f\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u3042\u308c\u3070Moco\u3092\u4f7f\u3046\u3060\u3051\u3067\u3001USB-MIDI\u30c7\u30d0\u30a4\u30b9\u3092\u4f5c\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>Arduino \u3067MIDI\u30c7\u30d0\u30a4\u30b9\u3092\u958b\u767a\u3059\u308b\u5834\u5408<a title=\"Arduino MIDI Library\" href=\"http:\/\/www.arduino.cc\/playground\/Main\/MIDILibrary\">Arduino MIDI Library<\/a>\u304c\u4f7f\u308f\u308c\u307e\u3059\u3002Moco\u306fAML\u3068\u4e92\u63db\u6027\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>Moco\u306fUSB\u306e\u51e6\u7406\u306b<a title=\"LUFA\" href=\"http:\/\/www.fourwalledcubicle.com\/LUFA.php\">LUFA<\/a>\u3092\u5229\u7528\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<h2>3. \u958b\u767a\u306e\u6d41\u308c <span style=\"color: #ff0000;\">NEW<\/span><\/h2>\n<p>dualMocoLUFA\u306b\u306a\u3063\u3066\u3001\u30c7\u30d0\u30a4\u30b9\u306e\u958b\u767a\u306f\u6bd4\u8f03\u7684\u30b7\u30f3\u30d7\u30eb\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u5177\u4f53\u7684\u306a\u624b\u9806\u306f\u6b21\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n<p>1. DFU\u30d7\u30ed\u30b0\u30e9\u30e0\u307e\u305f\u306fISP\u306b\u3088\u3063\u3066Mega8U2\/16U2\u306e\u30d5\u30a1\u30fc\u30e0\u30a6\u30a8\u30a2\u3092\u5165\u308c\u66ff\u3048\u307e\u3059\u3002<\/p>\n<p>2.\u00a0 Arduino-Serial \u30e2\u30fc\u30c9\u3067mega328\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u66f8\u304d\u8fbc\u3080<\/p>\n<p style=\"padding-left: 30px;\">8u2\u306eICSP\u30b3\u30cd\u30af\u30bf\u306ePIN4\u3068PIN6\u3092\u30b8\u30e3\u30f3\u30d1\u30d4\u30f3\u3067\u3064\u306a\u3044\u3067Uno\u3092USB\u306b\u5dee\u3057\u8fbc\u3080\u3068\u3001Arduino-Serial\u30e2\u30fc\u30c9\u3067\u52d5\u4f5c\u3057\u307e\u3059\u3002<\/p>\n<p style=\"padding-left: 30px;\">\u3053\u306e\u72b6\u614b\u3067\u3001Arduino IDE\u304b\u3089USB\u7d4c\u7531\u3067\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u304d\u307e\u3059\u3002<\/p>\n<p style=\"padding-left: 30px;\">\n<div id=\"attachment_1074\" style=\"width: 160px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2013\/09\/IMGP9378.jpg\"><img aria-describedby=\"caption-attachment-1074\" loading=\"lazy\" class=\"size-thumbnail wp-image-1074\" title=\"Jumper on ICSP\" src=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2013\/09\/IMGP9378-150x150.jpg\" alt=\"Jumper on ICSP\" width=\"150\" height=\"150\" \/><\/a><p id=\"caption-attachment-1074\" class=\"wp-caption-text\">Jumper on ICSP<\/p><\/div>\n<p>3. USB-MIDI\u3067\u52d5\u4f5c\u306e\u78ba\u8a8d\u3092\u884c\u3046<\/p>\n<p style=\"padding-left: 30px;\">\u30b8\u30e3\u30f3\u30d1\u30d4\u30f3\u3092\u5916\u3057\u3066\u3001Uno\u3092USB\u306b\u5dee\u3057\u8fbc\u3080\u3068USB-MIDI\u30c7\u30d0\u30a4\u30b9\u3068\u3057\u3066\u52d5\u4f5c\u3057\u307e\u3059\u3002\u3053\u306e\u72b6\u614b\u3067USB-MIDI\u3067\u52d5\u4f5c\u306e\u78ba\u8a8d\u304c\u51fa\u6765\u307e\u3059\u3002<\/p>\n<p style=\"padding-left: 30px;\">\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u4e0d\u5177\u5408\u304c\u3042\u308b\u5834\u5408\u306b\u306f2\u306b\u623b\u3063\u3066\u518d\u5ea6Arduino IDE\u304b\u3089mega328\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u5909\u66f4\u3057\u307e\u3059\u3002<\/p>\n<h2>4. \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u4f8b<\/h2>\n<p>(1) PSG\u30b7\u30fc\u30eb\u30c9<\/p>\n<p>Genies\u3055\u3093\u3068HKHacks\u3055\u3093\u306e\u8a2d\u8a08\u306b\u3088\u308bPSG Shield\u306f\u305d\u306e\u307e\u307e\u52d5\u4f5c\u3057\u307e\u3059\u3002<\/p>\n<p>Mega328\u306b\u306f\u30aa\u30ea\u30b8\u30ca\u30eb\u306e\u30d5\u30a1\u30fc\u30e0\u30a6\u30a8\u30a2\u3092\u5165\u308c\u3066\u4e0b\u3055\u3044\u30028U2\u306e\u30d5\u30a1\u30fc\u30e0\u3092Moco\u306b\u3059\u308b\u3060\u3051\u3067PC\u304b\u3089USB\u76f4\u7d50\u3067\u305d\u306e\u307e\u307ePSG\u97f3\u6e90\u3092\u9cf4\u3089\u3059\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002<\/p>\n<p><a title=\"http:\/\/shield.io\/psg\" href=\"http:\/\/shield.io\/psg\">http:\/\/shield.io\/psg<\/a><\/p>\n<div id=\"attachment_239\" style=\"width: 410px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/PSG-Shield.jpg\"><img aria-describedby=\"caption-attachment-239\" loading=\"lazy\" class=\"size-medium wp-image-239\" title=\"PSG-Shield\" src=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/PSG-Shield-400x266.jpg\" alt=\"PSG\u30b7\u30fc\u30eb\u30c9\" width=\"400\" height=\"266\" srcset=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/PSG-Shield-400x266.jpg 400w, http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/PSG-Shield.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><p id=\"caption-attachment-239\" class=\"wp-caption-text\">PSG\u30b7\u30fc\u30eb\u30c9<\/p><\/div>\n<p>(2) FM\u97f3\u6e90\u30b7\u30fc\u30eb\u30c9<\/p>\n<p>OPLL(FM\u97f3\u6e90)\u7528\u306e\u30b7\u30fc\u30eb\u30c9\u3092\u958b\u767a\u4e2d\u3067\u3059\u3002\u3053\u308c\u3082Moco\u3067\u52d5\u4f5c\u3055\u305b\u308b\u4e88\u5b9a\u3002<\/p>\n<div id=\"attachment_238\" style=\"width: 410px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/OPLL-Shield.jpg\"><img aria-describedby=\"caption-attachment-238\" loading=\"lazy\" class=\"size-medium wp-image-238\" title=\"OPLL-Shield\" src=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/OPLL-Shield-400x266.jpg\" alt=\"FM\u97f3\u6e90(OPLL)\" width=\"400\" height=\"266\" srcset=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/OPLL-Shield-400x266.jpg 400w, http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/OPLL-Shield.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><p id=\"caption-attachment-238\" class=\"wp-caption-text\">FM\u97f3\u6e90(OPLL)<\/p><\/div>\n<p>\u4ee5\u4e0b\u306fMoco\u3092\u4f7f\u3063\u3066\u3044\u308b\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u3059\u3002<\/p>\n<p>(3) USB midi controller (Theremin style) on Arduino Uno<br \/>\n<a href=\"http:\/\/baldwisdom.com\/usb-midi-controller-theremin-style-on-arduino-uno\/\">http:\/\/baldwisdom.com\/usb-midi-controller-theremin-style-on-arduino-uno\/<\/a><\/p>\n<p>(4) AirHarp<br \/>\n<a href=\"http:\/\/www.airharp.com\/\">http:\/\/www.airharp.com\/<\/a><\/p>\n<p>(5) DJ Shield 2 for arduino<\/p>\n<p><a href=\"http:\/\/www.dm9records.com\/index.php\/release\/dj-shield2\/\">http:\/\/www.dm9records.com\/index.php\/release\/dj-shield2\/<\/a><\/p>\n<p>(6) USB MIDI interface for Raspberry Pi Controller<\/p>\n<p><a href=\"http:\/\/rpc.gehennom.org\/2013\/03\/usb-midi-interface\/\">http:\/\/rpc.gehennom.org\/2013\/03\/usb-midi-interface\/<\/a><\/p>\n<p>(7) A DIY Arduino MIDI Controller with Purpleheart<\/p>\n<p><a href=\"http:\/\/jazarimusic.com\/finally-a-diy-midi-controller-with-purpleheart\/\">http:\/\/jazarimusic.com\/finally-a-diy-midi-controller-with-purpleheart\/<\/a><\/p>\n<p>(8) Arduino\u3067\u4f5c\u308bMIDI\u30b3\u30f3 @tadfmac \u3055\u3093<\/p>\n<p><a href=\"http:\/\/qiita.com\/tadfmac\/items\/b941f7d4858386e2d1b0\">Homepage<\/a><\/p>\n<p><a href=\"http:\/\/www.slideshare.net\/tadfmac\/arduinomidi\">Link to Slideshare Page<\/a><\/p>\n<h2>5. \u30c0\u30a6\u30f3\u30ed\u30fc\u30c9<\/h2>\n<p>Github\u306b\u79fb\u884c\u3057\u307e\u3057\u305f\u3002<a href=\"https:\/\/github.com\/kuwatay\/mocolufa\">\u3053\u3061\u3089<\/a>\u3092\u53c2\u7167\u4e0b\u3055\u3044\u3002<a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2013\/09\/dualMocoLUFA.tgz\"><\/a> <span style=\"color: #ff0000;\">!! UPDATED 2015\/04\/11<\/span><\/p>\n<h2>6. \u7d42\u308f\u308a\u306b<\/h2>\n<p>Arduino\u3070\u304b\u308a\u3067\u306f\u306a\u304f\u3001Adafruit\u306e32u4\u30d6\u30ec\u30fc\u30af\u30a2\u30a6\u30c8\u30dc\u30fc\u30c9\u306a\u3069\u3092\u5229\u7528\u3057\u3066\u666e\u901a\u306eUSB-MIDI&lt;-&gt;USB-Serial\u306e\u30d6\u30ea\u30c3\u30b8\u3068\u3057\u3066\u5229\u7528\u53ef\u80fd\u3067\u3059\u3002<\/p>\n<p>\u307e\u305f\u3001Moco \u3092\u4f7f\u3063\u305f\u6c4e\u7528\u306eMIDI I\/O\u30e2\u30b8\u30e5\u30fc\u30eb\u3068\u3057\u3066Monaka\u3082\u8a08\u753b\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><div class=\"note\"><div class=\"noteclassic\"><\/p>\n<p>Dm9 Records\u3055\u3093\u304c\u30d5\u30a1\u30fc\u30e0\u30a6\u30a8\u30a2\u306e\u66f8\u304d\u63db\u3048\u65b9\u6cd5\u3092\u516c\u958b\u3057\u3066\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><a href=\"http:\/\/www.dm9records.com\/index.php\/tips\/arduino\/moco\/\">http:\/\/www.dm9records.com\/index.php\/tips\/arduino\/moco\/<\/a><\/p>\n<p><span style=\"color: #ff0000;\">UPDATED 2012\/12\/28<\/span><\/p>\n<p><\/div><\/div><!--:--><!--:en--><\/p>\n<h1>Midi Firmware for Arduino Uno (Moco)<\/h1>\n<p><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD.jpg\"> <\/a><\/p>\n<div class=\"mceTemp mceIEcenter\"><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD.jpg\"><\/a><\/p>\n<dl id=\"attachment_289\" class=\"wp-caption aligncenter\" style=\"width: 410px;\"><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD.jpg\"><\/a><\/p>\n<dt class=\"wp-caption-dt\"><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD.jpg\"><\/a><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD-1.jpg\"><img loading=\"lazy\" class=\"size-medium wp-image-289\" title=\"Arduino-Uno-SMD Close-up\" src=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD-1-400x266.jpg\" alt=\"Arduino-Uno-SMD Close-up of 8U2\" width=\"400\" height=\"266\" srcset=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD-1-400x266.jpg 400w, http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Arduino-Uno-SMD-1.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/dt>\n<dd class=\"wp-caption-dd\">Arduino-Uno-SMD Close-up of 8U2<\/dd>\n<\/dl>\n<\/div>\n<h2>1. Introduction<\/h2>\n<p>The design of the internal USB process on Arduino was changed since Arduino Uno in 2010.<\/p>\n<p>Before Uno, Arduino Duemilanove for example, an special purpose chip is used to convert USB to serial. On Arduino Uno, the chip is replaced by a general purpose CPU with USB peripheral circuit. With this change, the users of Arduino got ability to reprogram the chip.<\/p>\n<p>FTDI&#8217;s FT232R chip is used for Arduino Duemilanove to process USB communication with PC. Atmel&#8217;s Mega8U2(or 16U2) is introduced on Arduino Uno. By default, Mega8U2\/16U2 is program to act just like FT232RL.\u00a0 By reprogramming Mega8U2\/16U2, we can change Arduino Uno to act as Human Interface Device(HID), like mouse and keyboard, for example.<\/p>\n<p>Moco is one of alternative firmware for Mega8U2\/16U2. By replacing the original firmware on Mega8u2\/16U2 with Moco, Arduino Uno will act as USB-MIDI device (Standard Midi Class), which is suitable to build music instruments and devices.<\/p>\n<p><div class=\"note\"><div class=\"noteimportant\"><br \/>\nWith Moco, you don&#8217;t need to install additional device drivers on Windows, MaxOSX, and linux, as Moco act as a device of Standard Midi Class.\u00a0 It will recognize as MIDI device on iPad without any additional software.<br \/>\n<\/div><\/div><\/p>\n<h2>2. How Moco works<\/h2>\n<p>Moco is a bridge program which converts USB-MIDI packets to serial MIDI signal, and vice versa.<\/p>\n<p>It will receive serial MIDI from Arduino&#8217;s main processor and send them to PC as USB-MIDI packet. It will receive USB-MIDI packets from PC and send them to Arduino&#8217;s main CPU as serial MIDI signal.<\/p>\n<div id=\"attachment_232\" style=\"width: 410px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Moco.jpg\"><img aria-describedby=\"caption-attachment-232\" loading=\"lazy\" class=\"size-medium wp-image-232\" title=\"Moco\" src=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Moco-400x271.jpg\" alt=\"Moco on Uno\" width=\"400\" height=\"271\" srcset=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Moco-400x271.jpg 400w, http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/Moco.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><p id=\"caption-attachment-232\" class=\"wp-caption-text\">Moco on Uno<\/p><\/div>\n<p>Your program on Arduino&#8217;s main processor is just need to act as serial MIDI device. Moco takes care of USB-MIDI process to communicate with PC.\u00a0 In other words, you need to write a program with MIDI library, you can build USB-MIDI device.<\/p>\n<p>In many cased, <a title=\"Arduino MIDI Library\" href=\"http:\/\/www.arduino.cc\/playground\/Main\/MIDILibrary\">Arduino MIDI Library<\/a> is used for the development of MIDI device for Arduino MIDI. Moco is compatible with Arduino MIDI library.<\/p>\n<p>Moco is based on <a title=\"LUFA\" href=\"http:\/\/www.fourwalledcubicle.com\/LUFA.php\">LUFA<\/a> as USB stack.<\/p>\n<h2>3. How to develop applications for Arduino Uno\u00a0\u00a0 <span style=\"color: #ff0000;\">NEW!<\/span><\/h2>\n<p>It will be a little complicated process to the develop devices with Moco. This is because one need to go back and forth between the original firmware and Uno in development process.<\/p>\n<p>In order to write a program to Mega328, the original firmware for Mega8u2\/16U2 is required. On the other hand, Moco is required to test the program on USB-MIDI environment .<\/p>\n<p>The following steps describe the details of the development process which I recommend.<\/p>\n<p>1. Install dualMocoLUFA firmware to Mega8u2\/16U2<\/p>\n<p style=\"padding-left: 30px;\">In this step, I recommend to debug with serial MIDI environment, as you cannot use USB-MIDI at this point.<\/p>\n<p style=\"padding-left: 30px;\">You need to use DFU programmer , or ISP, for the replacement. The following page describe the former method in details.<\/p>\n<p style=\"padding-left: 30px;\">http:\/\/arduino.cc\/en\/Hacking\/DFUProgramming8U2<\/p>\n<p>2. Write your program with Arduino IDE<\/p>\n<p style=\"padding-left: 30px;\">Before connect Uno to PC, install a jumper between pin4 and pin6 on ICSP connector for Mega8u2\/16U2. With the jumper, Arduino-serial mode is initiated. You can use Arduino IDE to program mega328 on Uno.<\/p>\n<p style=\"padding-left: 30px;\">\n<div id=\"attachment_1074\" style=\"width: 160px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2013\/09\/IMGP9378.jpg\"><img aria-describedby=\"caption-attachment-1074\" loading=\"lazy\" class=\"size-thumbnail wp-image-1074\" title=\"Jumper on ICSP\" src=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2013\/09\/IMGP9378-150x150.jpg\" alt=\"Jumper on ICSP\" width=\"150\" height=\"150\" \/><\/a><p id=\"caption-attachment-1074\" class=\"wp-caption-text\">Jumper on ICSP<\/p><\/div>\n<p>3. Try your program with USB-MIDI firmware<\/p>\n<p style=\"padding-left: 30px;\">Disconnect Uno and remove the jumper, then connect Uno again.\u00a0 This will initiate USB-MIDI bridge mode of dualMocoLUFA. At this step, you can verify the device works as USB-MIDI. At this time, you can try your application as\u00a0 USB-MIDI device .<\/p>\n<p style=\"padding-left: 30px;\">If sometings goes wrong, back to step 2 and modify your program.Follows the instructions described step2, then reprogram Mega328 with Arduino IDE.<\/p>\n<h2>4. Examples<\/h2>\n<p><span style=\"font-size: small;\">(1) PSG shield<\/span><\/p>\n<p>PSG shield which is designed by Genies-san and HKHacks-san, works on Arduino Uno with Moco firmware.<\/p>\n<p>For Mega328, you need to install original firmware supplied for PSG shield. For Mega8U2\/16U2, you need to install Moco. You are ready to drive PSG shield from PC only with a USB cable.<\/p>\n<p><a title=\"http:\/\/shield.io\/psg\" href=\"http:\/\/shield.io\/psg\">http:\/\/shield.io\/psg<\/a><\/p>\n<div id=\"attachment_239\" style=\"width: 410px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/PSG-Shield.jpg\"><img aria-describedby=\"caption-attachment-239\" loading=\"lazy\" class=\"size-medium wp-image-239\" title=\"PSG-Shield\" src=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/PSG-Shield-400x266.jpg\" alt=\"PSG shield\" width=\"400\" height=\"266\" srcset=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/PSG-Shield-400x266.jpg 400w, http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/PSG-Shield.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><p id=\"caption-attachment-239\" class=\"wp-caption-text\">PS shield<\/p><\/div>\n<p>(2)  FM (OPLL) shield<\/p>\n<p>FM (OPLL) shield is under development. This shield will make use of Moco.<\/p>\n<div id=\"attachment_238\" style=\"width: 410px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/OPLL-Shield.jpg\"><img aria-describedby=\"caption-attachment-238\" loading=\"lazy\" class=\"size-medium wp-image-238\" title=\"OPLL-Shield\" src=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/OPLL-Shield-400x266.jpg\" alt=\"FM(OPLL)\" width=\"400\" height=\"266\" srcset=\"http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/OPLL-Shield-400x266.jpg 400w, http:\/\/morecatlab.akiba.coocan.jp\/lab\/wp-content\/uploads\/2011\/09\/OPLL-Shield.jpg 1024w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><p id=\"caption-attachment-238\" class=\"wp-caption-text\">FM shield(OPLL)<\/p><\/div>\n<p>Note the following examples are known to use Moco for the implementation of USB-MIDI on Arduino Uno.<\/p>\n<p>(3) USB midi controller (Theremin style) on Arduino Uno<br \/>\n<a href=\"http:\/\/baldwisdom.com\/usb-midi-controller-theremin-style-on-arduino-uno\/\">http:\/\/baldwisdom.com\/usb-midi-controller-theremin-style-on-arduino-uno\/<\/a><\/p>\n<p>(4) AirHarp<br \/>\n<a href=\"http:\/\/www.airharp.com\/\">http:\/\/www.airharp.com\/<\/a><\/p>\n<p>(5) DJ Shield 2 for arduino<\/p>\n<p><a href=\"http:\/\/www.dm9records.com\/index.php\/release\/dj-shield2\/\">http:\/\/www.dm9records.com\/index.php\/release\/dj-shield2\/<\/a><\/p>\n<p>(6) USB MIDI interface for Raspberry Pi Controller<\/p>\n<p><a href=\"http:\/\/rpc.gehennom.org\/2013\/03\/usb-midi-interface\/\">http:\/\/rpc.gehennom.org\/2013\/03\/usb-midi-interface\/<\/a><\/p>\n<p>(7) A DIY Arduino MIDI Controller with Purpleheart<\/p>\n<p><a href=\"http:\/\/jazarimusic.com\/finally-a-diy-midi-controller-with-purpleheart\/\">http:\/\/jazarimusic.com\/finally-a-diy-midi-controller-with-purpleheart\/<\/a><\/p>\n<p>(8) MIDI Controller built by Arduino by @tadfmac<\/p>\n<p><a href=\"http:\/\/qiita.com\/tadfmac\/items\/b941f7d4858386e2d1b0\">Homepage<\/a><\/p>\n<p><a href=\"http:\/\/www.slideshare.net\/tadfmac\/arduinomidi\">Link to Slideshare Page<\/a><\/p>\n<h2>5. Download<\/h2>\n<p>The latest file is in <a href=\"https:\/\/github.com\/kuwatay\/mocolufa\">github<\/a> <span style=\"color: #ff0000;\"><span style=\"color: #000000;\"> <span style=\"color: #ff0000;\">UPDATE 2015\/04\/11<\/span><\/span><\/span><\/p>\n<h2>6. Final Notes and future works<\/h2>\n<p>Moco firmware can use as USB-MIDI &lt;-&gt; USB-Serial bridge with a 8u2 or 32u4 board, like Adafruit&#8217;s 32u4 breakout board.<\/p>\n<p>I also plan to build a MIDI-based general platform, like Monaka, with Moco.<!--:--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Midi Firmware for Arduino Uno (Moco) Arduino-Uno-SMD Close-up 1. \u306f\u3058\u3081\u306b 2010\u5e74\u306b\u767a\u8868\u3055\u308c\u305fArduino UNO\u306f\u3001USB\u307e\u308f\u308a\u306e\u8a2d\u8a08\u304c\u5909\u66f4\u3055\u308c\u307e\u3057 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":26,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"http:\/\/morecatlab.akiba.coocan.jp\/lab\/index.php\/wp-json\/wp\/v2\/pages\/226"}],"collection":[{"href":"http:\/\/morecatlab.akiba.coocan.jp\/lab\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/morecatlab.akiba.coocan.jp\/lab\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/morecatlab.akiba.coocan.jp\/lab\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/morecatlab.akiba.coocan.jp\/lab\/index.php\/wp-json\/wp\/v2\/comments?post=226"}],"version-history":[{"count":56,"href":"http:\/\/morecatlab.akiba.coocan.jp\/lab\/index.php\/wp-json\/wp\/v2\/pages\/226\/revisions"}],"predecessor-version":[{"id":229,"href":"http:\/\/morecatlab.akiba.coocan.jp\/lab\/index.php\/wp-json\/wp\/v2\/pages\/226\/revisions\/229"}],"up":[{"embeddable":true,"href":"http:\/\/morecatlab.akiba.coocan.jp\/lab\/index.php\/wp-json\/wp\/v2\/pages\/26"}],"wp:attachment":[{"href":"http:\/\/morecatlab.akiba.coocan.jp\/lab\/index.php\/wp-json\/wp\/v2\/media?parent=226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}