1. Description

This project is a software mixer designed to route various inputs (local or remote applications and physical sources through line-inputs) to outputs (headphones, power amplifiers, home theater receivers, or other computers). Aimed to replace A/V receivers and preamps, the mixer supports muxing stereo, 5.1, and 7.1 sources to any speaker configuration. A filter suite including low/high-pass and roomEQ filters is built in. By default, 5.1/7.1 sources bypass band-pass filters such as the subwoofer low-pass.


The user interface is OpenGL accelerated (60 fps) and intended for touch screens. LIRC compatible remote controls are supported, as are LCDproc compatible HTPC case screens. To power on/off amplifiers and other equipment, the software is capable of sending trigger signals via Arduino either directly or on sleep timers.


There's an alternative UI tailored for 1920x360 advertisement screens that can be incorporated e.g. in TV stands. See the attached video (click the image).

Anyone with several computers or A/V receivers or headsets probably has, at some point, struggled with mixing the inputs to the outputs. A preamp or an A/V receiver is usually appointed to this task, but they're like so 90's. This program offers a software solution to the problem, with a focus on user interface and visuals. Although not meant for audio professionals, no compromises have been made with the features that are implemented. Internally, audio is handled as 96/192 kHz 32b float streams of 2 to 8 channels per source/destination.

As an example use case, my personal audio system consist of the following hardware orchestrated by this software:

thumbnail From top to down: a headphone amplifier, a 5-channel power amplifier, a computer with quality analog outputs, and a subwoofer. (See the full setup here)
thumbnail A touch screen connected to the computer, displaying the mixer. Inputs consist of local mplayer instances on the HTPC, remote audio (through netjack) from a Linux desktop, analog line-in from a Windows desktop, and digital line-in from a Mac desktop.

2. User interface

thumbnail This is the main control screen. The inputs are on the left and the outputs on the right. The light arrows represent connections.
thumbnail In order to add or remove a connection, tap the input to select, followed by a tap on the output. Double-tapping toggles the mute.
thumbnail The volume slider appears by tapping a volume bar. Just drag your finger along the slider.
After keeping your hands off the screen for some time (by default 30 seconds), the most active output is monitored in full screen and selected to be the target of remote control. A volume slider and visualizers appear. A muted output to the bottom.

3. Audio

The program connects to audio inputs and outputs via low latency JACK servers, which can also be used as ALSA backends. For outputs capable of hardware volume control (such as analog sound card outputs), volume is set using an ALSA interface to avoid loss of signal resolution.

For visualization, a frequency domain presentation, per-channel power bars (with signal clipping detection), and time domain signal state monitors are available. The signal state monitors scale dynamically according to signal amplitude.

4. Room equalization

Especially subwoofers almost always require room equalization ("anti-mode") to combat standing waves that make some frequencies pop out unnaturally. This software has built-in room calibration. One needs to record frequency sweeps at the most common listening locations in the room, provide a target frequency response preference (e.g. +3dB bass boost), and the software evaluates millions of filter permutations (via a genetic algorithm) and selects the optimal ones. Again, as a hobby project, no external libraries or other help was used.


Here you can see captures from multiple locations in a room. You can see modes at e.g. 45Hz and 55Hz, as well as low response below 30Hz.


These are the measured average responses (with and without main speakers) after the automatically optimized filters. You can see that the modes are gone and response below 30Hz improved.

5. Download

Will be released under the GPL