Mixxx: GPL DJ Software - https://news.ycombinator.com/item?id=42769871 - Jan 2025 (133 comments)
Mixxx, a free and open source DJ software - https://news.ycombinator.com/item?id=31731814 - June 2022 (14 comments)
Open source digital DJ: Integrating Airtime and Mixxx - https://news.ycombinator.com/item?id=2580273 - May 2011 (4 comments)
The number one most important skill is to pick the right music in the right moment. Period. Online many people will tell you about beatmatching, transitions, the best gear and all that, and sure, it is good if you can do that or buy that. But better a DJ who picks good music with crude transitions than one who picks boring music with stellar transitions. My digital sets I do with my laptop, Mixxx and an audio interface, no controller, just keyboard shortcuts.
Even if you just crudly made hard cut-transitions and don't match beats you can still give people a great evening if your music selection and the order in which you present it is good. I once had people partying till early morning with my phone (android/poweramp) as a source, as it wasn't a planned gig.
That means you (should) invest significant time in listening and sorting your music and have an clear idea which types of DJ set you like. A lot of this will depend on the style(s) of music as well. Putting on dub is very different from straight techno which is very different from let's say playing an 80s post punk set or something entirely eclectic. And a lot of that depends on the venue, the crowd etc. A good DJ will react to the circumstances around them.
As for Mixxx, most of the metaphors and parts of the UI in DJ software is derived from vinyl DJing. A crate would be a literal crate filled with vinyls. Since vinyl is heavy as shit, bringing all your music was/is not an option and DJs packed literal crates, for a specific gig, etc. The two Decks on Mixxx are refering to the record players (typically two "Decks") you would have with vinyl. In the middle you have a mixer section, just like the mixer between the two record players.
Your task is (a bit simplified): selecting a song, playing it, selecting another song and then transitioning to that song ad infinitum. So you load up a song in the left deck hit play and have it play and you move the crossfader to the left so only the left deck can be heard. You then search for the next track while the song is playing and load it up on the right deck. Mixers typically have a PFL button (pre fader listen) that allow you to "privately" listen to channels even if their volume fader (or the crossfader) is turned down (this is why DJs have headphones). You basically listen with one ear to the the thing the audience hears and with the other to the next song.
Now the song on the left deck is nearing its end and you have another song on the right deck, you try to make the two align in time, tempo, frequency, pitch in such a way that the transition sounds good and then you use the crossfader to blend over. Or you could just wait for song A to finish and then hit play on song B if you don't care too much about the transition. Or you could mix only the bass from song A with the hihats from song B, add effects, shout something into the mic and then play a song from a third deck, while all while listening to song requests.
For the tempo matching Mixxx has a button that does that for you on each deck, not like if you DJ with vinyl where you have to do that by ear. The mixer has an EQ (changing the level of Bass/Mids/Highs at fixed frequencies) and a Filter (cutting away high and low frequencies with variable frequency, allowing you to avoid situations where two basslines/hihats are playing at once during a transition.
You can go arbitrarily complex, but as mentioned at the beginning, music selection and situational awareness is king, everything else is just details as long as you don't make jarring mistakes with jumps in level or prolonged gaps of silence etc.
I've been using it lately (2.x) just mixing internally and with cue points set up in my tracks, and using the laptop keyboard for shortcuts. Works really well. For the occasional xfade etc I do have an external MIDI controller mapped to the xfade, levels, and eq but could get away without it for my style of mixing.
Been DJing off and on for 25y and producing electronic music for 30y.
May not have been what you meant, but I wanted to clarify for others reading this comment: 3.0 is quite a ways off.
1. better readability in the tables: good and probaly themable
2. tiny waveforms in the table: very cool, allows you to quickly judge the structure and sonic qualities of a track without listening! A real time-saver in a live situation
3. Library overhaul: the left pane always felt a little clunky: can't say much from the sceeenshots, but doesn't look bad
4. Tooltip: better than the old ones for sure
5. Enhanced support for lightweight plattforms: cool, not gonna use it, but hey
6. better search: This is a big one. Search always felt a bit unfinished. It worked, but sometimes find a song you knew existed was faster using the browser..
7. Interactive Settings: nice one as well. The settings were probably the least polished part of Mixxx, this increases the speed once more.
This was my great introduction to why I will never be a great developer, and why open source will never be on par with paid professional software. I admire their efforts, but mixxx will always be a hobby project in my eyes.
1. Tell them to fuck off, which may or may not work in any given context
2. Play the music in the browser and then hop back to Mixxx in time (dangerous)
3. Downloading the song via 'yt-dlp -x --audio-format mp3 --audio-quality 0 <URL>', fixing the questionable metadata (optional) and then loading it into Mixxx (cumbersome)
It would be cool if you could just paste the URL into Mixxx, have it cache a local version, render the waveform, store it in a special temp crate or what and then you can play it. But I guess yt-dlp isn't the most stable dependency...
The gold standard for that though seems to be VirtualDJ.
weinzierl•17h ago
That being said the following sentence makes me a bit concerned "The current user interface of Mixxx has served us well, but as technology evolves, so must we."
As far as I know QWidget is neither deprecated nor are there any plans for that. I think Mixxx has one of the best UI's I ever encountered, in design and execution. Please don't botch this.
teruakohatu•17h ago
weinzierl•16h ago
I also like the BPM and key display.
[1] In my case just my current mood
herbst•17h ago
__jonas•16h ago
crtasm•15h ago
Mixxx doesn't do any of that and it's absolutely powerful enough to use for DJ sets.
herbst•6h ago
The hardware limitations are crazy and weird, especially when you realize that parts of the limits are purely trough the visualisation. But when you have a supported device the performance is amazing even on older hardware. (I run it on a Wyse 5070)
Like all non free (or any software) it's a double sided sword. However it's one of the few industries where the monopoly software is actually not bad at all and doesn't force you into monthly payments when you buy their devices (which is basically industrie standard anyway, and not actually that much more expensive).
ahartmetz•17h ago
Mixxx might not have that problem, not sure. The waveform view is presumably custom painted, but shouldn't be too difficult. There may or may not be others.
SamWhited•1h ago
sugarpimpdorsey•13h ago
Not crashing during playback.
But hey why refine and fix bugs when you can constantly iterate on new features no one asked for (sadly this applies to most open source software).
weinzierl•8h ago
I used to use mpd for a while which automatically continues playing where it left off after a reboot.
What I learned from that phase is that the music I enjoy in the evening is rarely the same I like blasted in my ears mid-song at full volume in the morning. Terribly annoying feature, will not use again.
atoav•6h ago
I had some UI annoyances, so I support the effort and trust the devs to make the right choice. Otherwise I can still just run the old version till 3.x turns stable.
SamWhited•1h ago