open source DJ software Mixxx 2.1

Open source Mixxx gets v2.1 beta for Windows, macOS, and Linux

When you’ve got a revenue stream, great things happen. And commercial software is held to the highest standard, largely because DJs have forked out directly for it, or had it bundled with hardware. But imagine that you want to create similar software, but have no budget and no plans to charge for it any time soon. That has been the guiding light of the guys at Mixxx, who have just released v2.1, and with it comes some major updates.

Here’s the important stuff from the announcement on the Mixxx forum:

After two years of hard work, we are pleased to announce Mixxx 2.1 beta. We have overhauled the effects system, redesigned the skins, added and improved lots of controller mappings, rewrote the audio file decoders twice, and of course fixed a bunch of bugs. Windows, macOS, and Ubuntu users can download installers here. Updated installers will be available whenever we make changes to the code until the 2.1 release, so keep checking back for new installers. Ubuntu users can also install packages from the PPA and use apt-get to stay up to date. If you want to use 2.1 beta on a GNU/Linux distribution other than Ubuntu, you can compile it from source code.

Here is a quick summary of what is new in Mixxx 2.1:
* Graphical interface scales for high resolution screens
* Overhauled Deere and LateNight skins
* New Tango skin
* Resizable waveforms
* Effects are synchronized to the tempo
* Effects are processed post-fader and post-crossfader and can be previewed in headphones
* One metaknob per effect with customizable parameter control for intuitive use of effect chains
* Nine new effects: Autopan, Biquad Equalizer, Biquad Full Kill Equalizer, Loudness Contour, Metronome, Parametric Equalizer, Phaser, Stereo Balance, Tremolo
* Loaded effects and their parameters are saved and restored when Mixxx restarts
* More transparent sounding equalizers (Biquad Equalizer and Biquad Full Kill Equalizer)
* Improved scratching sounds with jog wheels, vinyl control, and dragging waveforms with the mouse
* Simplified looping and beatjump controls
* Configurable rows of 8 samplers with up to 8 rows available for a total of 64 samplers
* Files loaded to samplers are reloaded when Mixxx restarts
* Improved volume normalization algorithm (EBU-R 128)
* Filter library table by crates
* Sort musical keys in library table by circle of fifths
* Write metadata tags back to audio files
* New JavaScript library for controller mapping
* Configure multiple Internet broadcasting stations and use multiple stations at the same time
* Broadcast and record microphones with direct monitoring and latency compensation
* Broadcast and record from an external mixer
* Booth output with independent gain knob for using sound cards with 6 output channels without an external mixer
* Prevent screensaver from starting while Mixxx is running
* CUP (Cue And Play) cue button mode
* Time remaining and time elapsed now take into account the tempo fader
* Clicking cover art now shows it full size in a separate window
* and of course, lots and lots of bug fixes.

For the whole thing, go check it out here.

Let’s just underline this for you — Mixxx is fully featured DJ software for Mac, Windows, and Linux. It has a full effects engine, controller mapping, and DVS support. And it is completely free.

This is what happens when a group of like-minded people come together to build not only a decent product, but also a strong community who just get what the Mixxx guys are trying to achieve. There was a time when I urged them to think about monetising the project in some way. But in a world of large commercial outfits already extracting money from DJs, we need the little guys doing their own thing. I’m glad that they stuck to their guns, and steadily beaver away at making Mixxx better with every release.

open source DJ software Mixxx 2.1

What I do like about Mixxx is that they’re not restricted by the worry of revenue generation to keep it alive. This gives them the freedom to think a little outside of the established norms in other DJ software. Real innovation happens in projects like this. Granted, it’s not as pretty or polished as the ones that you pay for, but there’s definitely some very neat tricks in there.

Mixxx v2.1 has hit public beta for Mac, Windows, and Linux — download installers here. As a guide, the latest Mac beta (which I suspect are early betas) has crashed for me while analysing tracks, so don’t go using it where your career depends on it.

That said, bloody good work Mixxx people.

