Plaatjes draaien: de magie van het laten horen van je favoriete deuntjes aan een uitzinnig publiek, uitgegroeid tot één van de meest aanbeden beroepsgroepen met een superhelden status. Wie wil er niet stiekem eens in de (dans)schoenen van een DJ staan? Ik in ieder geval wel! Daarom hoefde ik niet lang na te denken toen ik een paar jaar geleden een oude harddisk kon ruilen voor een heuse DJ2Go DJ controller, waarmee mijn avontuur met het onderwerp van dit artikel begon.

Auteur: Martin van Es

DJ2Go, een van de kleinste DJ controllers

 

Hardware

Met alleen een controller kom je niet ver, maar ik wilde niet mijn dagelijkse laptop opgeven als potentiële biermagneet. Als ik een laptop toe zou wijden aan deze hobby moest die degelijk, robuust en oud zijn. En toevallig lag er ergens in een hoekje nog een oude, afgeschreven Dell Vostro 1400 met een 2Ghz Core2Duo processor. Wie wat bewaart, die heeft wat.

De goden waren mij gunstig gezind, want niet alleen had ik de perfecte DJ laptop gevonden, maar om een voor mij onverklaarbare reden had Dell deze laptop ook uitgerust met een ingebouwde dubbele 2-kanaals geluidskaart. Geen idee wie daar op zit te wachten, maar als DJ laptop is het de ideale configuratie voor een stereo koptelefoon plus stereo master output. Uiteraard is dit ook op te lossen met een extra USB geluidskaartje, die voor een prikkie te koop zijn, maar op deze manier was ik sneller klaar en had ik geen externe afhankelijkheden, waarmee de configuratie aan robuustheid won.

Wie wat bewaart, die heeft wat!

 

Tenslotte bleef de vraag over: welke software te gebruiken? Controllers als de DJ2Go werden origineel met bijbehorende (Windows) software geleverd en er zijn legio commerciële varianten te koop. Omdat ik benieuwd was naar de open source mogelijkheden, kwam ik al snel uit op Mixxx. Mixxx is er overigens niet alleen voor Linux, want er is ook een Windows en Mac versie beschikbaar!

Mixxx installatie en voorbereidingen

Installatie van Mixxx is onder Ubuntu een peulenschil. Met sudo apt install mixxx ben je al klaar. Je hebt dan echter nog geen geoptimaliseerd systeem. Omdat Mixxx een tijd-kritische applicatie is, is het verstandig om over te stappen op de low latency kernel. Mixxx maakt onder de juiste omstandigheden gebruik van de real time priority scheduler. Installeer daarvoor ook de packages linux-lowlatency, rtkit en rtirq-init. Herstart je systeem en houd de Control-toets ingedrukt. Grub zal nu tijdens het booten een menu tonen, waarin je voor de low latency kernel kunt kiezen.

Testen van de configuratie

Om er zeker van te zijn dat je de low latency kernel draait voer je uname -a uit in een terminal. De uitvoer geeft je de naam van de huidige kernel en daarin moet de term low-latency voorkomen.

Om er achter te komen of rtirq-init zijn werk gedaan heeft, kun je /etc/init.d/rtirq status uitvoeren. In de uitvoer zie je alle processen en hun prioriteit. Als het goed is, heeft het audio device (snd) de hoogste prioriteit gekregen. Ook als dit allemaal niet meteen werkt, kun je Mixxx opstarten.

Tijdens de eerste start vraagt Mixxx om de locatie van je muziekverzameling. Kies hierbij strategisch, want misschien wil je alleen met een deel van je verzameling experimenteren, omdat niet alle muziek zich goed leent voor het DJ’en. In dat geval kun je het best een lege directory kiezen en zorg je er naderhand voor dat hier de meest geschikte tracks terecht komen. Dat scheelt weer vervuiling in het Mixxx interface later.

Zoek in het menu naar Preferences en selecteer Sound Hardware.

De geluidskaart-instellingen van Mixxx

 

Scroll helemaal naar beneden en bekijk de Hints en Diagnostics. Als Mixxx zegt nog geen gebruik te maken van real time priorities kun je op https://mixxx.org/wiki/doku.php/adjusting_audio_latency verder lezen wat je daar aan kunt doen. Als het goed is, wordt onder Controllers je controller herkend en is deze beschikbaar om te configureren.

