Added
- Log viewer - Cmd/Ctrl+Shift+L opens an in-app log window in every build, showing engine and interface logs together with level filtering, search and one-click copy.
- Virtual device apply without root - device changes are picked up through a watched shared config instead of requiring elevated privileges.
- Plugin hosting - load your own plugins as effect nodes: CLAP and VST3 on every platform, Audio Unit on macOS. The plugin's own editor opens in a native window, its parameters are editable in the node itself, and its state is saved with the pipeline. Linux editors need an X11 session (XWayland included).
- Separate channel routing (#12) - each channel of a device gets its own handle, so you can wire, process and mix individual channels instead of fixed stereo pairs. Existing pipelines are migrated automatically.
- WebRTC, Net Sender and Net Receiver nodes (#10) - stream audio between machines and into WebRTC sessions.
- Mute hotkey - bind any key or combination to a Mute node and toggle it system-wide, even when Splitwave is in the background. Optionally a spoken cue confirms the switch on an output device of your choice, at its own volume.
- Spectrum analyzer node with per-channel FFT.
- De-esser node with presets, and a Declick node for removing clicks and crackle.
- Effect presets - save any effect's settings and reuse them anywhere, with factory presets included.
- Pipeline templates - start from a ready-made graph instead of an empty canvas.
- Settings window - theme, canvas behaviour, history depth, update checks and preset management in one place.
- Analyzer node now reports signal metrics and delivery profiles.
- Crashes are saved and shown on the next launch instead of vanishing with the window.
- Node icons and a refreshed modal design.
Changed
- Plugins receive the node's full channel width instead of being forced into stereo.
- Effect nodes got a visual pass.
- Device and application dropdowns rescan when opened, so a device plugged in
while the app was running shows up without pressing Rescan.
Fixed
- Cables that point at a channel a device does not have are now flagged, and edges left dangling blink with a warning on the node.
- Fan-out nodes are computed once and shared, monitoring included, instead of being processed per branch.
- Gain-reduction readouts no longer freeze, and the monitor backlog is bounded.
- Spectrum taps keep updating in monitor mode.
- Virtual devices can be applied while the engine is idle.
- Node previews render without a flow canvas open.
- macOS: the private CATap capture aggregate no longer shows up in device menus.
Full Changelog: https://github.com/Horuse/Splitwave/compare/v0.5.0...v1.0.0
Features
- Numeric readouts on sliders are now editable
- EQ faders snap in 0.1 dB steps for finer control.
Fixes
- Virtual audio device no longer produces garbled/distorted audio when used as a microphone, including when multiple apps capture it at once. Caused by a stream format mismatch; now resolved.
Full Changelog: https://github.com/Horuse/Splitwave/compare/v0.4.0...v0.5.0
Features
- Noise Suppressor now exposes advanced controls: a DeepFilterNet post-filter toggle and adjustable processing thresholds for finer denoise tuning
- New app icons and refreshed branding
Fixes
- Audio file playback no longer drops audio under bursty load - file sources keep their backlog instead of being trimmed
- "Reveal in folder" now works correctly for recordings, and transport buttons have tooltips
- Level meter readout now settles at the dB floor on silence instead of drifting to -∞
- "Check for Updates" now reports the actual failure cause instead of a bare "builder error", with a one-click button to copy the error
Full Changelog: https://github.com/Horuse/Splitwave/compare/v0.3.0...v0.4.0
What's Changed
- Add full Linux support (#2)
- Add Windows support (#4)
Linux and Windows support is experimental. Expect rough edges and bugs - please report any issues you encounter.
Features
- New Noise Suppressor node for speech denoising powered by DeepFilterNet3
Fixes
- Errors now show as toast notifications instead of in the header
- Lower and more stable microphone latency
- Correct output device selection for Bluetooth headsets with identical names
Full Changelog: https://github.com/Horuse/Splitwave/compare/v0.2.0...v0.3.0
New Features
- Multi-format audio file decoding - the Audio File node now plays back multiple formats, not just WAV.
- Audio File transport controls - added pause, stop, and skip.
- Input volume control - volume slider for App Audio, System Audio, and Audio File.
- Separate Monitor category - standalone meter nodes that work without an output connection.
Fixes
- Speaker: more reliable device selection - uses HalOutput by always enumerating devices.
- Speaker: output stream auto-recovery - the stream recovers when the system default device switches.
- Updater: correct modal behavior - the up-to-date modal now shows only on a manual menu check.
- Virtual device: devices.plist is set to 644 permissions so _coreaudiod can read it.
Documentation
- README: noted that screen recording permission must be re-granted after an update.
What's changed
- Fixed a crash that could occur when stopping audio capture
- Fixed audio recording stability issues
- macOS Intel (x86_64) is now supported alongside Apple Silicon
Full Changelog: https://github.com/Horuse/Splitwave/compare/v0.1.0...v0.1.1
Inputs
- Microphone
- System audio capture
- Per-app audio capture
- Audio file playback with loop and auto-stop
Outputs
- Speaker
- File recording: WAV, FLAC, AIFF, Opus, MP3, AAC
Effects
- Gain, Mute, Channel Balance
- EQ (10-band graphic)
- Compressor, Limiter, Noise Gate
- Saturator, Delay, Reverb
- Level Meter, LUFS Meter, Waveform
Routing
- Node graph: connect any input to any output through any chain of effects
- Hot reconcile: edit the graph while the pipeline is running without interrupting streams
Other
- Undo/redo, node copy/paste
- Pipeline snapshot history
- Auto-update
- Virtual audio driver
Full Changelog: https://github.com/Horuse/Splitwave/commits/v0.1.0