皆さんは、arduninoで音楽を流したことはありますか?一音ずつ打ち込んでいくのは難しいですよね。
そこで、先にmidiファイルに打ってからarduinoコードに変換してみましょう。
最後の方では、少しめんどくさいですがダウンロードしたmidiから作る方法も説明します。
大まかな流れ
MuseScoreで、midiファイルを作成します

https://github.com/ShivamJoker/MIDI-to-Arduino
https://arduinomidi.netlify.app/
こちらのツールを使用して、midiをarduinoコードに変換していこうと思います。

自分で楽譜を作って演奏してみる
midiファイルを作る
https://musescore.org/ja
ここから、musescoreをダウンロードしましょう。
musescoreではないお気に入りのものを使っても大丈夫です。
そして「ピアノ」として新規作成してください。

何か楽譜を作ってみましょう。
midiキーボードがない場合は、a.b.c.d.e.f.g.hがド.レ.ミ.ファ.ソ.ラ.シ.ドに割り当てらています。

楽譜を作ったら、ファイル→エクスポートから、midiを選び、pianoを選んでエクスポートしましょう。

arduinoでならしてみる
https://arduinomidi.netlify.app
にアクセスして先ほど作成したmidiファイルを読み込んでみましょう。

これで、arduinoコードに変換されました。実際に鳴らして試して下さい。
デフォルトのピンは11です。
どっかからダウンロードして使用する
大まかな手順は前の章と同じですが、注意しなければいけないことがあります。それは、
arduino(やツール)は和音に対応していないことです。
ダウンロードしてきたファイルは 「ほぼ」 和音が含まれています。
和音とは、二つ以上の音があることです。

画像の右側みたいな感じですね。
その場合は、重なっている音はすべて消さなければなりません。
そうしないと、音がバグります。正直、消す作業はかなりめんどくさいです。
消したら、midiにエクスポートし、変換するサイトにアップロードします。
そして、変換する対象の楽器を選択します。そのあとは、同じです。

まとめ
https://wokwi.com という主なマイコンが使える神サイトで試してみました。
別々に実行して後で編集の力で合わせました。
↑みたいな感じです。
曲:Bad Apple!! / ZUN(上海アリス幻樂団) 東方project
ボタン同時押しで同時にならすようなプログラムも暇があったら書き足します。
ありがとうございました!

とある高専生。
AIとネットが好き。
将来はAIの妹と火星に住みたい。
discord : r_nightcore
このサイトの管理者。
コメント