Configuratie van de DJ controller

 

Klik op de naam van de controller en kies naast Load Preset voor de configuratie van je aangesloten controller. Als deze niet beschikbaar is, is er mogelijk een niet-officiële configuratie in het forum van Mixxx te vinden. In het geval van de DJ2Go kon ik gelukkig beginnen met een ondersteunde preset. Na het kiezen van deze preset worden de benodigde bestanden gekopieerd naar .mixxx/controllers in je home directory. Mochten er later aanpassingen nodig zijn, dan overschrijf je in elk geval niet de systeem presets.

Afstemmen van de Mixxx settings op je hardware

In de screenshots heb ik gekozen voor de Tango skin, omdat ik die net iets cleaner vind dan de standaard geselecteerde Deere. Hou daar rekening mee als ik verwijs naar de verschillende locaties in het scherm.

Het hoofdscherm van Mixxx met de Tango skin

 

Omdat mijn Core2Duo uit de prehistorie komt, moet ik Mixxx een klein beetje indammen. Hiervoor houd ik tijdens het finetunen nauwkeurig de Audio Latency Usage meter onder de klok rechtsboven in de gaten. Het blijkt dat de processor moeite heeft met de Rubberband KeyLock/PitchBending engine en dus schakel ik terug naar Soundtouch in de Sound Hardware preferences. Het voordeel is dat ik nu ruimte heb om op 48kHz te re-samplen en de audiobuffer op een minimale 1.33ms te zetten. Dit laatste heeft invloed op de reactiesnelheid van Mixxx op de bediening. Als ik deze instellingen kies, blijft de Audio Latency Usage meter keurig in het groen en hoef ik niet bang te zijn voor storende clicks of haperingen door onder presterende hardware.

Om gebruik te maken van de 4-kanaals geluidskaart kies ik tenslotte onder Sound Hardware Channels 1-2 van mijn geluidskaart als Master en Channels 3-4 voor de Headphones.

Muziekverzameling

Na het importeren van je muziekverzameling zijn de tracks te vinden in de muziekstructuur aan de linkerkant. Als je op zoek bent naar rechtenvrije tracks, kun je op www.jamendo.com naar hartenlust muziek downloaden en gebruiken om te oefenen.

In Tracks vind je alle gevonden en ondersteunde muziekbestanden. Onder Auto DJ verzamel je muziek en koppel je crates voor de Auto DJ functionaliteit. Playlists zijn voorbereide lijsten van tracks voor een set. Crates is het digitale equivalent van gesorteerde kratten met platen. Computer is de ingang naar het filesystem op je computer en in Recording komen je opnames terecht. Analyze, tot slot, is een overzicht van alle tracks, die nog niet geanalyseerd zijn door Mixxx (op BPM en toonsoort). Analyseer je tracks vooraf. Analyse is CPU intensief en kan tijdens een optreden voor hick-ups zorgen.

Een typische set

Laad een track in het linker deck door de track met de muis van je speellijst naar het deck te slepen of op de DJ controller Load A te gebruiken. De wave-form van de track zal geanalyseerd worden en na enkele  seconden staat de track gereed. Mixxx kiest zelf een geschikt CUE point en door op de PLAY-knop van de controller te drukken, start de track vanaf het CUE point. Tot zover het gemakkelijke gedeelte.

Het idee van Mixxx is natuurlijk een heuse DJ set met vloeiende overgangen. Hiervoor kies je eerst het volgende nummer in je set, laad deze in deck B (via de Load B knop van de controller of door de track met je muis in deck B te slepen). Ook deze track zal geanalyseerd en klaargezet worden op het CUE point. Mixxx laat nu van beide tracks de toonsoort en het tempo zien. Met de pitch schuif van de controller kan de track van deck B aangepast worden richting het tempo van deck A, maar je kunt ook Mixxx voor je laten werken. De controller heeft een SYNC knop voor elk deck. Die van deck A synchroniseert het tempo van deck A naar dat van deck B en die van deck B andersom. Die laatste knop hebben we nodig. Track B staat nu scherp en als proef kunnen we de output van track B naar onze koptelefoon sturen door op de controller het koptelefoon knopje in te drukken. Zorg dat de mix-schuif helemaal naar deck A staat, zodat ons experiment niet door de zaal schalt.

