aethersdr / aethersdr/AetherSDR
Add a VST plugin host for the TX audio chain (ESSB / custom DX audio shaping)
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 221
- Forks
- 117
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 299
Description
Request preparation
- I used an AI assistant to help structure this request
- I checked for existing issues covering the same feature
What would you like?
Why: Many hams find that tailoring thier TX audio to a high degree is a fun and functional part of the hobby. Whether for unique DX audio style profiles or ESSB type "help me sound like a broadcast station" audio, this is a growing niche within the ham radio community, but to do it has required either a load of outboard gear or running one or multiple additional applications to add VST plugins to the audio path.
Goal: Create the first SDR client (Edit: at least for Flex) with native plugin hosting — eliminates the VoiceMeeter/Carla/Ardour external routing workaround that SmartSDR, SDRuno, SDR Console, and HDSDR all require today
- TX-only audio plugin host** embedded directly in AetherSDR's EQ panel — no external DAW or virtual audio routing required
- Powered by Carla's embeddable library** (
libcarla-host-plugin) for multi-format support through a single integration point - VST3 required from V1**, with LV2, CLAP, and LADSPA also available out of the box via Carla
- Drag-and-drop chain reordering** — slot order defines signal cascade (e.g., gate → EQ → compressor), and order matters
- Per-plugin bypass** plus a master ON/OFF toggle that fully removes plugins from the audio callback to reclaim CPU
- Plugin chain saves into P/CW mic profiles** — switch profiles and your entire plugin configuration (plugins, parameters, order, bypass states) loads automatically
- No pre-populated plugins** — the panel ships empty, user loads their own from standard Linux plugin paths
- Entirely client-side** — no FlexLib protocol involvement, inserts between mic capture and VITA-49 encoding in
AudioEngine::onTxAudioReady()
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at AudioEngine::onTxAudioReady() and read the attached AetherSDR-VST-Host-Feature-Request.md to understand the proposed insertion point and requirements. The work is done when the EQ panel hosts the requested plugin formats with ordering, bypass controls, profile persistence, and a master toggle that removes processing from the audio callback.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, linux
- Domain
- audio-video-rtc, desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100