Pioneer DDJ-SR Serato Controller Review

dj controller

I decided to buy the DDJ-SR controller because it was cheaper than even the cheapest pair of Pioneer CDJs. I’m no stranger to using a laptop and controller, before the DDJ-SR I used my trusty Faderfox DJ2 controller, which is a basic no-frills ‘play buttons, 3 EQs, crossfader and volume faders’ unit.

I was considering getting the Native Instruments Traktor S4 DJ controller, which is one of the most popular full-size controllers for Traktor. However, after borrowing one from a friend, I compared the build quality of the DDJ-SR versus the S4, and there was no contest! The Pioneer DDJ-SR has the same buttons and jog wheel as the Pioneer CDJ units, which are rock solid and industry standard. For anyone wanting to use CDJs in the club after using the DDJ-SR at home, you will find the feel very familiar.

I looked at the DDJ-SR’s big brother, the DDJ-SX1. The SX is much bigger in size, and not as portable as the SR. This was a major factor for me, as it’s often difficult enough to find space in the DJ booth, even for a small controller. The DDJ-SX1 (not the newest model which may be out by now) has a pretty similar feature set to the DDJ-SR. There is only one main difference that is significant to me. That being the fact that the SX is a full 4-channel mixer, which can operate without being connected to a computer. But it wasn’t enough to justify the larger footprint and the much increased cost. So I decided to opt for the more portable DDJ-SR.

I tried out the controller at my local music shop, Dawsons (Manchester) . I recommend trying out the controller and also buying locally if you can, because it’s much easier to return a controller to the shop than it is to send it back to an online store, if you are not happy with it. I also believe in supporting your local music stores.

Being used to Traktor, and having used it since 2006, I was initially a bit cautious over switching to Serato. After I played around with it, and for my typical use, there was not a lot in Traktor that I didn’t find equivalents for, in Serato. One thing that was very nice is seeing the waveforms from each deck, and how you can visually ‘sync up’ the starting track with the beats of the one that is already playing. I have been surprised about how useful this is, it really makes beatmatching so easy when you don’t want to use the sync button, which I often don’t.

Pioneer_DDJ-SR

The DDJ-SR comes with 8 pads under each jog wheel. They are very responsive, every bit as responsive as Akai drum pads used for music production. The pad FX definitely expand the creative potential of laptop DJing. The ‘slicer’ is my favourite so far, it cuts the upcoming music into 8 slices. You can choose to play a slice (or beat) out of time with the progression of the track, for example, instead of 1-2-3-4-5-6-7-8 you can opt for 1-2-2-4-5-6-6-8. You can play combination you like, assuming you hit the right pads in time!

The ‘slip’ feature is very nice. When toggled on, the track plays on as you trigger samples and loops. It is as if the track is kept playing in the background while you pick out sections earlier in the track and play samples over the top, and when you have finished, the track snaps back, not to where you left it, but to where it has progressed to. You can use this feature to replace whole loops with other loops in the track and keep the rhythm of the track going. It is really powerful.

There is a four knob ‘FX’ section above each jog wheel. This is used to add FX such as delay, reverb, flanger, and so on. I don’t find myself using this much for my style of DJing. I do wonder how much of the FX and pad hammering you can actually do to a track before you start to annoy your crowd. They are great to use occasionally though.

Overall, I am very happy with my purchase. I had a pair of Pioneer CDJ400s and mixer back in 2009 which had a lot less features and cost over twice the price as this unit, and yet had the same build quality. Even if you ignore the ‘which is better’ argument of digital DJing versus CDJs, if you already have a laptop, this is a great setup for the money.

New Synthesiser Additions: Microbrute, Nord Drum and Access Virus A

I bought some new synths.

Access Virus A

access virus a

This is the original 1998 Access Virus A. It, it was a staple synth for trance and electronic music in general for the early 00s. I am very happy that I managed to get this secondhand for less than a MicroKORG. It cost over £800 when it came out in 1998. Old digital synths seem to be unpopular at the moment, I’ve heard comments along the lines of ‘if it’s digital then I might as well use a plugin in my DAW’. But I think this is ignoring the tactile control surface that you get, and how it gets your head outside the computer and playing an actual physical instrument. The presets are really inspiring, several sounds that you will recognise if you were into electronic music in the 00s. VNV Nation, one of my favourite bands, produced their entire ‘Empires’ album with just the Access Virus A and a couple of samplers.

It has two oscillators which have extra functionality, as you can choose the waveform from a large selection of presampled waveforms, in addition to the usual sawtooth, sine, square. There is also a suboscilator, two filters, each with a ASDTR configurable envelope, the usual ASDTR for the amplifier, and three LFOs. You can choose to map the LFOs to almost anything, allowing a great amount of flexibility. It also has effects – delay and unison, as well as multiple timbers, meaning that you can have up to 12 different patches playing at the same time, each controlled with different MIDI channels. The whole thing is extensively controllable via MIDI also. It is my first polyphonic hardware synthesier, and so has opened up a whole range of new composition possibilities around chords.

