機能 | 対応内容 |
最大同時発音数 | 8 |
波形 | 正弦波のみ |
フィルタ、エンベロープジェネレータ、LFO | なし |
操作可能なパラメーター | なし |
その他 | ピッチベンド、モジュレーションホイール未対応 |
項目 | 処理内容 |
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クラスを継承したクラスに直接記述 |
項目 | No. | 概要 |