The Old Owner
    1. Have you tried this beta release? We have put a huge amount of work into redesigning the default Deere skin as well as the new Tango skin since the 2.0 release. Give them a try and let us know what you think. If you have specific suggestions for how to improve them, we’re definitely open to hearing that (or better yet, if you want to design it yourself, that’d be great ;) ). That said, I’m not quite satisfied with the colors of the knobs and faders in the Deere skin right now, so I’ll be working on that again in the coming weeks. The other skins are being actively worked on and you can follow and join
      the discussions on GitHub ( https://github.com/mixxxdj/mixxx/pulls ).

    2. Also a Mixxx dev and biased ;) I agree, the look and feel of Mixxx was awful some years ago. But that has changed a lot starting with at least version 2.0 and especially now with 2.1 just around the corner. My personal favourite is the default skin Deere, which is IMHO both visually appealing and highly functional. Some skilled designers are still working hard on improving the other skins, so expect further improvements until the final release.

  1. Mixxx developer here, thanks for the shout out! Indeed, some of us are motivated to work on Mixxx because the proprietary alternatives are not good enough for us and we don’t have the freedom to fix them. With this release we’ve implemented a few unique features that you can’t find in any other DJ equipment.

    For example, with Mixxx 2.1’s effects system, there is no trade off between postfader and prefader effects. Effects are processed postfader for the master output, so you can slam down the volume fader (or crossfader) and hear a smooth echo or reverb tail. Because the signal is just a bunch of numbers in a computer, we copy it to process effects in parallel for the prefader headphones signal when a deck is assigned to headphones and an effect unit. There is no option to toggle between prefader and postfader, it just works for both use cases all the time. You can also preview an effect in headphones on a deck that is already playing by assigning the deck to headphones and clicking the headphone button on the effect unit too. The parallel prefader and postfader processing was enormously complicated to implement and would be impossible to do with analog hardware without having duplicate hardware hardware for every effect. I’m doubtful NI, Serato, or Pioneer will think it’s in their business interest to spend resources to improve their effects systems to do this when their effects systems are already good enough to sell products.

    There’s also no trade off between group and single effects modes. Mixxx’s effects units are always in chains. What you can switch between is seeing one knob, which we call the metaknob, for every effect in the chain, and showing all the knobs for the parameters of every effect in the chain. We have future plans to take this even further so you’ll be able to save custom effect chains and quickly reload them during a set.

    Another unique new feature is the ability to use direct monitoring with a microphone input and have the recording be compensated for latency like a DAW so the signals are time aligned automatically. This can also be used with Mixxx’s Internet radio broadcasting function. As far as I can tell, Mixxx is the only Internet radio broadcasting software that can do this. Other software requires using an external mixer and running its output back to the computer. That can work, but it decreases the sound quality with unnecessary digital-to-analog and analog-to-digital conversion (unless you use a digital mixer with a built in multichannel USB sound card, but those are much more expensive than a decent sound card with direct monitoring).

  2. Like I said YEARS ago when DJDECKS.BE was alive before Virtual dj bought them out and instantly became a serious contender with Virtual dj 8. The realistic skratching on vinyl low latency every DVS brand has been mastered now, old stuff.

    THE holy grail for DVS is like Serato instant doubles (Virtual dj calls it “clone deck”) Where you have 2 copies of one track on each deck for juggling with no sticker drift. (Chasing is easy, but advanced juggling where you keep hitting the same spot/pattern like Dj Total Eclipse/Dj Supreme/Dj Vekked) even myself is what separates the shit from the pros.

    Cheaper DVS programs have sticker drift on doubles this is a known fact why most turntablists use SERATO

    Here are some youtube video examples,
    dj supreme
    https://www.youtube.com/watch?v=AbNL_2h8Zlo

    dj total eclipse (check from 6:48 on video)
    https://www.youtube.com/watch?v=D6fsiUx8Pus

    me (sorry I used real vinyl,just an example so you can get the point)
    https://www.youtube.com/watch?v=Vo39ZpOYPfY

    This is the main reason why SERATO is king on commercial DVS (Virtual Dj 8 “clone deck” is pretty good)

    THE one good thing about MIXXX.org is that they can download on Android /Ubuntu no commercial brand does

    1. Thanks for the feedback. Could you describe in more detail is needed for a good instant doubles feature? Is it just loading the track from one deck into another and seeking the new deck to the exact same play position as the old deck? Or is there something else required? How should it be triggered? By a button on the new deck, or a button on the old deck? Does that distinction matter much?

      1. The skratching is fine. I really want MIXXX.ORG to kick all other DVS ass because it is free. Look at how SERATO utilizes a “sticker lock” feature. Nobody does that better than them (others are close but not quite)

        Basically like it says instant clone of the first deck like real vinyl with 2 stickers marks on the exact same spot just like it is burned on the vinyl. The main deck song is first playing then you hit a button then exact copy on opposite deck.

        You guys SERIOUSLY need to see how Virtualdj 8 does its midi mapping so simple and easy,even Traktor can’t fuck with them.

        Virtual dj 8 has a menu setting called “controller” where you can do “custom mapping” very easy. you select from a list of features and map a key from keyboard to match it,then press the floppy disk icon on the top right hand corner to save it,simple,no stupid complex time wasting bullshit

        You can map any feature/command to any button on a keyboard (the way it should be done ). YOU guys need to get Virtualdj 8 pro edition for Vinyl DVS and Serato dj for DVS vinyl and learn.

        Seriously you guys at MIXXX.org are in a unique position to smash open this DVS market if you listen to this advice,trust me and make custom skins downloadable,just like virtual dj 8 . You want to be the best, you learn from the best until you can beat them. Forget the fancy frills and master the basics

    2. I can be wrong but since Mixxx dvs part is based in xwax library there is a point they can’t reach without improving the DSP part of that library (and it’s functions uptodate). I say that based in my experience talking with Ms. Pinky dev and how Torq improve the sticker drift and sticker burn (when the first rounds of a vinyl get burnt by use) includding the fact where a vinyl is concentric and so…
      Serato uses NoiseMap technology which is different to others timecodes (I’m not sure but something tell me it’s like grey code encoder concept made noise) which gives them accurate vector position (almost until they fall in the error for more Hz competition by NI and force users to buy new control vinyls and higher resolution audio interfaces to manage the extra resolution and the extra bandwith for scratching calculation).

      I suggest time ago to Scott the possibility to open source the Ms.Pinky library and probably Mixxx could be one of its benefited but since the lawsuit with N2IT/Torq (which has licensed the technolgy from Ms.Pinky) I don’t know how it feels about.
      Note aside, now that Max8 is includded by defacto inside Live10 there is an opportunity for smart coder to implement true scratching inside Live. Lot’s of people approached me in the past or have been reached by me. Others just read my words and stole the idea without give thanks (but usually discussing them as silly).
      Well I just don’t care anymore. If someone wants to make it happen here am I. I left da game but time to time I still want to see it happen…

      1. I don’t know brother,but SERATO is the only software that has the sticker drift right. Virtual dj 8 has it too,but SERATO is really untouchable, that is why I showed the videos.I never tried Ms Pinky yet,but like I said , if mixxx.org can do what I listed and still be open source, I will easily dump every else

        1. It’s what I said. Serato has different timecoded signal approach (called noisemap) which (almost the og version) was the most accurate to turntablism in the terms turntablist needs. Idk if going up with Hertz war started by NI (“the twice resolution of our competency” ad and that crap) has influenced in their accuracy but for sure influenced in requeriments (twice resolution almost in audio interfaces, twice memory blocs, twice cpu requeriments…) but not sure about half latency U know wanna I mean?
          So not sure about how well DSP coded is Xwax and its limitations. Ms. Pinky was in the middle 1.3Hz and very high timestamp signal (if I remember well) to have good performance on slow motion and scratching (maybe not better than Serato IDK) but almost not special audio interface (or dongle) required and compatible (built in) Max. Also DSP coder rear her (like Serato) but maybe not in the Xwax case…
          That techie talk aside, Torq implemented some neat workarounds to control sticker drift from Ms. Pinky and cue burn from use.
          Those could be implemented into mixxx and improve the overall experience since these are only maths to calculate better the absolute position by counting ticks per round (setting up) alongside the absolute position reading which could (doing miss and try) match the position better each round so sticker drift improves itself the most you use the function.
          Cue burn is another math trick to move the 00:00:00 timecoded position to few rounds in the vinyl and avoid the burn of physical medium for the regular use of cue drop zumzuzuzmzumchakpupumchak! day after day…
          then from Torq2 mixxx can extract controller scripts (includding NS7) etc etc etc…

          1. xwax is free software just like Mixxx, so improving xwax is definitely something that could be done. Even if you don’t program, if you can identify specific issues that could be improved with Mixxx’s handling of timecode, that would be really helpful. Please report bugs on our tracker ( https://bugs.launchpad.net/mixxx/ ) and hopefully someone will be able to come up with a fix.

            1. It’s not only about pointing (more than fixing since I’m not a coder by far) improvements…
              The point itself is, maybe since I’m just speculating without all the info in my hand, that Xwax library/Api should be improved as code itself (adding maybe some DSP coding which is on hand of… DSP coders not only C++ coders or oriented code coders…)
              Maybe there is/are a coder/s in the mixxx team cappable of that so I will take a look but maybe someone could give them a call…

  3. Would try it if my NS7II would be supported and mapped as in Serato
    Serato does NOT listens to their users (worst thing… iTunes rating is asked about a decade ago…..)

    1. The NS7II may be tricky because it is not a USB MIDI class compliant controller. I’m not sure how it communicates with Serato. I think it uses some nonstandard extensions to the MIDI protocol. Mixxx might be able to work with it as is, but it may require some special quirks inside Mixxx. It’s hard to tell without having an NS7II myself. If you want it to work with Mixxx, you’ll need to map it yourself (probably not so easy for such a complex controller) or tell Numark that you want their hardware to work with Mixxx and maybe they’ll commit some resources to it in the future.

      The NS7III is USB MIDI and audio class compliant though, so it could work with Mixxx. As for the screens on the NS7III, Mixxx currently does not have support for screens on controllers.

      Mixxx does have two keylock algorithms. The default one, Rubberband, sounds quite good but it is relatively CPU intensive. The alternative one, Soundtouch, requires less CPU but does not sound as good. You can switch between them in Options -> Preferences -> Sound Hardware. How do you think they sound compared to Pitch ‘n’ Time?

      1. As I know the moving platter uses the same stuff from NS7 I to III.
        Will give a try for shure (once I have some time to un-dust my gear and hook it up)

        1. I don’t think there are any Mixxx mappings for moving platter controllers. I’m not certain Mixxx’s jog wheel handling has everything required to properly support moving platter controllers, so it may take work on the mapping system as well as a new mapping. If there are issues with mapping moving platters, please let us know. I personally would love to have Mixxx working well with the new Rane Twelve controller (and Rane, if you’re reading this, please get in touch ;) ).

            1. Also getting the Torq 2.0 resources and reverse engineering them it could benefeit the Mixxx project. These were includded even in the free trial download version and were javascript (if I remember well) more or less like vdj8.
              There are other great ideas that get buried in time due it’s death but it was ahead of it’s time…

              1. That’s an interesting idea, but I doubt it would be very useful. From a quick Google search I can’t find any information about Torq using JavaScript. Even if it did, that probably wouldn’t be very helpful to look at because the APIs for interacting with Torq would be completely different from Mixxx’s APIs.

  4. Can anyone confirm or deny (I looked through documentation and forum, to no avail):
    Does Mixx support:

    – custom metadata fields across multiple formats reliably ? I primarily care about mp3 (legacy…) & flac, where I maintain a fair few custom tags (energy, mood, situation, instruments, instrumental, etc pp), yet all of the big 3 (Serato/Traktor/Rekordbox) fail on supporting the standard conventions for this that have been well established for years now…

    – multi value metadata across multiple formats reliably ? i.e. multiple genres in genre field (which then correctly show in each genre folder/filter), multiple values in custom fields (i.e. the aforementioned “instruments” field… which enables me to find all tracks with a Theremin, or a 303, or a Sitar, or else….).

    – if not – are there plans to do so ?

    1. Mixxx uses TagLib and tries to follow the official tagging standards and the MusicBrainz recommendations
      for tag mappings closely: https://picard.musicbrainz.org/docs/mappings/. We’ve put a lot of effort to get this right in
      both directions, i.e. importing/exporting of tags from/into files. If you find any mistakes or unexpected results, please let us know!

      Adding more tags from the informal MusicBrainz standard like Mood or MusicBrainz IDs is planned. For other tags like Energy there is no agreed upon and portable standard. Even such “simple” things like Rating is difficult to implement, if you want to provide a solution that doesn’t introduce conflicts or unexpected side-effects with other software. Adding support for any kind of custom tags and more advanced use cases is also on my personal wishlist: https://bugs.launchpad.net/mixxx/+bug/1741147

      Multi-valued tags are currently not supported, Mixxx only reads the first (non-empty) value and writes a single value. Supporting multiple values per field would require major changes in the way metadata is handled in all areas, i.e. ui, database, and import/export.

      Features that seem to be easy and straightforward to implement first are hard to get right, if you are aiming to provide a safe and portable solution that suits everyone. Please join the discussions if you have some ideas or help us with the development.

      1. Thanks a ton for the in-depth reply!
        I know this is not a trivial issue… and I have been waiting for years for any DJ app (that supports the hardware I need) to do this properly… so far no dice… :/

        As for taglib & picard/musicbrainz – that’s good news ! :D
        As both picard & tagLib both support multi-value metadata out of the box. With the later I wasn’t sure, but the only things I could find where 2 issues on github when multi-value field queries returned unexpected data for a few specific formats, from 2013 & 2015 respectively:
        https://github.com/taglib/taglib/issues/162
        https://github.com/taglib/taglib/issues/539
        so that leads me to believe this is fully functional otherwise.
        So I’ll keep an eye out on what Mixx does over the next months/years on this, especially if they were to fully implement picard fully, which I think is a great idea, this would require multi-value data capabilities…

        1. We have some workarounds around TagLib in place and use the specialized APIs for various tag formats (ID3v2, VorbisComment, APEv2, MP4). We only rely on the single-valued common functionality as a fallback.

          Reading and writing multi-valued fields is not an issue, we already use this functionality internally although we only choose a single value from a list of values while reading. The challenge is storing those fields efficiently in a relational database (SQLite in our case) as well as managing, and presenting them appropriately.

          Our main issue tracker is still Launchpad. We are currently discussing some alternatives, but no decisions have been made so far.

  5. I used mixxx some years ago between my virtual Dj, Traktor and Djay phases. I am a Serato user now, but will download the beta and try it. Question, how does stability stand up which is always my major fear (I run a 2011 MacBook Pro). Serato has only frozen on me twice in the last five years, but both times have been heart stopping. Anyone have a perspective with Mixxx?

  6. Something which caught my attention is the sampler which seems (hopefully) a remix deck section.
    Could it be? With timecode control like Traktor? And quantized launch?
    If yes, then I’m in.

    1. Unfortunately no. The samplers in Mixxx are essentially a bunch of independent decks without all the controls of normal decks displayed on screen. Something like Traktor’s remix decks would be awesome, but it would be a huge amount of work to implement, so don’t count on that happening anytime soon.

        1. No, there is currently no vinyl control for samplers in Mixxx. I’d love something like Traktor’s remix decks in Mixxx, but right now that seems like a pretty distant future dream.

  7. This will run on Linux? I’m guessing the inner brains of the MCX8000 (and thus the steaming pile known as “Engine”) do as well. Could this (or a scaled-down version) be uploaded into the 8000’s onboard memory to run the unit in standalone mode? I can’t tear mine apart but would be interested to know.

    1. Yes, Mixxx runs on GNU/Linux. I don’t know whether the MCX8000 could run Mixxx, but it would be possible to map the MCX8000 to Mixxx running on a laptop. Someone on the Mixxx forum has said that they have already mostly mapped it.

  8. In Linux work perfect,… if you don’t chage the skin, using the minimalist, (8MB Ram-i5-solid hard disk-Ubuntu studio)
    In windows 10 Pro I can installa for first time but when I restart again not work any more
    The problem began in windows when install the dll mp3
    Some advices wellcomed

  9. We have a release candidate for 2.1! Download it here. Unless any serious bugs are reported, we will make the final 2.1 release in a week. Since the announcement of 2.1 beta, we have not added new features but have fixed lots of bugs and polished the skins more. We have added or updated controller mappings for:

    Allen & Heath Xone K2/K1
    Behringer CMD MM1
    Denon MC6000 Mk2
    Hercules DJ Console 4-Mx
    Korg KAOSS DJ
    Native Instruments Traktor Kontrol S4 Mk2
    Novation Launchpad Mk1 & Mk2