4

ポリフォニック録音 (メロディーなど) からノートを分離するオーディオ アルゴリズムを実装しています。私の計画は、それを VST プラグインにすることでした。ドキュメントを調べてみると、非リアルタイム タスクをどのように実装するかを理解するのに苦労しています。必要なタスクは、ループしてリアルタイムで操作する前に、wave ファイルをロードして非リアルタイムで分析することです。いつでも新しいファイルをロードできる必要があります。

トピックに関する情報を見つけることは非常に困難です。誰かが経験を持っていて、私にヒントを与えることができれば:

  • これは VST で可能ですか? SDK はオフライン処理を提供しますが、DAW はそれをサポートしていないようです。
  • プログラムをスタンドアロンにした場合、どうすれば VST ホストと同期できますか?
  • 詳細に書かれている良い本を知っている人はいますか?
4

1 に答える 1

1

あなたはオフラインのことを考えすぎていると思います。:) 実際には非常に簡単ですが、何が起こっているのかをユーザーに説明する優れた UI を作成するのが難しい部分です。もし私があなたなら、別のスレッドでファイルの読み込みを行うだけです。このタスクの実行中に、GUI で「ファイルを読み込み中...」スピナーを表示し、process()ルーチンで無音を出力する必要があります。これには、3 つのスレッド (GUI、プロセス、およびローダー) が互いに何をしているかをすべて認識できるようにするための少しのミューテックスが含まれます。

プラグインのスタンドアロン バージョンを作成する場合は、Juceが最適です。この素敵なフレームワークは、VST/AU プラグインの抽象化も処理し、スタンドアロン アプリのエクスポートも可能にします。Juce は少し高価に見えるかもしれませんが、このプラグインを商用化する場合は、1 セントの価値があります。商用化する予定がない場合は、コードを GPL にして無料で使用できます。

スタンドアロン プラグインの DIY ルートを好む場合は、おそらくMrsWatsonと一緒に何かをハックすることができます。(免責事項: 私は MrsWatson の作者です)。現時点では、MrsWatson にはこのプロジェクトに必要ないくつかの機能が欠けていますが、これは非常に一般的な使用例であり、サポートしたいと考えているため、将来的に追加する予定です。

優れた VST プログラミングの本については、まあ、私は何も知りません。=/

于 2012-12-04T08:35:08.887 に答える