問題タブ [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.
xcode - VST3 を使用した XCode で利用できる優れたチュートリアル?
私は XCode と VST の両方の世界にまったく慣れていません。VST3 を本当に使いたいときは、すべてのチュートリアルで VST2.4 以前を扱っています。私は現在、他のすべてのチュートリアルで必要な Carbon フレームワークを持たない XCode 3.2.1 も持っています。
参照できるアイデアやドキュメントはありますか?
.net - .Net から Wave または MP3 の BPM をプログラムで取得する
.Net (VB.Net または C#) を使用して、wave または MP3 ファイルの BPM をプログラムで取得する必要があるプロジェクトがあります。
このためのバイナリまたはライブラリを知っている人はいますか、それとも私を正しい方向に導くためのコードスニペットを持っていますか?
audio - 代数的音声合成は可能ですか?
1 つはインストゥルメンタル、もう 1 つはボーカルのみの 2 つのレイヤーを持つ通常の曲があるとします。ここで、インストゥルメンタル レイヤーだけを持っているとしましょう。インストゥルメンタルを「差し引いて」純粋なボーカルを取得することは可能ですか? 損失が出ますか?この特定のタイプの減算合成を実行するにはどうすればよいですか?
.net - VST.NET vs NAUDIO (vstaudiobuffer vs pcmstream バッファ)
VSTaudiobuffer を PCMStream Buffer に変換する方法を教えてくださいhttp://vstnet.codeplex.com/Thread/View.aspx?ThreadId=216682から試しましたが、役に立ちませんでした。
ruby - プログラムで VST(i) プラグインと対話してオーディオを合成するにはどうすればよいですか?
たとえば、Tweakbenchの VSTi Triforceを見てみましょう。市販の VST ホストにロードすると、ホストは (おそらく MIDI) 信号を VSTi に送信できます。次に、VSTi はその信号を処理し、VSTi 内のソフトウェア インストゥルメントによって作成された合成オーディオを出力します。
たとえば、A4 (MIDI ノートだと思います) を VSTi に送信すると、中央の C の上に A が合成されます。オーディオ データが VST ホストに返され、スピーカーで再生するか、保存することができます。 .wav またはその他のオーディオ ファイル形式に変換します。
私がTriforceを持っていて、合成する A4 ノートを送信し、それをシステム上のファイルに自動的に保存することによって VSTi と対話できる、選択した言語でプログラムを作成しようとしているとしましょう。
最終的には、1 トラックの MIDI ファイル全体を解析し (この目的で既に利用可能な確立された安定したライブラリを使用して)、それを VSTi に送信してオーディオ ファイルに「レンダリング」/合成できるようにしたいと考えています。
これについてどうすればいいですか? また、コア フレームワークを構築するに はどの言語を使用する必要がありますか?
最終的には、Ruby ベースのプロジェクトで使用されるため、特定の Ruby リソースへのポインターも同様に役立ちます。
ただし、基本的に VSTi の API がどのように機能するかを理解しようとしています。(この質問は、VST出力をファイルに保存することしかできず、それらを再生することはできず、スコープがかなり小さいVSTホストを最初に構築するという質問に非常に関連していることに気付きました)
ruby - Ruby から VST インストゥルメントを制御する
最近、仮想ドラムキットとして機能する VST プラグインである EZDrummer のコピーを購入しました。プログラムでループとドラムパターンを作成できるように、Ruby コードからフックしたいと思っています。正直なところ、どこから始めればよいかさえわかりません。おそらく、プラグインをロードして何らかの方法でプラグインできる VST ホストを作成する必要があります。私はRuby開発者なので、これを実装しようとしている言語です.正しい方向へのポインタはありますか?
winapi - VSTプラグイン内からWin32ダイアログボックスを開く方法は?
VSTプラグイン内からWin32ダイアログボックスを開く方法は?助けてくれてありがとう。
c++ - VST オーディオ エフェクト/プラグインをオーディオ ファイルに適用する
これは、ここでしばらくリーチした後の最初の質問です。
CLI または C++ を介して iZotope Vinyl VST エフェクトをいくつかのオーディオ ファイルに適用する必要があります (したがって、言語はそれほど重要ではありません)。Mac または Unix ベースのシステムで動作する必要があります。私はウェブ全体を調査しましたが、有効な解決策が見つかりません。
コマンド ライン ユーティリティである MissWatson を使用してみました。
./MissWatson -plugin=Vinyl -input-file="/Users/Sjaq/Desktop/test.wav" -output-file="/Users/Sjaq/Downloads/MissWatson-v1.0-mac/res.wav" -parameter=1:0.6,2:0.6,11:0.4
次に、Steinberg VST SDKを使用して、SDK が提供する vstvalidator からホスト アプリケーションを作成してみました。しかし、VST を読み込もうとすると、次のエラーが発生します。
2010-12-01 16:57:40.774 vstvalidator[4654:903] Error loading /Library/Audio/Plug-Ins/VST/Vinyl.vst/Contents/MacOS/Vinyl: dlopen(/Library/Audio/Plug-Ins/VST/Vinyl.vst/Contents/MacOS/Vinyl, 262): no suitable image found. Did find:
/Library/Audio/Plug-Ins/VST/Vinyl.vst/Contents/MacOS/Vinyl: no matching architecture in universal wrapper
そして、私は何をすべきかわかりません。私は C++ の初心者で、問題なくいくつかのアプリを作成しましたが、今回は行き止まりになりました。
pyvst について読んだことがありますが、VST 用の DLL が必要なようで、それも機能しませんでした。
audio - サウンドプログラミングのプロジェクトをやりたいのですが、どこから始めたらいいのかわかりません
私の高校では、基本的に学期ごとに自分で科目を学ぶクラスを受講することができます。「サウンドプログラミング」について学びたいと思っていたのですが、それが何なのかわからないことに気づきました。たとえば、シンセサイザーのしくみ、 VSTiの書き方、コンピューターサイエンスでのサウンドのしくみなどに興味があります。これは実行可能な主題ですか?これにまったく慣れていない人のための良いチュートリアルはありますか?ヒントや提案をいただければ幸いです。
編集:これは私が興味を持っているようなものです。
c++ - クラス関数メソッド内のバッファに値を格納する
私はC++でVSTDSPプラグインをプログラミングしています。
'filterbank'で一連のバンドパスフィルターを作成しています。ヘッダー(関数を含む)にフィルタークラスを実装し、.cppでコンストラクタ/デストラクタを正しく構築しました。
メソッドに値を渡して、それらを返すこともできます。ただし、問題は関数のバッファにデータを格納する領域にあります。関数メソッドが呼び出されるたびに、バッファーに格納されている値がリセットされる(または、そもそも正しく格納されない)ようです。したがって、返されるものは「完全」ではありません。
どんなアドバイスも大歓迎です!
nbこの投稿は新しいコードで更新されました:
クラスは次のとおりです。
{{
フレンドクラスBeat_to_Midi;
public:aFilterL(); 〜aFilterL();
仮想floataFilterMethodL(float a0、float a1、float a2、float b1、float b2、float inputL、float prevInput1L、float prevInput2L){
}
};
クラスaFilterR{
フレンドクラスBeat_to_Midi;
public:aFilterR(); 〜aFilterR();
仮想floataFilterMethodR(float a0、float a1、float a2、float b1、float b2、float inputR、float prevInput1R、float prevInput2R){
}};
次に、これはcppで次のように構築/破棄されます。
{fOut1_l = 0.f; filterOut1_l = 0.f;
}
aFilterL ::〜aFilterL(){
}
aFilterR :: aFilterR(){fOut1_r = 0.f;
}
aFilterR ::〜aFilterR(){
}
最後に、processReplacing関数に次のように実装されます。
void myPlugin :: processReplacing(float **入力、float **出力、VstInt32 sampleFrames){
while(--sampleFrames> = 0){
//入力をフィルタリングします
In_1_l = buffer_In_1_l [0];
In_1_r = buffer_In_1_r [0];
In_2_l = buffer_In_2_l [0];
In_2_r = buffer_In_2_r [0];
//管理でフィルタリング
buffer_In_2_l [0] = buffer_In_1_l [0];
buffer_In_2_r [0] = buffer_In_1_r [0];
buffer_In_1_l [0] = * in1;
buffer_In_1_r [0] = * in2;
//処理のために関数に送信します
returnsL = my_aFilter1L-> aFilterMethodL(0.000171f、0.0f、-0.000171f、-1.999911f、0.999943f、* in1、In_1_l、In_2_l);
returnsR = my_aFilter1R-> aFilterMethodR(0.000171f、0.0f、-0.000171f、-1.999911f、0.999943f、* in2、In_1_r、In_2_r);
//フィルター出力を送信します
* out1 = returnsL;
* out2 = returnsR;
* in1 ++;
* in2 ++;
* out1 ++;
* out2 ++; }}