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を読んで遊んで下さい