I'm making a PipeWire matrix mixer
Once in a while, you get an idea for something to build that completely takes over your brain and you can't stop thinking about it.
This one scratches an actual itch I have with my music gear. I believe I have all the pieces of the puzzle, I just need to put it together in the correct way. It's a perfect mix of doing things I'm comfortable with and pushing me into unusual territories.
The Erica Synths Matrix Mixer and Conductive Labs MRCC have been on my wish list for a long time. I'd really like to have these, or something similar, that allows for flexible routing of audio and MIDI.
I have a Bitwig template that takes me a very long way there. But I keep falling into the trap of endless possibilities in DAWs when I open Bitwig. So I'd like to be able to route things around without it.
I have a Soundcraft Signature 12 MTK which gives me a lot of flexibility with regards to sending audio back and forth from/to the computer, but it's huge and doesn't fit into a portable setup that can be thrown into a backpack and taken anywhere. I've also been thinking about getting a 1010music Bluebox because of the portability.
No matter what mixing/routing hardware I have been looking at, I have been seeing limitations. Maybe apart from the Erica Synths Matrix Mixer and the MRCC. But even those have a finite amount of inputs and outputs and are the MRCC is definitely not very portable.
A lot of my gear has USB audio/MIDI. And with PipeWire it's technically super easy to route things around in any way I'd like. I'm generally really impressed with how easy USB audio is on Linux with PipeWire, compared to the horror stories I read of hoops to jump through to get the same results on Windows and Mac. I just didn't find any software on top of PipeWire that solved this issue in a way suiting me.
A few days ago, I had a look at the CLI tools provided by PipeWire and then I realised that making an interface on top of these could give me the matrix mixer I have been dreaming of. The only downside is that it requires a computer to be part of the solution. But it can be a laptop or (probably) even a single-board computer. I can live with that. The huge upside is that if I'm running out of inputs or outputs, I can just add more.
I have a bunch of ideas that will really improve the daily quality of life. From the top of my head:
- Basic routing of both audio and MIDI.
- Pairing of audio channels for routing around stereo audio (an maybe even beyond just stereo).
- Saving/loading presets that will automatically link certain devices when they are connected to the computer.
- MIDI control of the matrix mixer:
- Toggle links.
- Change presets.
- Virtual devices that allows routing outputs back into the matrix.
And further down the line, maybe allow attenuation of links and even hooking audio plugins in somehow.