問題タブ [vst]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - VST2.4 SDK インストルメントのクリック音は、ノートが終了して別のノートが開始するときに鳴ります
しばらくの間、C++ で VST インストゥルメントに取り組んできましたが、ノートが別のノートの開始位置で終了すると大きなクリック音が発生するという問題が発生しています。
実は音符が終わったときにも問題がありますが、その部分を取り除く「フェードアウト」アルゴリズムを追加しました。しかし、別のノートが終了したところで別のノートが始まるとすぐに、私のフェードアウト アルゴリズムの余地はありません。
私は出力バッファをスキャンして、短期間に発生する急激な大きな値を見つけて、その部分を無音にすることでクリックアウトを見つけようとしました。
シーケンサーからの画像を含むファイルがここにアップロードされ、Soundcloud の短い mp3 ファイルでクリック音を聞くことができます。Sound Cloud のクリック音
これらのことについて詳しく知っている人で、クリックフィルターがどのように機能するかは知っていますが、このような VST インストゥルメントに実装する方法はわかりません。これに取り組む良い方法は何ですか?
c++ - この Vst Synth の例の説明
Steinberg VST Synth の例のコードの特定の領域を理解するのに苦労しています
この関数では:
}
私がこの関数を理解している方法は、現在 MIDI ノートがオンになっている場合、ウェーブ テーブルを出力配列にコピーして VstHost に戻す必要があるということです。私が具体的に理解していないのは、
件付きブロックがやっています。出力配列にゼロを書き込むだけのようです...ファイルのフル バージョンは、http://pastebin.com/SdAXkRyWにあります。
c++ - VSTオーディオバッファと同じポインタ配列へのポインタを作成する方法は?
VST 仕様では、マルチチャンネル オーディオ データのバッファが渡されます.....
同様の「2d ポインター配列」を作成したいのですが、あまり成功していません。単純なポインターを作成し、値の読み取り/書き込みを繰り返すことができます....
....しかし、私ができるようにする何かを実装しようとしてクラッシュフェスティバルを開催しています...
これを実装する正しい方法は何でしょうか?
objective-c - 2 つの Mac プラグイン バンドル (AU、VST) に対して 1 つのモジュールのみが読み込まれます
私のオーディオ プラグインは、サポートされているすべてのフォーマット (AU や VST など) のエクスポートを含むバイナリのバンドルです。まったく同じバンドル(拡張子が異なるだけ)をコピーします
ユーザーが VST プラグインと言うと開くと、正常に動作します。しかし、後で彼が AU プラグインを開くと、クラッシュし、スタック トレースからは、1 つのモジュールが別のモジュールを呼び出しているなど、完全に混乱しているように見えます。私は当初、これは古き良き Cocoa グローバル クラス名であり、Mac OS X の設計上の大きな欠陥であると考えていましたが、 VST は Carbon を使用しているため、そうではないようです。
AUモジュールをまったくロードしていないようです。AUインターフェースだけで、VSTモジュールから別のコンポーネントを作成しただけです! そこにグローバル変数があるので、そのアドレスをログに記録しましたが、それは両方のプラグインで同じなので、同じモジュールでなければなりませんよね?
残念ながら、初期化とグローバルが異なるため、それぞれに適切なものをロードする必要があります。では、OSに2番目のものを適切にロードさせるにはどうすればよいですか?
ありがとう!
macos - OSX で同じバンドルを 2 回開くにはどうすればよいですか?
まったく同じ内容の 2 つのバンドルがあり、それらを別のフォルダーにコピーして、適切に名前を変更しました (これらは特定のオーディオ プラグインです)。ホストは 1 つのバンドルを開きますが、それは正しいですが、2 番目のバンドルを開く必要がある場合、実際には既に読み込まれている最初のバンドルをアタッチするように見えます。しかし、2番目のものも開く必要があります。名前を変更し、小道具を変更しようとしました...何も... 2番目のものもロードする代わりに、すでにロードされているものを使用しています。どうやってやるの?
ありがとう!
c++ - VSTGUI 4.0 - エラー C2664: 'std::make_pair'
vstgui 4.0 を使用して、vst プラグイン用の非常に単純な GUI を作成しようとしています。Visual Studio 2012 Express を使用しています。ビルドすると、sdk ファイルの 1 つからエラーが発生します。エラーは次のとおりです。
cview.cpp の「attributes.insert...」行から来ています。
これを修正するにはどうすればよいですか? このエラーを抑制する方法はありますか?