2009/09/07
2009/06/16
2009/02/18
ショボvstシリーズ (2) - Sacchin
Sacchin 1.0.0.2 2009-02-19 (vst2.4, Windows) [download]
リミッタというかサチュレータというかディストーションというか。
正直テキトーすぎたので後で直す。
Gain: どれくらい突っ込むか
Threshold: 小=ゆるやかに全体が歪む/大=音が大きくなると急激に歪む
コンプとかマキシマイザみたいな動的な追従は一切しないです。
CHANGES
1.0.0.2: Gain最大+12dBから+24dBに変更; Gain初期値を0dBに変更
1.0.0.1: ノイズの原因の微妙な計算間違いを修正
1.0.0.0: 最初の版
2009/02/12
vst作成メモ
サンプルのAGainを参考にして,
void EstMS::processReplacing(float** inputs, float** outputs, VstInt32 sampleFrames)
{
float* in1 = inputs[0];
float* in2 = inputs[1];
float* out1 = outputs[0];
float* out2 = outputs[1];
てな感じで,バッファのアドレスを取り出して,
*out1 = (*in1 + *in2) * fGain;
*out2 = (*in1 - *in2) * fGain;
という処理を,(各ポインタを加算しながらsampleFrames回)繰り返せばいいかと思ったが,うまくいかなかった。何故か2回通すとモノラルっぽくなる。けど,完全にモノラルでもない。
いろいろ試行錯誤した結果,どうやら入力と出力のバッファのアドレスが同じだったらしい。上の行で*out1
に書き込んだ時点で*in1
が上書きされていると。
わかってしまえば,「なあんだ」って話なんですがね…。
ショボvstシリーズ (1) - MS
EstMS 1.0.0.2 2009-02-19 (vst2.4, Windows) [download]
outL=inL+inR, outR=inL-inR って処理をするだけのプラグイン。
ルーティングめんどいので何かないかと思ったけど,探すより作った方が早そうなので作った。(あんまり早くなかったけど)
M/Sとか呼ばれてるけど,何の略かは知らない。
2回通すと元に戻るけど,振幅が2倍になってしまうのでゲインつけた。
ほとんど vstsdk のサンプルの AGain そのまんまともいう。
CHANGES
1.0.0.2: gcc/NetBSD でのクロス開発に移行(機能変更ナシ)
1.0.0.1: ちゃんと動いた版
1.0.0.0: 最初の版; MS Visual C++ を使う練習(非公開)
2009/02/03
登録:
投稿 (Atom)