Help us understand the problem. What is going on with this article?

Arduino UNOで作る一番簡単なMIDI音源

More than 3 years have passed since last update.

自分で作るMIDI音源 Hello World

2015.11.12 某イベント向けチュートリアル

MIDI音源という、ちょっと古めかしい言い方にピーンと来たあなた!
Arduinoを使えば簡単に作れちゃいますよ!
というわけで、作ってみましょう。

こんなのが簡単に作れます。

ヘタクソな演奏例w

用意するもの

  • Arduino UNO Rev.3 (mocoLUFAを焼き込んだもの)
  • しょぼいスピーカー
  • USBケーブル (ArduinoとPC/Macを繋ぐやつ)
  • PC/Mac
  • ISP端子をショートするためのジャンパーピン

mocoLUFAの焼き方は かわいさんの手順書あたりを参考にしてください!

作り方

ハード!

Arduinoの11番ピンにスピーカーのプラス側を、ArduinoのGNDピンにスピーカーのマイナス側を繋いでください。

以上!!

スケッチ!

下記スケッチをArduinoに書き込んでください

// MIDI to Tone Sounder
// 2015.11.11 D.F.Mac.

#include <avr/pgmspace.h> 
#include <MIDI.h>

MIDI_CREATE_DEFAULT_INSTANCE();

// Note Number -> Frequency
PROGMEM const int freqs[] = {
  8,8,9,9,10,11,11,12,13,14,15,15,16,17,18,19,
  21,22,23,24,26,28,29,31,33,35,37,39,41,44,46,49,
  52,55,58,62,65,69,73,78,82,87,93,98,104,110,117,123,
  131,139,147,156,165,175,185,196,208,220,233,247,262,277,294,311,
  330,349,370,392,415,440,466,494,523,554,587,623,659,698,740,784,
  831,880,932,988,1047,1109,1175,1245,1319,1397,1480,1568,1661,1760,1865,1976,
  2093,2217,2349,2489,2637,2794,2960,3136,3322,3520,3729,3951,4186,4435,4699,4978,
  5274,5588,5920,6272,6645,7040,7459,7902,8372,8870,9397,9956,10548,11175,11840,12544
};

const int SPEAKER = 11;      // Speaker PIN 
const int LED = 13;
int isplay = 0;

void setup() {
  pinMode(SPEAKER,OUTPUT);  // Speaker
  pinMode(LED,OUTPUT);      // LED
  MIDI.begin();             // Start MIDI
  MIDI.turnThruOff();       // MIDI Thru Off
}

void loop() {
  if(MIDI.read()) {
    int kind = MIDI.getType();
    if(kind==midi::NoteOn){
      digitalWrite(LED,HIGH);
      isplay ++;
      int playnote = MIDI.getData1();
      int freq = pgm_read_word(freqs + playnote);
      tone(SPEAKER,freq);
    }else if(kind==midi::NoteOff){
      digitalWrite(LED,LOW);
      isplay --;
      if(isplay == 0){
        noTone(SPEAKER);
      }
    }
  }
}

鳴らすには!?

MIDIキーボードを繋いで、MIDIデバイスから「MIDI/MOCO for LUFA」を選んで弾くだけ!

しょぼいビープ音(単音)が鳴ったら成功!

MIDIキーボード持ってきてねー!

https://ryoyakawai.github.io/x-webmidi/src/

次は!?

こちらも是非!

[WIP] Arduinoで音を出したい(メモ)

tadfmac
aka D.F.Mac. 実験音楽家。TripArts Music主宰。ハンディーレコーダーでの音集めが趣味。 Web技術、フィジカルコンピューティングなどにも興味があります。
http://soundcloud.com/tadfmac
kddi
KDDIは、通信を中心に周辺ビジネスを拡大する「通信とライフデザインの融合」をより一層推進し、国内はもとよりグローバルにおいても、5G/IoT時代における新たな価値創造を実現し、お客さまの期待を超える新たな体験価値の提供を追求してまいります。
http://www.kddi.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away