※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

VST Tips(準備中)


簡単な音源(VSTi)の仕様

ここで作成する音源(VSTi)は前項で説明したシンセサイザーの構成から大幅に機能を削減した簡易なものとする。

今回作成する音源(VSTi)の仕様は下記のとおりである。

機能 対応内容
最大同時発音数 8
波形 正弦波のみ
フィルタ、エンベロープジェネレータ、LFO なし
操作可能なパラメーター なし
その他 ピッチベンド、モジュレーションホイール未対応

また今回作成する音源は下記の構成をとっている。


簡単な音源(VSTi)で処理すべき内容の概要

今回の音源(VSTi)で処理すべき内容の概要については以下のとおりである。

項目 処理内容
MIDIメッセージを受け取る Midiメッセージを受け取り、processReplacing()関数内で処理できるようにする。
MIDIメッセージにあわせて
VoiceをOn/Offする
Note Onの場合→停止中のVoiceを探して、発音させる。
Note Offの場合→Note OffのNoteNo.と同じNoteNo.で発音中のVoiceを停止させる。
その他のMidiメッセージ→無視する
Voiceの出力を足し合わせて
出力バッファに書き込む
processReplacing()関数内でVoiceの出力を合計して出力バッファに書き込む
Voiceの作成 上記3つの機能に対応したVoiceクラスを作成する

それぞれの実装方法

構成図の各部位は以下のようにして実装する。

部位 実装方法
Voice CVoiceクラスを作成
Oscillator Voiceクラス内に直接記述
MIDI Controller CMidiMsgクラスを継承して実装
Voice Controller AudioEffectXクラスを継承したクラスに直接記述
Mixer AudioEffectXクラスを継承したクラスに直接記述





同一カテゴリのTips


項目 No. 概要


javascript plugin Error : このプラグインで利用できない命令または文字列が入っています。