Microbrute

microbrute

The Microbrute is fully analogue, and it can produce a good number of sounds through its one oscilator, by allowing you to blend in different quantities of sawtooth, sine and square, along with some extensive extras, such as a metalizer. It has a Steiner Parker filter, a LFO and a step sequencer. You can get more technical details about the Microbrute in Marc Doty’s great series of videos.

It has a hard aggressive character to the sound, especially when used with the ‘brute factor’. I like its sound, but sometimes wish for a little bit more warmth. However you can make all sorts of sounds with it, and I particularly like making chiptune arpeggio with the square wave, such as in my track ‘Blue Sky’.

It also has a mod matrix that I haven’t fully explored yet, but is very powerful, especially if you want to link it up to other CV capable synths.

Nord Drum

Nord-Drum 1

This is an analgoue modelling drum synthesiser. It is the first Nord Drum so it only has four channels, but the presets sound great in the mix. I haven’t even looked at the synthesis options on this yet, as I’ve been really happy with the presets, but there is a whole range of options that you can shape and edit for your own sound.

My synth ‘shelf’

I have swapped out the older synths that I don’t use anymore. Currently I’m using the three synths above. The keyboard at the top is my Alesis Q25 MIDI controller, there is a ZED 10 mixer on the middle shelf which I use as a recording device, as well as a gold EMU Orbit which I don’t have plugged in at the moment.

My Synth Shelf

A* Algorithm implementation in Python

pathfinding

Lately I’ve had the idea of creating a text-based Roguelike in C++. This lead me on to think about the game AI experiments that I worked during my degree in Computer Science and A.I.. Essential to game AI is the notion of pathfinding, or finding a path from ‘A’ to ‘B’, past any obstacles that get in the way. One way to do this is to use the A* algorithm. I decided to implement an A* pathfinding algorithm for possible use in a Roguelike later, and chose the pseudocode from the Wikipedia example to implement.

The program finds a path from the top right hand corner to the top left, avoiding impassable ’7′ obstacles. The ‘*’ are the steps along the path. The algorithm is guaranteed to find the shortest path between the goal and the start, which means it can optimally solve any solvable maze, given time.

This is a sample board with obstacles setup:

00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000777000000000000000
00000000000000000000000000000000777000000000000000
00000000000000000000000000000000777000000000000000
00000000000000000000000000000000777000000000000000
00000000000000000000000000000000777000000000000000
00000000000000000000000000000000777000000000000000
00000000000000000000000000000000777000000000000000
00000000000000000000000000000000777000000000000000
00000000000000000000000000000000777000000000000000
00000000000000000000000000000000777000000000000000
00000000000000000000000000000007777000000000000000
00000000000000077777777777777777700000000000000000
00000000077777777777777777777777700000000000000000
00000077777777777700000000000000000000000000000000
77777777777000000000000000000000000000000000000000
77777777000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
77777777777777777707777777777777777777777777777777
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
70777777777777777777777777777777777777777777777777
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
77777777777777777777700000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
00000000000000000000777777777777777777777707777777
00000000000000000000700000000000000000000000000000
00000000000000000000700000000000000000000000000000
00000000000000000000700000000000000000000000000000
00000000000000000000700000000000000000000000000000
00000000000000000000700000000000000000000000000000
00000000000000000000700000000000000000000000000000
00000000000000000000700000000000000000000000000000
00000000000000000000700000000000000000000000000000

This is the path found (the ‘*’s):

**000000000000000000000000000000000000000000000000
0***********************************00000000000000
00000000000000000000000000000000777*00000000000000
00000000000000000000000000000000777*00000000000000
00000000000000000000000000000000777*00000000000000
00000000000000000000000000000000777*00000000000000
00000000000000000000000000000000777*00000000000000
00000000000000000000000000000000777*00000000000000
00000000000000000000000000000000777*00000000000000
00000000000000000000000000000000777*00000000000000
00000000000000000000000000000000777*00000000000000
00000000000000000000000000000000777*00000000000000
00000000000000000000000000000007777*00000000000000
00000000000000077777777777777777700*00000000000000
00000000077777777777777777777777700*00000000000000
00000077777777777700000000000000000*00000000000000
77777777777000000000000000000000000*00000000000000
77777777000000000000000000000000000*00000000000000
00000000000000000000000000000000000*00000000000000
00000000000000000000000000000000000*00000000000000
00000000000000000000000000000000000*00000000000000
00000000000000000000000000000000000*00000000000000
00000000000000000000000000000000000*00000000000000
000000000000000000******************00000000000000
777777777777777777*7777777777777777777777777777777
000000000000000000*0000000000000000000000000000000
0******************0000000000000000000000000000000
7*777777777777777777777777777777777777777777777777
0*****************************00000000000000000000
00000000000000000000000000000**0000000000000000000
000000000000000000000000000000**000000000000000000
0000000000000000000000000000000*000000000000000000
0000000000000000000000000000000***0000000000000000
000000000000000000000000000000000*0000000000000000
000000000000000000000000000000000**000000000000000
0000000000000000000000000000000000**00000000000000
77777777777777777777700000000000000***000000000000
0000000000000000000000000000000000000**00000000000
00000000000000000000000000000000000000*00000000000
00000000000000000000000000000000000000**0000000000
000000000000000000000000000000000000000****0000000
000000000000000000007777777777777777777777*7777777
000000000000000000007000000000000000000000**000000
0000000000000000000070000000000000000000000*000000
0000000000000000000070000000000000000000000***0000
000000000000000000007000000000000000000000000**000
0000000000000000000070000000000000000000000000*000
0000000000000000000070000000000000000000000000***0
000000000000000000007000000000000000000000000000*0
000000000000000000007000000000000000000000000000**

