福野泰介の一日一創

150円でつなぐ!MIDI音源で音楽あそび - Roland SC-88 Pro x IchigoJam

2016/02/14 23:55:00
#IchigoJam #KidsIT #sound #midi 

訳あってちょっと音痴IchigoJam
餅は餅屋、憧れのMIDI音源、Roland SOUND CANVAS SC-88 Proにつないで演奏してみました。
MIDIは、電子ピアノやエレクトーンにもついているので、お家にある楽器をハックしちゃおう!


IchigoJamからたった2本、線をつなぐだけ!(ケーブルは2年前つくったもの


MIDI端子は5ピンDINという規格。マルツで5ピンDINプラグ(150円)を買って、ピンを正面から見て左から2番目に赤色、と4番目に黄色の線をはんだづけ。写真の細い線ではなくジャンパーピンを使うのがオススメ。
5ピンDINソケット(120円)の方を買って、MIDIケーブルで接続するようにするのもアリ!

MIDIの正体は31250bpsのシリアル信号。IchigoJamのシリアル出力TXDに黄色、VCCに赤色を接続すれば準備OK!

IchigoJamで鳴らしてみよう!MIDIのお約束(プロトコル)を見て、ドの音を鳴らしてみます。
(参考、MIDI - Wikipedia

BPS 31250 ?CHR$(#90,60,127);

#90は1chに音鳴らすというコマンド、60が音階(半音で1上がる)、127が音の強さ。
画面に表示したものをそのまま鳴らそうとしてしまうので、鳴らさない時は UART0 でシリアル出力をオフにしよう。
おかしなことになったらMIDI音源の電源を一旦か、?CHR$(#ff); とシステムリセット信号を送ってみよう。

こちら和音の鳴らすプログラム

1 'MIDI WAON 10 BPS 31250:T=1 20 ?CHR$(#C0,T); 30 ?CHR$(#90,60,127,#90,64,127,#90,67,127); 40 WAIT 60 50 ?CHR$(#80,60,0,#80,64,0,#80,67,0); 60 UART0

減衰音の場合50行のノートオフはなくてもOK。

続いて、ドラムパート用に用意された特殊な10chを使ってドラム音を順番に鳴らすプログラム。

1 'MIDI DRUMS 10 BPS 31250:CLS 20 FOR I=35 TO 81 30 LC0,-1:?CHR$(#99,I,127); 40 LC0,0:UART0:?I:UART1 50 WAIT 30 60 NEXT 70 UART0

MIDI信号用の表示を画面に表示しないために、LC0,-1で画面外へ。
画面にだけ表示する場合は、LC0,0で位置を戻して、UART0で一時的にシリアル信号をオフにしよう。

以前つくったリズムマシーンをMIDI用に改造するのも楽しいかも?
本格DTM(for PanCake)、ゲームの効果音、加速度センサーを使ったオリジナル楽器作り、温度や距離測センサーを使って、外部環境に合わせたリズムを奏でるマシンづくりなど、発想自由自在!

IchigoJamイベント紹介
- 2016/2/20 第一回 PCNサミット IchigoJamワークショップ&こどもロボットpaprika 先着10名
- 2016/3/5 「きょうりゅうゲームをつくろう」IchigoJamプログラミングワークショップ 先着20組 - IODD2016

参考リンク
- 「WindowsマシンをIchigoJamのMIDI音源に使う - kazueda式

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — 表示 4.0 国際 — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / 高解像度プロフィール画像(和服)