For an upcoming holiday with a few of my friends I needed a Midi-controllable software which allows me to play different audio-samples – some might call this a ‘soundboard’. On top of my wishlist were things like
-open source
-runs on Linux (Raspberry)
-fully customizable
Fortunately, before starting a new project myself I came across Mixxx. It’s an open source DJ-Software with a completely customizable user-interface that also includes a multi-cell sample-player. Mixxx version 1.10 is readily available for various platforms (“sudo apt-gt install mixxx” on a Raspberry PI) but has been superseded by version 2.1.1 (as time of writing). There are no precompiled binaries for Mixxx 2.1 on a Raspberry PI yet so the first step was to build a version myself. The necessary steps are documented in Mixxx’s own Wiki but it’s partially outdated and not everything is located in one place.
Building Mixxx 2.1 on a Raspberry PI is not that complicated but if you are like me and not knee-deep into Mixxx’s development it might be a little hard to get it all together. This is mostly copy-pasted from here and a little bit from here:
First set your Raspberry’s memory split to 256MB. Then issue the following commands:
sudo apt-get update sudo apt-get upgrade (reboot) sudo apt-get remove libtag1-vanilla sudo apt-get install g++ git scons libqt4-dev libqt4-sql-sqlite libportmidi-dev libopusfile-dev libshout3-dev libtag1-dev libprotobuf-dev protobuf-compiler libusb-1.0-0-dev libfftw3-dev libmad0-dev portaudio19-dev libchromaprint-dev librubberband-dev libsqlite3-dev libid3tag0-dev libflac-dev libsndfile1-dev libupower-glib-dev liblilv-dev sudo apt-get install libjack-dev libjack0 portaudio19-dev # because of Bug #1464120 sudo apt-get install libfaad-dev libmp4v2-dev # required for M4A support sudo apt-get install libmp3lame-dev sudo apt-get remove g++ g++-4.7 sudo apt-get autoremove sudo apt-get install g++-5 sudo ln /usr/bin/g++-5 /usr/bin/g++
For Version 2.1:
sudo apt-get install libqt4-dev libqt4-sql-sqlite libqt4-opengl-dev libqt4-svg libqt4-xmlpatterns libqt4-sql git clone -b 2.1 https://github.com/mixxxdj/mixxx.git
Or when pulling from the master branch:
sudo apt-get install qt5-default libqt5opengl5-dev qtscript5-dev libqt5svg5-dev git clone https://github.com/mixxxdj/mixxx.git
cd mixxx sudo scons -c && sudo scons -j 3 opengles=1 staticlibs=1 optimize=native # -j 3 is okay, if you keep your RPI well ventilated
Now wait for ~1.5 hours . If everything went fine you are granted with a shiny new version of a Mixxx executable in your ~/mixxx – folder. To install it systemwide run
sudo scons install
It might be slightly outdated, but I figured for Mixxx 2.2 there’s also a dependency to use `sudo apt install libqt5x11extras5-dev`
What Raspberry did you use?
I installed Mixxx 2.2 from the repositories on my Raspberry 3b yesterday and sound is still lacking with my Numark Platinum controller.
Could zram-tools help?
Btw. the idea is really great.
As far as I can remember it was a PI 3 model b (Without the ‘+’). I don’t remember any problems with sound in general (I was using a Pimoroni pHAT DAC as audio output). Are you having no sound at all or is it stuttering? Zram seems to be a good idea, in general. I am using log2ram (found that on Hackaday once) and/ or an USB dongle to boot from.