このプロジェクトについて

EffectsHostは、NPlugとktsuエコシステムを活用した.NETベースのVST3オーディオエフェクトホストです。開発者が`IAudioEffect`インターフェースを介して単一のC#クラスを実装するだけでDSPエフェクトを作成できるように簡素化されており、ホストシェルがパラメータ、オートメーション、状態の永続化、およびユーザーインターフェースを自動的に処理します。 主なコンポーネントは以下の通りです: - EffectsHost.Core:`IAudioEffect`、`EffectParameter`、`EffectBlock`を含むエフェクトの抽象化を提供します。 - EffectsHost.Effects:`GainEffect`や`DelayEffect`などの具体的なエフェクト実装が含まれています。 - EffectsHost.Plugin:NPlugシェル、リアルタイムの`AudioEngine`、組み込みのDear ImGuiエディタ、および`.vstpreset`ファイルのI/Oを管理します。 - EffectsHost.Test:DSPユニットテストおよびオーディオコールバックパスの割り当てフリー(allocation-free)なソークテストが含まれています。 本プロジェクトではリアルタイムの安全性を重視しており、オーディオスレッドでのメモリ割り当て、ロック、ブロッキング、またはI/Oを回避しています。UIからオーディオへのノンブロッキングなパラメータ変更には`ktsu.Invoker`を、オーディオからUIへのテレメトリには`ktsu.Containers`のロックフリーSPSCリングバッファを利用しています。さらに、フィードバックテイル中のCPUスパイクを防ぐため、非正規化数(denormal)を考慮した`DelayLine`を使用しています。 エディタはDear ImGuiで構築されており、テーマ付きパネル、テーパー補正済みノブ、ピークホールド付きのL/R dBメーターを備えています。Windowsでは組み込みドッキングを、macOSとLinuxではフローティングウィンドウをサポートしています。