前回の続きで、サンプルプログラムを打ち込んでmidiアウトしてみた。
サインプルプログラムの内容は12鍵盤、1オクターブをランダムに鳴らすプログラムとある通りでした。
プログラム記述のコマンドリファレンスで調べると。
UARTとはシリアルポートのON、OFF。
Escキーで止めると止まる場所によっては、途中で強制終了するので、シリアルオープン状態のままになってしまうため、
・Escを押して止める。
・UART 0と入力してシリアルポートをOFFにする。
分かりやすい説明がありましたので、こちら
file:///Volumes/Potable%20SSD/Download/20191214-IchigoJam-midi.pdf
さらに詳細説明
https://av.watch.impress.co.jp/docs/series/dal/1046425.html
音源はVolca FMがスピーカー内蔵なんでこれを使えばアダプタだけでいいのだが・・・電源アダプタだらけ・・・本当に邪魔だな・・・
USBは救世主に思えたが・・・USBもいっぱいありすぎて・・・
本当に電気問題は正直、全部PoEみたいな感じでスルーできればいいのに・・・
本当にコンセントだらけで邪魔ですw
●?CHE$(midiポート番号、音程、ベロシティ値???(0 or MAX)
・#90=1ch・・・#99=10chでON。
・#80=1ch・・・#89=10chでOFF。
なので、それ以降は16進数かな?まあ10chあればいいかw
・しかし、最後のベロシティ値はやはり変わらず。0か最大値ぽい。
音量は変わらないとレポートがあった通りと思う。
まああとは音程分かるとして、音価、テンポなど諸々がさっぱり不明。
まあとりあえず知りたいのは音価は?
前回はWAITの値を変えたが、触れるところがそこが一番簡単だったのでやってみただけだが・・・
●WAIT=音価、テンポ
やはりWAITしかないので、テンポは固定バイテンで考えるしかなさそうです。
|WAIT値|音価|
|120|全音符|
|60|2分|
|30|4分|
|15|8分|
|7.5|16分|割り切れないので無理w
とりあえず全部割り切れる音価を倍の値として下から数えていく方法しかありませんw
・5、10、20、40、80
・6、8、12、24、48、96/2=48
・7、14、28、56、112
・8、16、32、64、128
・9、12、18、36、72、144/2=72
・10、20、40、80、160
・11、22、44、88、176
・12、16、24、48、96、192 /2=96
・13・・・
・14・・・
・15、20、30、60、120、240/2=120
こんな感じでw
16分音符8がコンピューター的に一番分かりやすいかもw
ただしシャッフルなしなので、基準をシャッフルにして置いた方がいいと思う。
基本シャッフル+バイテンがいいのかもしれない。
●プログラムの記譜方法
音高をまとめてLETに数値記憶させて、?CHR$=キャラクター数値である音高をブッこむ方法ですね。
ただそうすると、やはり音価はほぼ固定されたものが楽で、でもまあそうした方が実はいい音楽ができるのかもw
実際に、ジャズなんかほぼ8分固定ですからねw
まあいい勉強になったが、間違っているのか?あっているのか?は不明w
でも多分あっていると思うw
でもまあそうなるとほぼリズム固定の曲作りしてみるかなw
本当にいい勉強になりましたw
0 件のコメント:
コメントを投稿