2022年5月17日火曜日

#7 Ichigojam BASICで遊ぶw  MIDI端子からの出力プログラミングについての考察とメモ

前回の続きで、サンプルプログラムを打ち込んで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)

https://fukuno.jig.jp/1300

・#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 件のコメント:

コメントを投稿

任天堂目覚し時計アラーモは優秀だがかなり高額、今後のゲームサウンド配信次第で化ける?w

かなり使える、優秀な目覚し時計アラーモ。   目覚まし機能は、5分毎にどんどん音量が増して行き、体を動かす、動くと音楽が再び小さく鳴り、目覚まし発動時は、ずっと小さく鳴り続けている感じのスムーズ機能付き、体が動くと小さくなり、ベッドから出ると自動終了する。 画面は夜中でも眩しすぎ...