Mixxx is an excellent, free (and open-source) Dj app for your PC. It includes pretty much all the features a premium application offers, a good Dj hardware support, plus a gorgeous user interface (skin support included).
That said, I must say that its ability to automatically match the tempo of two (or more) tracks simultaneously has never been at the accuracy level of some of its competitors, such as Virtual Dj ( you can try running it on ‘Linux’!), though, with the somewhat recent addition of ‘Queen Mary’ tempo and beat tracker (first introduced with the version 1.11), things are changing!.
Just out of curiosity, I tried out the beta1 version (1.12.0), and I think I can notice even more accurate beat & tempo matching, compared to the stable release as well. Now, although installing either the stable or the beta version on MS Windows, Mac OS X or in Ubuntu is quite easy, as there are pre-built packages for those operating systems, for other GNU/Linux distributions, such as on Fedora (22), installing the beta version is a little difficult because you basically have to built it from the source code.
But Mixxx has an excellent wiki page, that includes all the necessary steps for successfully compiling it from source (the process of taking the programming code put by humans and converting it to binary code, so the computer can ‘understand’ & execute it), and I followed their exact instructions and got it installed quite easily. For anyone who’s interested, below are those steps.
Step 1: First we need to enable a third-party repository called ‘RPMFusion‘. To enable it, open up a terminal window and enter the below two commands:
sudo dnf config-manager --add-repo http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-22.noarch.rpm
sudo dnf config-manager --add-repo http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-22.noarch.rpm
Step 2: Now that’s done, let’s install all the necessary packages. For that, use the below command:
sudo dnf install @development-tools scons gcc-c++ sqlite-devel rubberband-devel libchromaprint-devel
Step 3: Make sure you’re running the terminal without the root permissions, if unsure, simply close the terminal and re-open it.
Now it’s time to download all the files containing the Mixxx Dj app source code. For that, enter the below command:
git clone -b 1.12 https://github.com/mixxxdj/mixxx.git
Step 4: Once the above command finishes running, ‘change into’ that directory by typing the below command:
Step 5: Now we are almost ready to begin the compiling process but there’s one more thing that you should do (thought it’s optional) that can hugely speed up the compiling time (thus the installation time). That one thing is figuring out the amount of cores your central processing unit (CPU) has. The way to figure that out in GNU/Linux is very simple. You enter the below command into the terminal, and it’ll just provide you with the number of available processing units!:
Step 6: Assuming that now you know how many CPU cores available in your system, let’s begin with the compiling process. Oh I almost forgot, I recommend that you abandon doing any heavy work on your PC (such as audio/video rendering etc or anything that consumes a lot of CPU power) until the process is finished. I have a mildly powerful CPU Intel i3 mobile processor, with 4 processing cores, and it only took a couple of minutes for the process to finish. But this will wary in accordance with your CPU’s processing power.
So, enter the below command to begin the software compiling process of Mixx Dj app, and make sure to replace the number ‘4‘, with the amount of available cores of your PC:
scons -j 4 optimize=native
Step 7: Once the installation finishes, enter the below command to install it on your system:
sudo scons install
There are a couple of more steps to follow, before you can use Mixxx, so again open up the terminal and… just kidding 🙂 . Ladies and gentlemen, that’s it, now you should have the awesome Mixxx Dj app 1.12.0 beta1 installed on Fedora 22 PC. Enjoy!.