Here is source code

Amit’s A* pages were incredibly useful in developing this.

(Perhaps one day I will do a flashy JavaScript version!)

Current Music Setup

I like to dabble in making and playing music. Here is the equipment and setup that I use.

Ableton Live Intro

This is the DAW I use. I have been using Ableton Live for several years now, and I know my way around it. I have tried others but they never really felt as comfortable. Live comes in three flavours, ‘Intro’ is the most basic paid-for version. I was surprised how cheap the ‘Intro’ version was, and how little I find myself needing the features of the more expensive versions. I only have one paid-for VST plugin, and that is the KORG Legacy Cell MS-20, which I use on almost all the music I’ve made.

ableton live example

KORG Electribe R-1 MK2 Analog Modelling Drum Synthesiser

This is what serves as my drum machine. I picked it up on the cheap, but I’m really happy with it. I really like the built in step sequencer, and the drum synth itself. The sounds you can make from it are quite varied, and I really like the way you can put together live compositions on the fly. I’d be interested in getting some more KORG boxes, such as the EMX Electribes or the Volcas.

korg-electribe-er1-mk2

Waldorf Rocket Monophonic Analogue Sythnesiser module

This is my analogue synthesiser, which I use mainly for leads. In practice I find it quite annoying not being able to play real chords, and the lack of a sequencer is difficult because it means I can’t put together patterns away from the PC, or even really play it without a keyboard. I do like the sound, and the filter is great. The ‘fake chords’ option is great fun I just wish you could more easily change between the chords on the fly. The arp is pretty cool also. I think this will become a lot more awesome when I get a hardware sequencer, I already have my eye on the cheap BeatStep to pick up when it is released.

WALDORF+ROCKET-1

KORG Monotribe Analogue Sythesiser and Drum Machine

I don’t really use this for anything, unfortunately. It was my first synthesiser and although I liked it at the time, nowadays I find the lack of MIDI and the ribbon keyboard a major problem. I might either sell it or get a MIDI mod and install it. I find it quite noisey when recording anyway, so maybe I’ll just try and sell it. It does has some nice acid style sounds though. A shame.

monotribe

Yamaha P35 Digital Piano

I was looking for a decent MIDI out keyboard that would allow me to put together more complex melodies and learn how to play keyboards for possibly joining a band in the future. The Yamaha NP31, which was my original choice, was out of stock and so it got me looking at others. I thought it would be interesting to learn to play the piano, as we had one growing up but I never really learned before. In the store I really liked the feel of the P35′s hammer action keys, so decided to buy it. I can play some simple tunes with it but want to get piano lessons so I can improve. This will also function as my main MIDI controller for my other hardware.

717aZc6BIwL._SL1500_

Line 6 Mobile Keys 25 USB Keyboard Controller

This is a nice little keyboard controller that I use with Ableton. Unfortunately it does not have MIDI out, only MIDI via USB, but I can run it through the MIDISport to control audio hardware. The keyboard action is very nice, much better than the M-Audio Keystation 49 which I had before and would not recommend.

controller

M-Audio MIDISport Anniversary Edition 2×2 MIDI/USB Interface

This is a fairly standard cheap MIDI to USB interface. I used to use the M-Audio Uno, but that has only one input/output and it has problems with some audio hardware.

midisport

Setting up Kindlefire HDX for Development under Ubuntu 12.04

amazon_kindle_fire_hdx1

I wanted to get a Kindlefire HDX running under Ubuntu 12.04 with adb.

First I needed to setup the udev rules:

1. Edit /etc/udev/rules.d/51-android.rules as root, and add the following line (create this file if it does not exist):

SUBSYSTEM=="usb", ATTRS{idVendor}=="1949", MODE="0666"

2. Change the permission of this file by executing the following command as root:

chmod a+r /etc/udev/rules.d/51-android.rules

3. Reload the rules by executing the following command as root:

udevadm control --reload-rules

4. Run these commands to restart adb:

adb kill-server
adb start-server

5. Now when I run

lsusb

I can see the device listed.

6. Next I needed to enable adb access on the Kindlefire HDX device itself by going to Settings -> Device -> Enable ADB.

7. Finally I could run:

adb devices

within Ubuntu and have it recognise the Kindlefire HDX.

Go to top