create every day - 福野泰介の一日一創

IchigoJam BASIC 15行、バンブラ奏法で奏でるMIDI楽器

2017/09/18 23:55:00
#IchigoJam #sound 

バンブラ奏法BEEP音源を応用してIchigoJamとスーファミコントローラーでMIDI楽器をつくってみました。
KORG plugkeyを使うと、iOSが楽器に早変わり!

iOSで使えるMIDI楽器は、懐かしいアナログ音源、FM音源から最新音源までたくさん!
今回はApple標準のGarageBandを使って、切り替えながら鳴らしてみました。

バンブラ奏法(コントローラーの上下左右、ABXYボタンで鳴る。Rで半音上がり、Lでオクターブが上がる)のためのスーファミコントローラー接続。 さよなりωさんのコネクターがあると便利ですが、自分で切って作っちゃうのも手です。
(赤:IN1、白:VCC、茶:GND、橙:OUT1、黄:OUT2)

ホットボンドで固めておきましょう。

近日発売、MIDI入出力ボードとスーファミコントローラーをつなげて準備完了!

プログラムを作ってできあがり!(遅れを少なくするためにVIDEO0で画面消しています)

1 'SFC-MIDI 10 POKE#700,16,181,80,35,27,2,28,70,36,4,91,28,27,4,1,34,18,3,164,24,0,34,90,96,0,33,0,34,154,96,34,104,146,10,138,64,128,24,2,34 20 POKE#728,154,96,1,49,16,41,244,209,1,34,90,96,16,189 30 OUT1,1:OUT1,2:A=#700:B=0 32 LET[0],9,7,-1,-1,4,0,2,5,11,12 35 BPS31250:UART1:VIDEO0 40 N=~USR(A,0):P=N&~B:R=~N&B:B=N 60 FORI=0TO9:IF[I]<0GOTO80 70 IF P&(1<<I) V=100:GSB90 75 IF R&(1<<I) T=[I+10]:V=0:GSB92 80 NEXT 85 IF BTN() UART0:VIDEO1:END 86 GOTO40 90 T=[I]+N>>11+N>>10&1*12 91 [I+10]=T 92 ?CHR$(#90,60+T,V);:RTN

10-20行 スーファミコントローラードライバ(マシン語)
35行 MIDI信号は31250bpsのシリアル信号、ビデオ出力を切って3倍速!
85行 IchigoJam本体のボタンで安全な終了(シリアルを切って、ビデオ出力を戻す)
90行 バンブラ奏法の肝!
92行 MIDI信号出力(#90でチャンネル1をノートオン、ボリューム0でノートオフ)

コンピューターで音楽をもっと楽しく!

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / high-res profile image