Об этом проекте

EffectsHost — это хост аудиоэффектов VST3 на базе .NET, использующий NPlug и экосистему ktsu. Он упрощает создание DSP-эффектов, позволяя разработчикам реализовать один класс C# через интерфейс `IAudioEffect`, в то время как оболочка хоста автоматически обрабатывает параметры, автоматизацию, сохранение состояния и пользовательский интерфейс. Основные компоненты включают: - EffectsHost.Core: предоставляет абстракцию эффектов, включая `IAudioEffect`, `EffectParameter` и `EffectBlock`. - EffectsHost.Effects: содержит конкретные реализации эффектов, такие как `GainEffect` и `DelayEffect`. - EffectsHost.Plugin: управляет оболочкой NPlug, аудиодвижком `AudioEngine` реального времени, встроенным редактором Dear ImGui и вводом-выводом файлов `.vstpreset`. - EffectsHost.Test: включает модульные тесты DSP и тесты на стабильность (soak tests) без аллокаций для пути обратного вызова аудио. Проект делает упор на безопасность реального времени, гарантируя, что аудиопоток избегает аллокаций, блокировок, ожидания или ввода-вывода. Он использует `ktsu.Invoker` для неблокирующего изменения параметров из интерфейса в аудио и lock-free SPSC кольцевые буферы из `ktsu.Containers` для передачи телеметрии из аудио в интерфейс. Кроме того, используется `DelayLine` с учетом денормализованных чисел для предотвращения скачков нагрузки на ЦП во время затухания обратной связи. Редактор построен на Dear ImGui и включает тематические панели, ручки с корректным сужением (taper-correct knobs) и L/R dB-метры с функцией удержания пика. Он поддерживает встроенный докинг в Windows и плавающие окна в macOS и Linux.