Skip to content

Repository files navigation

Sink

Discord GitHub Patreon

SteelSeries Sonar for Linux. Built on PipeWire.

Route each app to its own channel - Game, Chat, Music - and control volume, mute, and output device per channel. Build mixes for OBS and a processed virtual microphone for voice chat.

Mixer

 apps ─► channels ─► your ears
              └────► a Mix ─► OBS / recorder

Features

  • Channels - per-app routing with volume, mute, meters, and a choice of output device per channel
  • Apps - running apps appear automatically; assign once, remembered forever
  • Mixes - recordable sources for OBS. Master Mix carries everything; custom mixes can carry "everything except music" and stay current as channels change. A mix can also carry your processed microphone, so one input device holds your voice plus app audio (Sonar-style Stream Mix), and each member gets its own send level and mute inside the mix - what recorders hear, independent of your own volume (pop out a mix's levels from its strip). In OBS, add a mix as an audio input - not Desktop Audio.
  • Equalizer - per-channel parametric EQ (up to 10 bands) with a draggable response curve, bundled community presets, and import/export including AutoEq text blocks
  • Microphone - noise gate, compressor and limiter into a virtual mic you select in Discord or OBS. Pairs well with NoiseTorch on the input for noise suppression before the chain.
  • Profiles - save and switch full layouts from the tray

Equalizer Mic Apps

Install

Arch / Manjaro / EndeavourOS - from the AUR:

yay -S sink-bin      # or: paru -S sink-bin

Fedora - from COPR:

sudo dnf copr enable nc1107/sink
sudo dnf install sink

Both track new releases, so you update through your package manager like any other package.

Otherwise, grab the latest from Releases and install the file directly:

Fedora / openSUSE

sudo dnf install ./sink-*.x86_64.rpm

Debian / Ubuntu / Mint

sudo apt install ./sink_*_amd64.deb

Arch / Manjaro / EndeavourOS

sudo pacman -U ./sink-bin-*-x86_64.pkg.tar.zst

These install the app properly - launcher entry, icon, uninstall through your package manager.

Any other distro - AppImage (portable, no root)

chmod +x sink_*_amd64.AppImage
./sink_*_amd64.AppImage

To get a launcher entry for an AppImage, use Gear Lever or AppImageLauncher.

Requires PipeWire with pipewire-pulse and WirePlumber 0.5+ (the default on most current distros).

Build

npm install
npm run tauri dev      # run
npm run tauri build    # package

Config lives in ~/.config/sink as plain JSON.

License

GPL-3.0

About

Linux-native audio routing and mixing on PipeWire virtual channels, per-app routing, capturable mixes, and a processed virtual microphone

Resources

Stars

21 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages