这个项目能做什么
EffectsHost 是一个基于 .NET 的 VST3 音频效果宿主,利用了 NPlug 和 ktsu 生态系统。它通过允许开发人员通过 `IAudioEffect` 接口实现单个 C# 类,简化了 DSP 效果的创建,而宿主外壳则自动处理参数、自动化、状态持久化和用户界面。
关键组件包括:
- EffectsHost.Core:提供效果抽象,包括 `IAudioEffect`、`EffectParameter` 和 `EffectBlock`。
- EffectsHost.Effects:包含具体的效果实现,如 `GainEffect` 和 `DelayEffect`。
- EffectsHost.Plugin:管理 NPlug 外壳、实时 `AudioEngine`、嵌入式 Dear ImGui 编辑器以及 `.vstpreset` 文件 I/O。
- EffectsHost.Test:包括 DSP 单元测试以及针对音频回调路径的无分配浸泡测试。
该项目强调实时安全性,确保音频线程避免分配、锁、阻塞或 I/O。它利用 `ktsu.Invoker` 实现非阻塞的 UI 到音频参数更改,并使用来自 `ktsu.Containers` 的无锁 SPSC 环形缓冲区进行音频到 UI 的遥测。此外,它使用一个感知非正规数(denormal-aware)的 `DelayLine` 以防止反馈尾迹期间出现 CPU 峰值。
编辑器使用 Dear ImGui 构建,具有主题面板、锥度正确的旋钮以及带有峰值保持功能的 L/R dB 表。它支持 Windows 上的嵌入式停靠以及 macOS 和 Linux 上的浮动窗口。
评论
0 评分人数达到10人后显示
登录后参与讨论。