Door nu de CUE knop in te drukken en ingedrukt te houden, starten we de track vanaf het CUE point in en zal automatisch terugkeren als we deze loslaten (CUE Mixxx mode). Hiermee testen we de lancering van track B. We kunnen track B ook instarten met de PLAY knop om langere tijd te luisteren hoe de songs het samen doen. Als we nu tijdens het afspelen de CUE knop weer indrukken, stopt de track met spelen en keert het terug naar het CUE point. Stoppen we de track echter eerst en drukken we dan de CUE knop in, dan zal de huidige plek het nieuwe CUE point worden. Op deze manier kun je een paar keer oefenen met instarten of een beter CUE point kiezen, voordat het einde van track A in zicht komt. Als dat eenmaal het geval is, start je track B definitief op. Je kunt dan eventueel nog wat met de jog-dial spelen om de tracks beter synchroon te laten lopen en vervolgens haal je de fader over naar track B. Stop het spelen van track A, laad de volgende song in deck A en het spel kan opnieuw beginnen. Vergeet niet ondertussen het gejuich van je publiek in ontvangst te nemen!

KeyLock en Quantize: een kind kan de was doen

Een van de voordelen van digitaal mixen is dat de computer je het leven een stuk makkelijker kan maken. Dit is voor de fijnproever natuurlijk vloeken in de kerk, maar als hobbyist hoef je daar natuurlijk niet wakker van te liggen. Zo kan Mixxx de toonsoort van een track vasthouden als de pitch fader gebruikt wordt (KeyLock 🎵). Je versnelt of vertraagt de muziek dan wel, maar zonder dat dit in een storende verhoging of verlaging van de toonsoort resulteert. Mixxx kan de Beat-grid, die tijdens analyse automatisch voor je berekend wordt ook “magnetisch” maken (Quantize ). Dat betekent dat alle START en CUE acties automatisch uitgelijnd worden op de maat van de muziek. Voor de beginnende DJ zeker geen overbodige luxe!

Auto DJ

Auto DJ is een functie, die minder om het lijf heeft dan de naam doet vermoeden. Het is net als bij vele andere mediaplayers een manier om gemakkelijk willekeurige tracks vloeiend, met een instelbare overgangstijd in elkaar over te laten lopen. Mixxx zal niet Beat Matchen voor je, maar vanaf een instelbare tijd voor het einde van een track (standaard 30 seconden) de volgende track starten en langzaam infaden. De tracks kunnen met de hand aan de Auto DJ lijst toegevoegd worden of willekeurig gekozen worden uit één van je crates.

Controller functies aanpassen

Omdat de controller niets meer is dan een MIDI apparaat is het mogelijk om de mapping van de MIDI events aan te passen naar je eigen wensen. Onder het tweede tabblad van de controller interface onder preferences bevindt zich de Input Mapping. Hier worden de verschillende MIDI events aan Mixxx functies gekoppeld.

Input Mapping van de controller events

 

In de standaard meegeleverde mapping voor de  DJ2Go wordt de Master volumeknop gekoppeld aan het Master volume van Mixxx middels de “[Master],volume” input binding op MIDI event CC/0x17, via een SoftTakeover. Ik wilde echter proberen een vette Moog Filter aan die knop te koppelen. Daarvoor activeerde ik eerst het Moog Filter effect op de eerste Unit van het eerste FX Rack, door middel van de dropdown, die zichtbaar wordt als je op de eerste lege effect knop klikt. Als de effecten niet zichtbaar zijn, schakel deze dan in door rechtsboven op de FX knop te klikken). Vervolgens kon ik in de Input Mapping de binding “[EffectRack1_EffectUnit1],super1” aan het Master MIDI event CC/0x17 koppelen om deze tijdens het draaien fysiek te kunnen bedienen (vergeet niet het effect in te schakelen door links bovenaan FX1 te activeren en het effect zelf aan te klikken). De exacte syntax van deze controller mappings is te vinden op www.mixxx.org/wiki/doku.php/mixxxcontrols.

Conclusie

Mixxx is een zeer bruikbaar alternatief voor de commerciële of gratis meegeleverde software voor DJ controllers. Voor een carrière als DJ is het voor mij inmiddels te laat, maar plezier heb ik zeker van mijn ruil! De kwaliteiten van Mixxx doen wat mij betreft niet onder voor die van zijn commerciële tegenhangers.