VST3プラグインでMIDIメッセージを受信する方法1
前回まででパラメーターの実装や保存など、ひととおりのパラメーターについての説明はさせていただいたと考えております。
【参考】
パラメーター実装方法1 | はじめてのVST3プラグインに基本となるパラメーターを実装する方法を記載します。 |
パラメーター実装方法2 | パラメーター実装方法1で実装したパラメーターは「0.0~1.0」しか表示できないので、 それ以外(例えば「10~100」や文字列のリストなど)を表示するパラメーターを実装する方法を記載します。 |
パラメーター実装方法3 | パラメータークラスを継承して自作のパラメータークラスを作成します。 「フィルタのカットオフ周波数」等で利用するスライダーの位置と出力の関係が線形でないパラメーターを実装する方法を記載します。 |
パラメーターの保存方法 | パラメーター実装方法1~3で追加したパラメーターはホスト(DAWなど)を終了すると初期化されてしまいます。 終了時に保存し、次回起動時にデータが読み込まれるようパラメーターを保存・読込する方法を記載します。 |
ですので、今回はMIDIのノートオン/ノートオフメッセージを受信する方法を記載したいと思います。
今回作成するプラグインはVST3プラグインのパラメーター実装方法で作成したプラグインをベースにします。
(コントロールの実装以外に余計なコードが少ないためです。)
- パラメーターはなし(ただしパラメーター操作クラスは定義します。)
- MIDIのノートオン/ノートオフメッセージに応じて音を鳴らすモノフィックシンセサイザー
- 音色はサイン波のみ。(エンベロープジェネレータ等の機能もなし)
- 入力バス、出力バスは1つで、共にステレオ(2ch)
今回ベースとなるプラグインの説明はこちらに記載しています。
このVST3プラグインのサンプルソースファイルはこちらからダウンロードできます→vst3dev_20210403
ZIPファイルの中の「vst3dev06_MIDIメッセージを受信する方法1」フォルダが今回のサンプルソースファイルになります。
コンパイル・ビルドの方法は簡単にこちらでご説明しております。ご参考までに。→サンプルソースファイルのビルド方法
音声処理クラスの定義
まずは今回作成するVSTはモノフィックシンセサイザーとして動作するため、音声処理クラスにて必要な変数等を下記の通り定義しております。
もっと見る