프로젝트 소개
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) 소크 테스트(soak tests)를 포함합니다.
이 프로젝트는 실시간 안전성을 강조하여, 오디오 스레드에서 할당, 락, 블로킹 또는 I/O가 발생하지 않도록 보장합니다. UI에서 오디오 파라미터를 비차단 방식으로 변경하기 위해 `ktsu.Invoker`를 사용하며, 오디오에서 UI로의 텔레메트리를 위해 `ktsu.Containers`의 락-프리 SPSC 링 버퍼를 사용합니다. 또한, 피드백 테일(feedback tails) 동안 CPU 스파이크를 방지하기 위해 디노멀 인식(denormal-aware) `DelayLine`을 사용합니다.
에디터는 Dear ImGui로 구축되었으며, 테마가 적용된 패널, 테이퍼 보정 노브(taper-correct knobs), 피크 홀드 기능이 있는 L/R dB 미터를 특징으로 합니다. Windows에서는 내장 도킹을 지원하며, macOS와 Linux에서는 플로팅 창을 지원합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.