key review info
- Application: Mixxx 1.4.2
- Reviewed on:
- Beat estimation
- (5 more, see all...)
Before I begin presenting Mixxx it is very important to know something about what makes advanced music software products possible in Linux: JACK. It is a low-latency audio server that can run on almost everything based on UNIX. It can connect a number of different applications to an audio device, as well as allowing them to share audio between themselves. JACK was designed from the grounds up for professional audio work, and its design focuses on two key areas: synchronous execution of all clients, and low latency operation. It is a must when you use advanced audio applications in Linux. I also suggest that you use a frontend like qjackctl.
Mixxx might be the best DJ software for Linux. The subject is open for discussion however, because of another software product, Ultramixer 2.
Mixxx is designed for semi-professional and beginner users, but not for professionals. Professional needs are not satisfied by this software. But hey, it is Linux what are we talking about here, not Pioneer's CDJ-1000.
Mixxx gives you the option to configure the sound quality and the latency. The lower the latency, the higher the sound quality is and more processing power is needed. If you use JACK, it is important to know that the latency is now controlled by it. To achieve a low latency you must run it with root privileges. Other sound APIs are supported as well, such as ALSA and OSS. OSS is very stable and it is very likely that is will work in any situation. The turnover is that it has lower performances than ALSA. Unfortunately, the support for ALSA is preliminary, has to be enabled at compile time and you have to make a special device that it can use. I would go for JACK. Don't forget to check it out!
In the GUI tab, there are several useful thins to set. You can control how much pitch shifting is allowed with the rate slider. Furthermore, you can control the increment in speed by the temporary and permanent pitch buttons. A very useful thing in some cases (depends on the music you are mixing) is that you can set Mixxx to display an average BPM (beat per minute) or the instant BPM of the track.
Mixxx can also be used as a desktop media player when coupled with Prokyon3. In Mixxx you can select as input device a joystick, two mice and also other hardware. I hope that in the future there will be support for some DJ Consoles, like the very popular Hercules DJ Console.
DJ'ing with Mixxx
In Mixxx you can have several playlists to organize your tracks and I find the playlist manager very useful. Playlists can be easily created with drag and drop or can be imported using the common .pls format. If you don't feel like spending time to create playlists, you can just browse the hard disk in a tree view and select the content from your music directory. A nice feature of Mixxx is that it supports MP3, Ogg Vorbis, Wave and Aiff. Unfortunately I didn't manage to play a WMA file.
To the right of the tree view is the tracklist. I like that the vertical bar separating them can be moved so you have more room for the one you require. I also like that comments can be added for each track in the playlist. I use it to set some hints about songs or to store cue points because Mixxx doesn't keep them in memory. The bitrate is displayed for each track and after it was played once, also the BPM. I like this a lot, because BPM is a must in any DJ'ing application.
Loading a track in the player can be done with drag and drop or by right clicking and selecting the player you want. Each player has several playback modes that can be controlled from a widget located near the position bar. After the song reaches the end it will either stop, load the next song from the playlist or loop the current one.
You can setup a cue point by right clicking the play button. To go to that cue point, just click the cue button. Fortunately, Mixxx has several shortcuts that make it possible to create really good mixes: set cue is SHIFT+D (SHIFT+K) and go to cue is F (L). There are two shortcuts, one for each of the two decks.
Mixxx has the ability to play music backwards. This is a very neat feature and not so common for software applications. Very common are the adjustments for pitch and tempo. In Mixxx it is nice that you can do very fine adjustments when you operate them with right click. Pitch and Tempo also have shortcuts (F1 F8).
The only application for DJ'ing I've ever seen in Linux to have a waveform display is Mixxx. And the very cool thing is that is not just a display. When you are in playback mode and drag the waveform either forward or backwards the tempo changes temporary. Unfortunately it doesn't perform quite well and can't be really used in live mixing. When the music is stopped the dragging of the waveform is faster and allows better searching through a track. Right clicking the waveform displays a zoomed view which is allows precise positioning of the cue point. An automatic beat estimation is performed during the playback and displayed in the waveform view in a very practical manner. This waveform display is wonderful. Mixxx can also help you by providing a Sync button that does the automatic beat matching.
As I said before Mixxx estimates the BPM and also provides a hint about how much this estimation can be trusted. If the BPM background color is an intense green then the value can be trusted. If it is a dim green, then you might want to keep an eye on the waveform display.
Mixx has built in an adjustable flanger effect. It will make me very happy if a future version of the program has much more effects.
Mixxx also has three knobs to control the low, medium and high frequencies. Even though they can be adjusted using the mouse and then reset to the default value with a right click, very practical shortcuts to kill them are implemented on the numpad. Keep in mind that you will use the numpad a lot because shortcuts for sync and flanger are also there. We like shortcuts, and fortunately they can be easily changed editing a file. It is located at /usr/share/mixxx/keyboard/Standard.kbd.cfg
Mixxx has a great waveform display, BPM matching, a nice and intuitive interface and also the feature that guesses how trustworthy is the detected BPM.
I don't like that I have only the flanger as a sound effect, that scratching is impossible and that there aren't too many skins for it.
Even though Mixxx is wonderful I don't think its there yet. It's one of the best, but in the Linux world there aren't too many similar applications. Hopefully, the forthcoming Mixxx 2.0 will be an even better product. They say that Mixxx 2.0 is going to bring some major new features, including waveform summary displays, new sound effects, and support for pitch independent time stretch.