Groups
Level meters and spectrum are the loudest active group's real signal (rustfft-analyzed input, 24 log-spaced bands). Master fader here is the same channel as the one on Faders.
Inputs
M mute · S solo (mutes every other stream until cleared) · ST / L / R (one button, click to step): play the app in stereo, on the left only, or on the right only. The service/site name (e.g. "YouTube") is extracted live from the stream's own title where it's available. The bar beside each app shows its live level, and its name lights up while it plays.
Keys: I this list · G Groups · GG Fader Groups · Tab/Ctrl+Tab move · A route the selected app · X delete the selected group · Enter go inside a group (A move / X remove an app; in a fader group Space ticks) · Esc back out · N new group · M/S mute/solo the selected app (click one to select it) · CS / CM clear solo / mute
Tick the groups a fader group controls. Its fader (Faders tab) moves them all together and keeps their balance.
Plugins
Buttons: 🔗 link (delta together) · M mute · S solo (mutes every other group until cleared) · Mono / Stereo · pan knob: drag up for right, down for left, double-click for center.
Keys: Ctrl+H/L previous/next fader · M/S mute/solo it · Shift+M Master · type a value (12 = +12 dB, -6 = −6 dB) then Enter or pause · Ctrl+J/K down/up 0.5 dB (Shift 2.5 dB)
Keys: Ctrl+H/L previous/next output · Ctrl+J/K volume · M mute · S cue · A add route · Enter into its routes (Tab move, Ctrl+J/K gain, Space on/off, Y sync, X remove, Esc back)
Compensation only ever adds delay to a faster output so it arrives closer to the slowest one in the group — it never speeds a slow device up. "Latency unknown" outputs (common over Bluetooth) are left at zero compensation rather than guessed.
A scene snapshots every group's gain/EQ/HPF/LPF/compressor/gate/output-routes plus which app is routed where. Activating one applies all of it at once; an app that isn't running yet is applied automatically the moment it starts.
New rule
When
If (all must hold)
Then
"App id" matches one whole app (e.g. Spotify). "Site/tab" matches a browser tab by its site name (YouTube, Udemy, …), since every tab of one browser shares an app id. "Route app" and "apply profile" act on the app that triggered the rule, so they need "an app starts".
Rules
Rule history
Ducking
When the source group's Level rises above threshold, every destination group ducks by Duck (dB), then releases smoothly over Release once the source quiets down.
Record a group
Recording taps the group's signal after its full DSP chain (EQ/compressor/gate/plugins) without touching its normal playback route. FLAC is lossless at 24 bits and about half the size of WAV.
Active recordings
Health
Signal Flow
Settings
Needs the quickshell binary and fonyx-quickshell.service installed (packaging/systemd) — a no-op toggle otherwise.
Only affects a group with no explicit output routing of its own (Outputs tab) — those already have their own choice.
Trades startup latency for headroom against audio glitches. Applies to newly-created routes (new group, or a route recreated for another reason) — not a currently-playing one.