私はこのサイトを少し検索しましたが、驚くべきことに、関連する情報はあまり見つかりませんでした。DSPに関する私の知識は非常に限られています。
私の目標は非常に単純です。C++でアルゴリズムのリバーブをプログラムしたいのですが、これは本当にいいですね。より正確には、最良のオプションは、エンドユーザーが品質とCPU使用量の間のトレードオフを選択できるようにすることです。
これまでにわかったことから、リバーブを作成するには、ドライ信号をアーリーリフレクションアルゴリズムに送り、次にレイトリフレクションアルゴに送る必要があります。これは正しいです ?
今、私はフィードバック遅延ネットワーク(時変フィードバック遅延ネットワークを使用した人工反響要件の削減)を使用して、遅延反射部分に関する広範な記事を見つけました。私が読んだことから、FDNは高品質であり、後期反射をシミュレートする(CPUの観点から)あまりに拡張的ではありません。さらに、遅延線の数を変更することで、品質とCPUのチャージのトレードオフを制御できると思います。
ただし、初期反射アルゴリズムをどのようにプログラムするかはまったくわかりません(覚えていますか?DSPドメインでは本当に無知です)。
一種のマルチディレイを使用することは私には論理的に聞こえます。これはプログラミングが簡単で、計算コストが安いという利点があります。しかし、それは本当であるには単純すぎるように思えます。
さらに、本能は、1つまたは複数のフィルターを信号パスのどこかに含める必要があることを教えてくれます。
誰かがこのトピックを少し明確にしてくれませんか?
2つのメモ:
- 私はコンボリューション・リバーブをまったく望んでいません。リバーブのリアリズムについては特に気にしませんが、代わりに、CPUに飢えたリバーブではなく、良いサウンドで微調整可能なサウンドを求めています。
- また、コーディングの部分は私を心配するものではありません、そうでなければスタックオーバーフローについて尋ねます。それは本当にDSPの部分であり、まさにその部分です:)