BASICで音階 (5回目)
今回は純正律の振動数を自動計算しました
ピッチベンドセンシティビティ
Bn,64,00(h)
Bn,65,00(h)
Bn,06,xx(h)
(xxが大きいほどピッチベンド変化大)
(nはチャンネルで0~F)
xx = 4ならピッチベンド+1000(h)で半音(100セント)
xx = 1ならピッチベンド+4000(h)で半音(100セント)
を使ってより細かくピッチベンドを指定しました
(b) = 2進数
(h) = 16進数
ピッチベンド値の計算が面倒なのでプログラムで
計算させています
MIDIピッチベンド値
ピッチベンド値は7bit+7bitで表現されます
0hhhhhhh0lllllll(b)はhhhhhhhlllllll(b)です
(例)7F7F(h)は3FFF(h)という値を表している
なのでピッチベンドは
0000(h)~4000(h)~7F7F(h)送信値
0000(h)~2000(h)~3FFF(h)実際の値
0 ~8192 ~16383 10進数
-8192 ~ 0 ~+8191 変化量
となります
MIDIピッチベンド送信データは4000(h)の場合
En, 00, 40(h) (下位,上位の順)
(n=0~F:チャンネル)
これで、合っているか分かりませんが
音を鳴らして見ました
一応うなりは軽減しているような...?
ピッチベンドセンシティビティは
xx=4(たぶんデフォルト)で十分細かいので
xx=1とかにする必要はなさそうです
xx>4にして大きく変化させたいときに
使用すれば良さそうです
VL-BASICとvl~.zip(note005v.bas)は
このブログTOPからダウンロードページへ
https://ulprojectmail.blogspot.com
Readme.txtを読んで遊んで下さい