"Hardware Mixer" for PulseAudio
OTHER License
Pavu Mixer is a hardware mixing desk for controlling
PulseAudio streams on
a connected computer. Think of it as a hardware version of
pavucontrol
.
More pictures in Eyecandy/
.
The Pavu Mixer is currently just a PCB fitted as the front plate of a console enclosure. This remedies the need for a custom front plate. Beneath it, an STM32F3DISCOVERY eval board is used as the controller. Connection to the computer is done over USB.
Following are the capabilities of the current hardware:
waveshare-display/
subdirectory)The firmware on the STM32F3DISCOVERY board exposes all of the "UI"
(faders, buttons, indicators, display) to the host via a custom USB class.
Messages are serialized using postcard
.
On the host, a daemon is running which communicates to the hardware and keeps track of PulseAudio state. It has a configuration file for selecting which channel controls which applications. Streams are then attached to the mixer channels automatically when they appear.
The firmware and host-side software are still in development - these features are subject to change.
Right now, only the Pavu Mixer hardware is supported. As this board is not commercially available, but a hardware mixer for PulseAudio could be interesting for other people as well, I am open to extend the host-daemon to support other boards as well. For example, there are a lot of MIDI-based digital audio mixers which would be a good candidate for support. Please open an issue on GitHub or contact me directly if interested.
Path | Contents |
---|---|
Eyecandy/ |
Pictures and "rendered" schematic (Pavu-Mixer-Schematic.pdf ). |
Hardware/ |
KiCAD project for the interface board & other hardware related files. |
hardware-tests/ |
Test-firmware for demonstrating functionality of all parts of the hardware. |
common/ |
Definitions shared between firmware and host-software (for postcard serdes). |
firmware/ |
Firmware for the STM32F3DISCOVERY board. |
host-daemon/ |
Host-side daemon for mixer communication and PulseAudio interaction. |
waveshare-display/ |
Driver for the LCD screen (see its README for details). |
It is a difficult story... Individual parts of this project are licensed under different terms:
Hardware/
directory (exception below) are licensed underHardware/3D
are licensed under MIT.waveshare-display/
is dual licensed under Apache 2/MITcommon/
, firmware/
,hardware-tests/
, and host-daemon/
) are licensed under theUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.