void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames);
引数 | 説明 |
float** inputs | 入力音声信号のバッファ。2次元配列で渡される。 1次元目の大きさはコンストラクタにsetNumInputs()関数で指定したサイズ。 2次元目の大きさは後述のsampleFramesとなる。 書き込まれている音声信号は-1.0~+1.0の範囲 |
float** outputs | 出力音声信号のバッファ。2次元配列で渡される。 1次元目の大きさはコンストラクタでsetNumOutputs()関数に指定したサイズ。 2次元目の大きさは後述のsampleFramesとなる 音声信号は-1.0~+1.0の範囲で書き込まなければならない。 |
VstInt32 sampleFrames | 入力音声信号、出力音声信号のバッファサイズ |
- void MyMinimumVST::processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames)
- {
- //入力、出力は2次元配列で渡される。
- //入力は-1.0f~1.0fの間で渡される。
- //出力は-1.0f~1.0fの間で書き込む必要がある。
- //sampleFramesが処理するバッファのサイズ
- float* inL = inputs[0]; //入力 左用
- float* inR = inputs[1]; //入力 右用
- float* outL = outputs[0]; //出力 左用
- float* outR = outputs[1]; //出力 右用
-
- for (int i = 0; i < sampleFrames; i++)
- {
- //ここで音声処理を行う。
-
- //出力バッファへ書き込む。
- outL[i] = inL[i];
- outR[i] = inR[i];
- }
- }
inputs[チャンネル数][sampleFrames] outputs[チャンネル数][sampleFrames]
float* inL = inputs[0]; //入力 左用 float* inR = inputs[1]; //入力 右用 float* outL = outputs[0]; //出力 左用 float* outR = outputs[1]; //出力 右用
for (int i = 0; i < sampleFrames; i++)
{
//ここで音声処理を行う。
:
:
}
//出力バッファへ書き込む。
outL[i] = inL[i];
outR[i] = inR[i];
項目 | No. | 概要 |
最小構成のVST | No.1 | 最小構成の自作VSTに必要な関数等の説明。 |
No.2 | 最小構成の自作VSTの必須初期化項目について | |
No.3 | 最小構成の自作VSTの音声処理関数について | |
No.4 | 最小構成の自作VSTのサンプルソースコード全体 |