Chromatic Conductor

A high-level drag-and-drop orchestration patchbay for PipeWire and WirePlumber audio streams.

PipeWire Routing GPL-3.0-or-later C++17 / Qt6 Active Status

Overview

Chromatic Conductor is a high-performance PipeWire session manager client designed to provide Linux creators, streamers, and power users with an intuitive, visual approach to audio routing. It models complex connection matrices as drag-and-drop patches, eliminating manual command-line wire setups.

The client integrates directly with the libpipewire client loop, reacting dynamically to device plugs/unplugs and application streams while allowing users to inject runtime DSP audio filter stages directly into audio links.

Core Features

Visual Patchbay

  • Dynamic Node Discovery: Discovers hardware inputs, sound cards, software sinks, and running player applications in real-time.
  • Drag-to-Route Interface: Create audio links instantly by drawing wires between input ports and output nodes.
  • Per-Link Level Tuning: Select any active link to control its specific volume directly from the control panel.
  • Virtual Sink Manager: Create and persist null audio targets (virtual sinks) to route specific desktop apps separately.

Per-Link DSP Sound Profiles

Apply real-time saturation and tilt filtering on individual links with predefined profiles:

  • Clean: Unmodified, low-overhead pass-through signal.
  • Warm: Adds gentle harmonic saturation and low-frequency weight to enrich vocals.
  • Punch: Aggressive preamp modeling and compression-like saturation for drum tracks or game feeds.
  • Bright: Boosts presence and high-mid ranges for speech clarity.

Persistence & Diagnostics

  • Auto-saves connection structures using QSettings to restore virtual outputs and link routings across server reboots.
  • Robust diagnostics panel showing restoration states, missed endpoints, and current audio memory consumption.

Build and Installation

To compile Chromatic Conductor, install the required development headers for Qt6 and Pipewire:

Ubuntu / Debian (22.04+):

bash - Dependencies
sudo apt-get update sudo apt-get install -y \ qt6-base-dev \ qt6-tools-dev \ libpipewire-0.3-dev \ cmake g++ pkg-config

Build from Source:

bash - Build
git clone https://gitlab.com/quantum-hue/chromatic-conductor.git cd chromatic-conductor mkdir build && cd build cmake .. make -j$(nproc) ./chromatic-conductor