MIDIの核心は、それぞれが静的なピッチを持つ個別のノートイベントとしての音楽の表現です。これは、鍵盤楽器で演奏される音楽を表現するのに最適です。次のコマンドを使用して、和らげられたスケールのノートに対応する周波数をMIDIノート番号に変換できます。
69 + 12 × ログ2fR用のE QUが電子のn cをY440
MIDIレシーバーがA4 = 440 Hzに調整されているという仮定のもと。
この表現はピアノ音楽では問題ありませんが、問題は、調律された音階にマッピングされていないピッチを表現する方法(非西洋音楽、非音楽音)、および音符の持続時間に対するピッチの変化を表現する方法(グリッサンド、ビブラート)。
これは、現在再生されているノートのピッチを短い間隔でシフトするようにシンセサイザに指示する「ピッチベンドメッセージ」を使用して、MIDIで行われます。ほとんどのシンセサイザは、ピッチベンドメッセージの範囲(0 .. 16383)で+/- 2セミトーンのデフォルトで調整されます。8192はピッチベンドなしに対応します-放出されるピッチは正確にノート値のピッチです。ピッチベンド値と周波数シフト比の間のマッピングは、次のように与えられます。
f電子のM I T T E D_ n o t efn o t e _ m e s s a ge= 2p i t c h b e n d− 81924096 × 12
したがって、次の式からシンセジアが演奏するノートの周波数を取得できます。
440 × 2n o t e − 6912.0+ p i t c h b e n d− 81924096 × 12
ここで、ノートは、最後に受信の7ビットMIDIノートナンバーであるノートオンメッセージ。また、pitchbendは、最後に受信したピッチベンドメッセージの14ビット値です。シンセサイザは、ピッチベンドレジスタを8192に設定して開始し、この値は、「すべてのコントローラをリセット」メッセージの受信中にリセットされます。
次の例を見てみましょう。フルートトリルを500 Hz、510 Hz、500 Hzの周波数軌跡でMIDIメッセージとして表現したいとします。
基本ノート番号は次のとおりです。
R O U N D(69 + 12 × ログ2(500 / 440 ))= 71
したがって、note#が71の「note on」メッセージを送信します。これは、次のピッチと同等です。
440 × 2(71 − 69 )/ 12= 493.88
これは、調整されたスケールで最も近いピッチです。次の係数でピッチを上げるには、ピッチベンドメッセージを送信する必要があります。
500493.88= 1.0124
500 Hzを取得します。対応するピッチベンド値は次のとおりです。
R O U N D(8192 + 4096 × 12 × l o g21.0124 )= 9065
510 Hzを取得するには、ピッチベンド値は次のようになります。
R O U N D(8192 + 4096 × 12 × l o g2510493.88)= 10469
したがって、500、510、500 HzのMIDIメッセージのシーケンスは次のようになります。
- 注記71
- ピッチベンド9065
- ...
- ピッチベンド10469
- ...
- ピッチベンド9065
MIDIノート番号は、ピッチの「積分」部分と考えることができます。ピッチは、ピッチの冗長な「小数」部分としてベンドします。