Lighting and Camera Setup

Light Sources:

  • Phillips Hue Colour Lamp (top right)
  • Phillips Hue Colour Lamp (Middle)
  • Phillips Hue Colour Lamp (Bottom)
  • Phillips Hue Lightstrip
  • “DJ David Craddock” white illuminated sign
  • “Live on Air” blue sign
  • Laser (green or red laser wash)
  • Revolving disco balls

Dark Music Lighting Settings

For Phillips Hue sources I use Hue Sync on my broadcast PC which syncs the lights in time with the music. I will use different palletes depending on the event. For darkwave/dark music style events I will use this pallette:

I will have the ‘Live on Air’ sign on, but not the disco balls or the laser.

Generic Disco/Party Settings

For lighter/retro music settings such as my bi-weekly ‘DJ’s Choice’ I will use the following settings:

I will have the ‘Live on Air’ sign on, and the disco balls and laser.


All cameras are mounted on tripods and require a USB port. Most have USB extension cables.

  • Spedal Wide Angle camera – this will be used as the DJ CAM as the wide angle will cover the entire room
  • Logitech C920 A – this will be used as the Decks Cam Right
  • Logitech C920 B – this will be used as the Decks Cam Left

Resolume MIDI Control in my Twitch DJing Setup

I have retired the Novation SL Zero Mk1 MIDI controller that was causing me a lot of grief when I was running Resolume and Ableton Live at the same time, as its Automap functionality was locking on to the Ableton Live mixer in session view now and then, and so, sometimes, when I thought I was controlling Resolumes visual FX, I was actually changing the volume faders in my DJ mix. Which was bad.

I have replaced it with the even older but classic Behringer BCF2000. I use the sliders to control the 8 dashboard visual FX controls on Resolume. I also have attached two pedals to the BCF2000. The first one, the sustain on/off switch pedal, I have mapped to control whether Resolume is running in autopilot mode or just looping the current visual. This will allow me to set it on autopilot through most of the set and then focus on one visual when I want to do some more involved stuff. The expression pedal, I have set to control the opacity of the top layer. I run Resolume with two layers, the main layer which is usually a background of an animation, and then the ‘extra lines and bars and stuff on top’ layer. So when I gradually depress and release the expression pedal, I fade in and fade out the ‘extra stuff’ layer from the scene.

I have additionally mapped four buttons on the Behringer BCF2000 to manually skip forward and backwards each layer through the prepared layer list. So if one layer is boring or I want to select something specific I have some control over that without having to open the Resolume window on the PC.

So far I’m happy with the autopilot setup I’ve got. I want to spend more time on Resolume and the VJing side of my stream, but for now this will do and will offer sufficient variety.

Hybrid Serato DJ Pro DVS/Ableton Live DJ setup (21/4/21)

I recently found a good price on a Vestax VCM-600 controller. It is a specially made MIDI controller for Ableton Live, with the same build quality as a DJ mixer. It allows for control over 6 channels in the Ableton Live ‘session’ view, which is arranged similarly to a mixing console. It also adds dozens of MIDI mappable DJ controls such as the traditional Hi, Mid and Lo EQs, a crossfader, a filter control, control over a lot of Ableton FX, and more. It has 6 channel faders + 2 send faders for FX. More info in this video:

It replaces my Pioneer DJM-S3 mixer. I use a 4×4 interface compatible with Serato DJ Pro DVS, the Denon DS1, and run the timecode audio from the Reloop 8000Mk2 decks through the Denon DS1. It outputs the Serato DJ Pro modified audio for both decks. The outputs of the DS1 are connected via a Douk VU-Meter (to see the levels for both decks for accurate gain control while mixing) to the Behringer UMC1820 audio interface which is connected to my broadcast PC running Ableton.

When I move the faders on the Vestax VCM-600 controller attached to the broadcast PC, it functions as a DJ mixer, with the actual mixing taking place in Ableton through the UMC1820 audio interface.

The microphone for streaming is connected to the sound interface as usual, and the DJ headphones are connected to the headphone amp on the the sound interface, with mic levels and cueing dealt with via Ableton Live.

The advantages of this setup over my previous setup are multifold, as I now have a 6 channel fully configurable mixer. Firstly it will allow me to bring in various external hardware instruments such as drum machines, hardware synths etc, all controlled via Ableton. I could also bring in software instruments/VSTs. It would allow me to use high quality studio software FX in my DJ sets. It would also allow me to trigger samples from Ableton Live and have them output on one of the channels, synced to the beat.

I am currently using the 4-band X:One EQ filter Ableton FX Unit clone from, see: .
I am also using the DJM-900 filter clone. I have adapted these both into my Ableton VCM600 template set. I might release this set later once I’ve built it up more with Ableton FX.

I am currently using Serato DJ Pro FX controlled by my Akai SP8 cheap controller connected to my DJ laptop, which I have changed the knobs on to make them more tactile. I also have an Ableton Push mk1 controller hooked up to broadcast PC which is useful for multiple things, but mostly for quickly controlling Ableton Live without having to mess around with the mouse. I have not synced the BPM automatically yet between Serato and Ableton; Serato has a problem with Ableton Link integration I found. For the moment, I am using the Serato DJ Pro beat-synced FX on Serato, and using tap-tempo on my Ableton Push controller to set the BPM in Ableton Live. I don’t need the BPM to be exact at the moment for Ableton Live as I am not using any beat-synced FX or looping FX on Ableton.

Looping, beat repeat, cue point jumping, tempo, sync, scratching and platter changes for each deck are handled by the controls on the Reloop 8000mk2 which are both connected via USB to Serato on the DJ laptop, so they function as a DVS system but with also pads and controls for Serato too.

I am using Resolume on my broadcast PC. I run a number of scenes on autopilot mode, and use the ancient Novation SL1 Mk1 MIDI controller to apply video FX to Resolume. I sync the BPM to Resolume through Ableton Link, with Ableton Live setting the BPM for Resolume through Ableton Link, and me setting the BPM for Ableton Live using the tap-tempo on the Ableton Push controller.

I have a sustain pedal which I use to trigger the ‘ducking’ affect in Ableton when I want to talk over the music.. when the pedal is depressed, the music fades down and the mic up a bit, so people can hear me better. When the pedal is let go, the microphone volume is killed so no background noise is picked up.

Here it is in action – the clicks are me flipping the crossfader or the channel faders on the VCM-600:

As you can see from the video, the latency really isn’t an issue. It’s very responsive even though the timecode audio from the turntables is being processed by the Denon DS1, sent through the Douk VU-meter, and then converted to digital signals by the UMC1820 sound interface, sent through an EQ and FX chain, and mixed by Ableton according to the VCM600 DJ controller movements.

Here is a flowchart which should help explain the signal flow:

Here is a list of equipment that I use:

  • VESTAX VCM-600 Ableton Controller. Came out in 2010, cannot buy anymore new. Bought second-hand for £175. Had to clean the knobs with isopropyl alcohol as the coating becomes sticky after years and years of use.
  • Novation Remote Zero SL Controller. Very old MIDI controller, cannot buy anymore. Can buy very cheaply now. Not sure if I would buy this exact controller again but it certainly is durable.
  • AKAI LPD8 Controller. Very cheap MIDI controller still being sold. Bought new for £30. Took the knobs off and replaced them with Doepfer knobs from my Eurorack for better grip.
  • Behringer UMC1820 Sound Interface. Very good value USB audio interface with lots of inputs and outputs. It comes with 8 physical inputs and 10 physical outputs. To get access to the other inputs and outputs you would need to buy an ADAT or SPDIF expander. Bought new for around £200.
  • Douk VU-Meter. Very cheap though accurate VU-meter for checking volume levels. Bought new for £60.
  • Denon DS1 Serato Interface. Not sold anymore, sadly, although it has a class-compliant driver for OSX so it is likely to remain suported for a while, while the alternative Rane Serato interfaces may not. Bought secondhand via Ebay for £120.
  • Reloop 8000mk2 vinyl turntables. Excellent turntables with a huge amount of features and a solid build. They are available quite cheaply new. Paid around £400 each for them. I use Concorde Mk2 Digital needles and Serato Butterrug slipmats and Serato control vinyl.
  • Ableton Push Mk1 Controller. Although the MK2 is out, the MK1 is still supported and there is no indication it will be deprecated soon. Not available new anymore, buy secondhand. I paid £250 for mine although they’re available much cheaper now.
  • RODE Procaster Microphone, cage, pop sheild and boom mount – This is an excellent high quality microphone. You can get a lot cheaper if you wanted to. Mic setup cost about £200 new.
  • Apple Macbook Pro 2015 13″ Retina edition. Still going strong from when I bought it. Only has 8GB memory and that is shared with the graphics card, but otherwise it is fine. I have kept it on Mojave, no plans to update. I only use it with Serato DJ Pro. I have an external HD attached to it for all my DJ music.
  • Broadcast PC – a workstation PC I built myself. For the specs see: In particular I have found the Nvidea 1080 graphics card very useful for Resolume – no way would it run well on my laptop.

For new equipment I use often or, or Amazon, or whatever is cheaper on Google Shopping.
For used equipment I use or or occasionally Facebook adverts.

2020 Retrospective – Wow, what a year!

I think, for obvious reasons, 2020 has been a year that no-one could really have expected. With COVID-19 and lockdown, a lot of things have changed, both in my life, in everyone’s lives, and in the workplace.

My online DJing setup

Things that went well

  • I changed medication around March 2020 which has resulted in significant weight loss, as expected. The previous medication was making me put on and retain weight even when I was eating very very little. In March 2020 my weight was nearly 136KG and now it has gone down to 125KG in March 2021. I have not been doing more exercise, indeed quite a bit less, as I have been staying indoors most of the time. The weight loss has had a very good effect on my general health and my sleep.
  • I am much happier than this time last year. Working corporate jobs I found very very stressful and apart from being financially rewarding, I wasn’t getting much else out of it. My mental and physical health was suffering. My relationship with my wife and friends are much better now because I am less miserable all the time.
  • I have taken up DJing over the internet and have turned this into a part-time income. It is so much fun. I used to DJ in clubs in my 20s regularly and I didn’t realise how much I had missed it. It is great to have a way to connect socially with people in lockdown and people really appreciate my DJ sets, which is great.
  • Working from home has been a great change for me. Before the pandemic I wanted to work from home 100% anyway, because I was ending up spending at least 2 hours commuting to and from work, it was costing a lot (because I can’t drive) and it was taking up a lot of time and energy.
My work from home setup

Things that didn’t go so well

  • I found that when I am working 100% from home, it is difficult to do work that I am not motivated to do. It is much easier to get things done that you really don’t enjoy when you are in the office. I have noticed a productivity decline in things I don’t really want to do, but I don’t think this is necessarily a problem with working from home, simply it is something I need to address by finding work I am more motivated to do.
  • My financial situation is a bit unsteady at the moment. I have got used to living on much less, and my costs are minimal. However I am struggling to find a job I am motivated to stick with. I think this simply requires me to explore careers and jobs outside of what I have done before.

26/2/2021 DJ Setup with Diagrams

After the last post I have added Ableton Live and my Eurorack modular to my DJ setup, with a master clock being sent via MIDI cables from my Roland TR8 drum machine that syncs with Ableton. The drum machine also can be used creatively for drum fills etc.

I hope these two diagrams explain my setup adequately – sometimes a picture is worth a thousand words! The ‘actor’ is me – I just couldn’t find a way to change that on 🙂

DJ Books: Reviewed

The classic!

Yes! Some people actually write and read BOOKS on DJing. As if YouTube wasn’t enough. Well it can be enough.. but YouTube is also a cess pit of rubbish information, and at least a book has a better chance of being properly edited and reviewed. Also reading a book makes you more intellectual. Which is utterly true.

So. I have been reading through these DJing books to see if they could teach me something I didn’t know about DJing after over 10 years doing it. And there were quite a few interesting techniques and tricks that I learned from these.

How to DJ (Properly) – Frank Broughton, Bill Brewster (2003)

This is a great old book that I first bought when I was getting into DJing back around 2000. It covers so much technical and non-technical information that is still highly relevant today, but some parts are laughably out of date. I really wish they would update this book and put out a new version. A lot of the non-technical stuff you won’t find elsewhere and is really useful still. Definitely worth a read but don’t expect a modern take on things.

FutureDJs: How to DJ – Austen Smart, Scott Smart, Tom Dent (2019)

This is the book you want if you want a modern and uptodate introduction to DJing. It was designed as a textbook to help train high school music teachers so they could include DJing tuition in their classrooms. It’s amazing – really great – and contains lots of diagrams which help the explanation. If you want to get just one book on DJing buy this.

Rock The Dancefloor: The proven five-step formula for total DJing success – Phil Morse (2016)

I have to say straight away that I am quite biased as I don’t actually like Phil Morse of fame. I don’t find his reviews to be that accurate and often seem a bit like advertisements of products. I have learned some things from his website but not a huge amount. However this book has got lots of great reviews so I thought I’d mention it. I do have a copy but I found it a bit difficult to get through as it is all written in Phil’s quite conversational prose, with no diagrams or pictures or anything really to break it up. It may well be worth checking out to see if you can get anything from it though. I will probably try and get through it myself and give it a proper review, but just so you know it’s out there.

Beyond Beatmatching: Take Your DJ Career to the Next Level – Yakov Vorobyev, Eric Coomes, Bill Murphy (2012)

This is quite an interesting and quite advanced book by the developers of Mixed in Key. In it, they talk about using MIK’s features to detect musical key and energy level, and how you can use those features to plan your set around harmonic mixes and energy level arcs. It is quite advanced and very interesting. MIK is a pretty good piece of software, I have had it crash a few times when analysing very big libraries but generally it is pretty solid. I recommend checking this out, because although the basics of harmonic mixing are probably talked about in any recent DJing book, this goes into greater depth.

Twitch Streaming Technical Setup

I thought I’d write a bit here about my Twitch DJing setup and some of the hardware and software I’m using. Twitch streaming has become very popular over the lockdown period, and I think people might be interested in how I have configured my stream. Something that seperates my stream from anyone else I’ve seen on Twitch is that is that I do live vinyl DJing AND live VJing at the same time on my stream. This is how I achieve it.

Broadcast PC

This is my main desktop PC that I use for personal use as well as streaming. It has a Nvidia 1080 graphics card which is very useful with Resolume Avenue, the VJing software I use. I have one main big monitor and one smaller second monitor which I have attached to a long HDMI cable and placed next to my DJing desk along with a second mouse and keyboard which goes into a USB 3.0 hub and a long USB 3.0 extension cable. When I go to DJ I set the Windows graphical settings to duplicate my screen on both screens, so I can control the broadcast computer from where I am standing next to my DJ equipment. I have a Behringer UMC1820 sound interface which has 8 balanced phono inputs. Inputs 5&6 are permanently connected to my DJ mixer, and I use Input 1 for my microphone.

Broadcasting Software

I use Streamlabs OBS on my broadcast PC. I did initially subscribe so they let me download one of their custom themes, which I have heavily edited but still remains integral to my setup. For some reason even though my subscription has lapsed that has not made any difference to whether I can continue using this theme and the app, although it has turned my follow/subscription/bit notifications back to the plain old free ones. I prefer it over free OBS for three features at least.

Firstly, the studio mode – I am not sure if OBS free has this (maybe it does?) but it is useful when fixing things live to have two scenes active, one which is being broadcast and one which is only visible to me. Secondly, the way you can order the layers on the scene, this is very intuitive to me and was more intuitive than the layering (front to back) on OBS free. Thirdly, the remote control element.. I have a remote control app for my Android tablet and phone which allows me to quickly cycle through scenes – no need to shell out for fancy scene controllers.

I use the free NDI tools for NDI streams to Streamlabs OBS for the external video elements on my screen – one from Resolume Avenue on my broadcast PC and the second from my Macbook Pro which is running Serato Video. I also use streamelements and Moobot to enable kappagen effects, and to moderate the chat and provide information to chatters.


2x Logitech C920 web cams on tripods. I bought them because I saw them used at the BBC where I used to work. I think if I had more USB3 ports on my computer the bandwidth for these cameras would be increased and the resolution would be wider, but as they are, they are really solid. I’ve only had occasional problems with the auto-focus when there is a lot of lighting strobing going on.

DJing Equipment

I have a pair of Reloop 8000mk2 turntables with a Pioneer DJM-S3 Serato mixer. Both integrate really well with Serato and offer additional performance features. I use Serato on my aging Macbook Pro 2015 and have actually got it to reliably output Serato Video using NDI capture tool and send it over the network to my broadcasting computer without the fan having to spin up. I only use Serato on my Macbook because I don’t want to burden it – it is doing enough as it is! I have a 2TB external HD where I put all my digital music files and have it mounted as a network share so I can transfer files over the network from my main PC. I use Mixed in Key to add Serato cue points to music I use, and the free MusicBrainz Picard to correctly tag files and organise my music collection.


I use Phillips Hue lightsources and the hyeDynamic Windows 10 app. It connects to the Hue hub strobes the lights in time with an audio input. I have a Hue Lightstrip and 4x Hue Colour bulbs and they all sync together. I also have a small laser unit that syncs in time with the beat and is useful as added background lighting.


I use Resolume Avenue with a number of clips I have commercially bought. I have it running mostly in autopilot mode with all the clips synced to the beat. The beat is provided by a free app called ‘AudioBoxBaby’ which I am really looking to replace, but there is simply nothing else out there on the market. It detects the approximate BPM of any audio coming in on my sound interface from my DJ mixer, and translates it into a single repeating midi note. This midi note I have mapped to the tap tempo button in Resolume so it is like a human tapping the tempo along with the music in theory. Serato DJ Pro supports Ableton Link, and so does Resolume Avenue, but I have found that syncing via Ableton Link to be very problematic when using Serato, and of course it doesn’t work when not using Serato, for example with all vinyl sets.

I also have a Novation Zero SL controller which I have had for over 10 years and still works perfectly, so I really recommend it! It is attached via a USB extension cable to my broadcasting PC and I use it to control some basic VJing effects that I put over the audiopilot clips to create buildups and visual changes in time with the music. It has 8 sliders and I move them in time with the beat or to create buildups/variations etc.


I have a Rode Procaster mic with a Rode microphone boom, shock cage and pop shield, which is attached to my audio interface for my broadcasting PC with a long cable. I have it wired so that when I press a piano sustain pedal on the floor under my microphone, vocal ducking happens – e.g. the music fades down slightly and the microphone volume fades up so you can hear me talking over the music. In order to accomplish that I use two commercial apps, the first called ‘Auto-Duck in Real Time’ which allows me to configure the vocal ducking linked to a keyboard keypress, and ‘Bome’s MIDI Translator Classic’ which when the MIDI signal that is generated when I press the sustain pedal connected to my Novation Zero SL controller, the MIDI translator converts it into a keypress that is picked up by the ‘Auto-Duck in Real Time’ app to trigger vocal ducking.  I have it configured so while I am holding down the sustain pedal, it ducks the music playing and when I release it, the music goes back to normal.

Internet Connection

I have a fast Virgin Media internet connection with 30mbits/second upload. I think my Twitch stream and everything else in my home requires about 5mbits/sec upload! I also have a backup internet fibre DSL connection that thankfully I have never had to use when I’m streaming, but it also has around 15mbits/second upload and I should be able to switch between both relatively quickly if I needed to.

Phew! That’s all! 🙂 I realise it is technically involved compared to a lot of peoples setups, but I have always been really interested in the technical side and have been lucky enough to be able to create exactly the setup that I really wanted for my stream. If you’re interested in checking it out, my regular stream is from 4PM UK time/UTC every Sunday and I play for at least 4 hours. Follow me on Twitch at:

Struggling with the technical side? If you are interested in hiring me to help develop your own streaming setup, I have worked before in this capacity and can supply excellent references. The work can be done online, as with your permission I can remote control your computer and configure things. Please send me a message if you are interested via the contact form on this website.

David’s Guide to The News

Journalism has deteriorated to a huge degree in the online age. A lot of articles and video content are one-sided short ‘clickbait’ – short messages designed to trigger an extreme emotional reaction. ALMOST ALL journalism is like this these days, it doesn’t matter if you have a highly established news network you have been trusting for decades, they have all had to adopt this low-quality strategy due to the ultra-competitive and dire financial situation that all news reporting finds itself in. However a lot of people still take news content at complete face value, and this leads to a huge number of people being misled about the real facts.

So, whenever you are reading, listening to, or watching a piece of news content, here are some questions you can ask yourself to really get the full picture of what you are consuming.

1) How long is this news article/segment? What depth does it go into? Broadsheets like the New York Times go into much more depth than a 10 second ‘news highlights’ clip, and will usually present a much more detailed and extensive argument. If you really want to understand something, as the saying goes, read a book – or better yet, several books from several different perspectives. Do not expect to understand the full issue from TV news segments.

2) What emotional reaction is the journalist trying to get me to feel? What language does the piece use, what quotes are they using, what video are they using, what music do they use to set the scene, is the news anchor looking like they are being particularly dramatic? What is the emotional message?

3) What is the editorial slant of the news source? EVERY news source has an editorial voice – or bias – and you need to take that into account when getting your news from that source. It doesn’t matter if you generally agree with the editorial voice, you have to understand that everything is biased. News isn’t free and a lot of news sources get their funding from various ‘benefactors’ who often have a very real say on their editorial bias. Knowing how the news organisation is funded is very important in knowing what slant they will take, especially when it relates to political news.

4) Does the news piece provide a fair and plausible representation of both sides? There are ALWAYS two sides to the story, this is something that has been all but extinguished in modern news reporting. A few news sources will set up often comic ‘straw men’ opposition points, like the BBC interviewing odd people who drink their own urine for a news piece on how health information is understood by the public. While this may be amusing, it is not meant to present a fair and accurate argument from both sides, it is designed to ridicule one side. There are usually some genuine points from each side that are worth everyone considering, no matter what story it is.

5) Seek out contrary points and opposition points of view. If you want to understand a news event further, seek out a number of different articles from respectable sources with very different editorial voices/biases. Even when you take into account their individual biases, there are usually some valid points underneath it all.

I hope that everyone will consider thinking more criticially about the news they consume.

Finally my 27U Eurorack is complete!

So.. finally my 27U Eurorack modular synthesiser is complete. I have filled up the third – and surely last, as there is no more room in the studio! – case. I started this Eurorack modular in 2015.. so I am glad it is all complete now. I put in a small amount nearly every month for new modules. I am not some ‘rich kid’ who could afford to buy everything at once – and indeed I think my gradual approach has benefitted the overall modular because it’s made me think about what I actually need, and given me time to learn as I go along.

These are the details for the (newest) left section case:

These are the details for the middle and right sections:

Very happy!

Ivy Bridge 2011 PCs are still useful today

In our house, seperate to my main PC (see the tab above) we still have two Ivy Bridge-based PCs:

Conny’s PC

  • i7-3770K
  • 16GB DDR3 RAM
  • Nvidea Radeon 970 Graphics Card
  • 250 GB SSD
  • Windows 10

My wife uses this as her main PC, and plays quite a few games with it. For a CPU and motherboard that I put together in 2011 or so, I am quite amazed it still runs adequetely! It runs the games she wants to play, the most graphically intensive being Deadpool, but it will also cope with Borderlands 2, Skyrim Special Edition, Shadow Warrior 2, and others. She is not interested in the top graphics games, but it runs just fine.

My Second PC

I have a computer that I use for my own programming and tech hobby projects. It used to be a top of the range workstation 2011 and I got it in a hardware disposal sale at Arm Ltd for only £400 in 2019. This is quite the deal, as it included a lisence for Windows 10 (normally costs £100 on its own).

  • Intel Xeon E5 2650 v2 8 CPU cores @ 2.60GHz
  • 32.0GB DDR3 RAM
  • 2048MB ATI AMD Radeon R9 200
  • 250GB SSD
  • 3TB HD
  • Windows 10

I don’t need a powerful graphics card as I don’t game on it, and the Radeon R9 3200 supports my 2560x1440px monitor so it is more than adequete. I have installed VMWare on it and am looking to spin up some virtual machines as servers, and have them running in the background while I am browsing. I could assign several cores and quite a lot of the RAM and not really notice a difference with the light work I do when using the computer.

I am just amazed at how much you can do with these old high-end CPUS. The performance delta between these Ivy Bridge 2011 CPUs today’s processors really isn’t that large, and they are so cheap these days. This following video shows just how cheap you can build one of these setups, and how powerful they are even today:

The only situation where these processors don’t really work hugely well is in applications which emphasise single-core performance – I tried to use my second PC as an Ableton Live machine, and a lot of audio plugins I wanted to use were not optimised for multi-core processors, just single-core, so that didn’t work well.

Studio Setup in 2020


I have made some considerable modifications to my modular since my last post. I have a 4-voice polyphony setup now with multiple voice Osc, VCA, Envelope and MIDI-CV modules, allowing me to experiment with polyphony voicing.

Elsewhere, I have added an Access Virus C synthesizer to my studio, and now have rack-mounted Behringer Model D and Emu Orbit 9090 synthesizers. I have also upgraded to Ableton 10 and use NI’s Komplete suite including Massive X, plus TAL-NO-UX Juno 106 softsynth, Sylenth1 and others.

A Retrospective for Years 2016-19

I thought I’d update my blog to reflect recent changes in my life, and review what was good and bad about them, as I was doing before.

The “Not Awesome”

  1. My overall health level has got a bit worse over the years. I have had limited success in losing weight. I was going for regular walks nearly every week with a friend of mine, but that has stopped lately. I find it difficult exercising while living in a city, as my favourite activity for excercising is walking, and there are not a huge amount of pleasent walking oppertunities around my area. I have been getting Ubers to parks and walking there. A posssible solution that I am actually considering is moving outside of the city, where there are a lot more pleasent walking oppertunities on my doorstep, and which would hopefully lead to a much more active lifestyle.

The “Awesome”

  1. Conny and I got married! We have also adopted two cats, so we have a little family now 🙂
  2. Brexit is not going to affect Conny’s ability to live and work in the UK after all, which is a great relief.
  3. I am doing well in my job, having achieved a “High Performing” overall performance rating at work for this year. This has taken a huge amount of personal effort.
  4. I have cutout meat from my diet for health reasons, although I’m still eating fish. I have also started getting prepared healthy dinner meals from this site online. The meals are a lot more healthy than what I was eating before, plus it saves Conny from having to cook for me in the evening, which is good as she is currently working two jobs.
  5. Conny has started work and is really enjoying it.
  6. Our finances are looking much more healthy than in previous years, with Conny starting working and due to bonuses in my current job. I have increased contributions for my pension, and we are doing very well with budgeting and financial planning.
  7. I’ve managed to build up my music studio and gaming PC setup quite a bit, which was always something I wanted to do after taking on a more stressful (and rewarding) job.
  8. Our house price has gone up a lot.
  9. I’ve developed a much healthier attitude to my professional skills and development, after reading the ‘Passionate Programmer’ I have been putting in extra time after work to read a number of books and developing my technical skills.
  10. I have started learning maths in my spare time through enlisting one of Conny’s friends who is also math tutor. Building up my math skills will unlock a lot of interesting paths for my software development skills, such as audio DSP, graphics programming, and data science.
  11. I have taken up record and CD collecting, and have quite a large collection of electronic music on vinyl and CD now. I bought a Rega Planar 1 turntable and two CDJ1000s with a pioneer mixer for DJing. I can connect the setup to Serato on my laptop for digital DJing too.

Home Cinema Setup

I have been gradually adding parts to my PC so that it functions better for watching movies and gaming. Here are the components that I have used:

Monitor – BenQ EX3501R 35″ Ultra WQHD Curved Monitor

This monitor is great for watching movies and gaming as it is ultra-wide at an aspect radio of 21:9, 3440×1440, a VA panel with high contrast, and the monitor is slightly curved so that you get a cinematic experience.

Surround Sound Speakers – Logitech Z906 5.1 Speakers

This is a good set of 5.1 surround sound speakers with a separate subwoofer. I connect it from my motherboard’s optical out via ADAT for the best connection. I have the rear speakers mounted on the wall behind me, and the front speakers on the desk in front of me angled towards my seat.

Phillips Hue Bulbs and Dynamic Lighting

I have three Phillips Hue bulbs near the monitor which I have added to a ‘Hue Entertainment Group’ which means their colours can be rapidly changed with applications that use the Phillips Hue Entertainment API. One such application is ‘hueDynamic for Hue’ which is a Windows 10 application that monitors the colours on the pixels at the edges of the monitor, and changes the lights next to each edge according to the colours on that edge. This means I can have some dynamic lighting when watching movies.

Source of 4K Video

Even though my monitor doesn’t quite support 4K, using VLC means I can adjust the aspect ratio so that it will re scale the 4K video onto the monitor’s 3440×1440 dimensions, making 4K the best fit for my monitor. However my wireless connection is not currently fast enough to stream 4K video, so I use the ‘4K Video Downloader’ app to download free 4K videos from YouTube so I can play them on VLC.

Putting It All Together

(Click on diagram to enlarge)

So, I download 4K videos from Youtube, play them on VLC which adjusts the 4K content to fit my monitor. The audio goes to my surround sound setup which creates a virtualised surround sound output to my speakers, and the hueDynamic app running in the background on my PC samples the colours are the left and right areas of my monitor, and dynamically changes the colour of the Hue bulbs as the video plays. This creates an immersive ‘Home Cinema’ experience.


Finished Eurorack

Finally I have finished my Eurorack synthesiser! And I know many people say that ‘Euroracks are never finished’ but this one absolutely has to be, for financial reasons. I think that I have got to a place where I have every major feature common in most synthesisers, but in a modular instrument format. It is a great place to learn about different synthesis techniques.

finished modular


This is the layout on where you can examine each module.

Node.js HTTPS server with self-signed certificate creation on openssl 0.9.8zh with node.js 7.10.0

I couldn’t find a concise guide to setting this up quickly so thought it was worth a post. To quickly get something working and create a https server using the above versions of openssl and node.js, do the following:

 Generate self-signed server certificate with no password

sudo openssl req -x509 -newkey rsa:2048 -keyout ./csr.pem -out server.crt -days 3001 -nodes

Use this node.js code to setup a server quickly

const https = require('https');
const fs = require('fs');

const options = {
key: fs.readFileSync('csr.pem'),
cert: fs.readFileSync('server.crt')

https.createServer(options, (req, res) => {
res.end('hello world\n');

Go to https://localhost:8000 and accept the certificate, you should see ‘hello world’

Finished Planning My Eurorack Modular Synthesizer

In January 2015 I put in an order for my first Eurorack case. Little did I know that I would end up filling that case and buying a larger one. Finally, 2 years and 3 months later, I have nearly finished assembling what will be the complete Eurorack. I have been buying a module or two per month, researching what I need and playing a lot with what I have got already to find out its limitations and areas for possible expansion. It’s much like incrementally building and upgrading a gaming PC really, although with very different results.

Today I have come up with a final plan for what the cases will contain. The picture below is slightly misleading, I have two cases, so the case below is actually split down the middle into two enclosures. The left-side case is 2/3rds the size of the right hand case, that is why there is a grey unusable area at the top left.

With the purchase of 4 modules this month, I’m nearly at the end. The remaining 3 modules will be bought and installed over the next month or two, depending on budget.

Screen Shot 2017-04-16 at 22.58.16.png

In addition to the Eurorack modular, I also have a polyphonic MIDI->CV converter called the CV.OCD which plugs into the modular, a Nord Drum semi-modular analogue drum synthesizer, which also plugs in and allows me to make and play drum sounds, a Korg SQ1 sequencer which allows me to add 2×8 step sequencers to the mix, a MS20 Mini semi-modular synthesizer and a keyboard controller which allows me to play notes and chords on the whole damn thing.


I have built a synth roughly around three goals. The first is keeping a traditional ‘East Coast’ 3 voice subtractive synthesiser format, e.g. 3 oscillators, 3 filters, 3 envelopes, lots of LFOs and modulation, 3 VCAs, mixers, an FX unit including delay, reverb and others, 4×8 step sequencers which can be chained together (plus the 2×8 step in the SQ1). The second is that I wanted 3 voice polyphony – not ‘true’ analogue polyphony because that is difficult to achieve – but 3 of everything, wired together with a polyphonic MIDI -> CV controller, allowing me to play chords and experiment with traditional musical structures. The third goal was to keep the cost down! I am really not one of these modular synth heads with a huge studio and a near infinite budget, I have a lot of financial outgoings which I have met while building this. Building a modular synthesizer is never really ‘cheap’ in any sense of the word I would use, but this is definitely a lot cheaper than many other modulars I’ve seen, without compromising on quality.


What I have Learnt

  • Modular synthesizers can be built on a relatively low budget to achieve a good result.
  • I have sold all but one of my other synthesizers that I had before starting this project, finding the modular approach much more fun and rewarding then the in-the-box techniques and non-modular hardware synths.
  • Ignore what others might term as ‘conventional wisdom’ in building a modular, the freedom of Eurorack is that you can build whatever you want, and exactly what you want, so go with what works for you.
  • Slowly building up a modular synthesizer is likely to be much better than buying everything at once, you will experiment with what you’ve got, and learn its limitations and that will guide your purchases. It is impossible (in my opinion) to truly know what you want before you have started.
  • Use to plan out your synthesizer. It is very useful and has a huge database of modules. You can rearrange modules countless times on Modulargrid before you do it in reality, so you can plan and achieve a productive workflow.




Goals for 2017

Looking at my past posts, you may notice that I didn’t set myself any goals for 2016. Looking back, this was a mistake, so I’m going to remedy this by setting some for 2017.


  • Lose a significant amount of weight – this is very important for health reasons.
  • Study maths courses – I intend to sign up for some maths courses at the OU. This will improve my mathematical knowledge, allowing for further study in subjects I’m interested in, plus allow me to work in more mathematically-heavy careers. This equates to 10 hours study per week, so it’s not a light commitment, but one I think I need to make.
  • Exercise more – this is important as it improves my mindset, stamina, and makes me feel good.

Not too many goals this time, but some important ones, and I think I’m in a good position to commit to these thanks to the support of my partner, and therefore I am in a position to improve my life.

Will post updates at some point during the year to chart this progress.


Studio Setup


This is my current studio setup.

I have the following gear:

Eurorack 9U case
Eurorack 6U case
KORG MS20 Mini Synth
Roland TB3 Synth
AY3 Chiptune Synth
Roland A500-PRO Keyboard Controller
Nord Drum Synth
Macbook Pro with Ableton Live 9 Suite
MIDI.OCD Polyphonic MIDI->CV Converter
Samson Patchbay

I am looking to sell my Acces Virus A and concentrate on filling up the remaining Eurorack case holes.

Switching to

I am currently moving the blog, which was formerly hosted on Dreamhost, to hosting. Most of the content is moved over already, I have to go through all the posts and tidy up the references, relink the images etc. Hopefully I will get around to this shortly.

Music Workflow 2017

In 2017 I want to build a relatively static hardware-based workflow. This is what I’ve chosen:workflow-setup

The components are:

Current Music-Making Setup

With my current setup, I’m trying to make as much music ‘out of the box’ as possible, away from the computer as I find it more fun.


KORG Minilogue: I use this for a keyboard controller, and I use the 16 step sequencer to run simple sequences. It connects to the PC via USB and has MIDI output. I can also use this as a synthesizer its own right, it’s good for backing chords and pads.
KORG MS20 Mini: I’m borrowing this from a friend. I will use it as a bass synth mostly. I’ve got a Harvestman English Tear module which connects it to my Eurorack.


Electro Harmonix Stereo Memory Man with Hazarai: This is an effects pedal with reverb and delay, which I use to add a bit of effects to modular synthesizer before I record. I will also use effects within Ableton, but I like the sound of this pedal in general.

Drum Machine:

Nord Drum Mk1: This accepts triggers from the Eurorack I’ve recently discovered, so I have a drum machine that I can connect up to the Eurorack with 4 different drum voices.


This is equivalent to a fairly standard three oscilator synth, with ring-mod, S&H and noise out. I have a few different filters, an XPander style filter, an ‘extreme’ filter which is loosely modelled on the MS20 filter, and a triple resonance filter which I use for noise soundscapes. It has two envelopes, and a Make Noise Maths and a Serge VCS equivalent for some modulation madness. It also has a 16 step sequencer.

My Eurorack Modular
My Eurorack Modular


I still use Ableton Live as a midi sequencer, creating midi clips for drums and the hardware synths. I will build up a patch on the synth, tweaking until it sounds servicable, then make a midi clip, record some loops from the synths, and cut up and move the audio around to compose a track. I might add some soft-synths and effects such as reverb and delay on the PC and mix the track. Then I will upload it to soundcloud and show it to musically minded friends. Depending on what they say, I may tweak the track and upload it again. This whole process usually is done within the space of a day or two, I sometimes spend longer for tracks that I want to be more finished and professional, but I am not really usually making music for more than a few people at the moment, so I don’t spend ages finetuning each track.

Narrative-Led PC Games

80 days poster

When I first started getting into computer roleplaying games in the 90s/00s I remember playing the Infinity Engine games by Bioware and Black Isle, such as Baldur’s Gate 2, the original Fallout games, and of course Planescape: Torment. It was the quality of writing that drew me in and took me to another world, the graphics were just a background setting to that writing.

Somewhere in the 2000s RPGs became more action orientated and prioritised mechanics and visual appeal and combat over branching stories. Nowadays a lot of popular RPGs are those such as Dark Souls, which seem more about combat and atmosphere than anything else. Blockbuster games such as Dragon Age: Inquisition and The Witcher 3 still show that great writing, characterisation and real player choices can still be popular.

I still prefer the classic RPGs of yesteryear, those with mountains of dialogue and that take direct influence from fantasy novels and pen and paper, Dungeons and Dragons type games, which I grew up with. Here are some games which capture some of that great writing for me, although some are more interactive fiction than technically RPGs:

80 Days
You are the butler of Philleas Fogg, the man Jules Verne writes about in ‘Around the World in 80 Days’. Your task is to choose how to get around the world not more than 80 days, as you plan routes between cities, buy and sell items and manage the finances of the trip. It really captures a sense of adventure in the world, and builds on Jules Verne’s steampunk theme as you encounter fantastical means of transport such as mechanical ostriches, airships and others. Every route is different and you can choose how the story unfolds by selecting different actions your character will take. The writing is the best I’ve ever seen in a mainstream game.

Sunless Sea
In this game which also takes influence from Jules Verne, the city of London has fallen through the crust of the earth into hell, where there is a giant underwater cavern called the Underzee. You sail across this underground sea, exploring islands and immersing yourself in this Vernesque/Victorian/Lovecraftian setting. The writing again is amazing; it reads like poetry.

Torment: Tides of Numenera
Another outlandish game, this time set in the world of Monte Cook’s Numenera, the writer behind the Planescape world which Planescape: Torment was set in. It hasn’t fully been realised yet but this game in early access form is already weird and wonderful, and much more interesting to me than yet another copy of on the elves and dwarves Tolkien formulaic settings.

Eurorack 2016


So.. the problem, as so many people have said, with getting into building a Eurorack modular synthesizer is that it becomes addictive, and you inevitably spend more than you can really afford. That said.. I now have a great fully customised synthesiser for what I want to do 🙂 The layout is:

Top shelf:

3 oscilators and noise generator in the top left, 4 VCAs and S&H and Ring Mod sections in the mid center, LFOs in the top right.

Middle shelf:

Filters! I love filters. 3 large format filter modules, and a Triple Resonance Filter which consists of an additional 3 filters packed into one unit. A quantizer is also there which I currently don’t use much.

Bottom shelf:

Envelopes in the bottom left, Voltage Controlled Slew Generator and Make Noise’s Maths in the center left, center right is my trigger sequencer setup from LADIK, bottom right is attenuators and linear and exponential mixers.

OSX Fish Functions to open Chrome from the Shell

These functions are quite handy, and allow you to do things such as copy and paste errors and google for them without having to manually open a browser. You have to enclose arguments to both functions in single quotes, e.g. ‘chrome ‘’ and google ‘one two three four’. You should add these to your config file at ~/.config/fish/ and make sure Google Chrome is already installed.

function chrome
  /usr/bin/open -a '/Applications/Google' $argv[1:]
function google
  /usr/bin/open -a '/Applications/Google' "$argv[1]"

My vIM Configuration

Screen Shot 2016-03-26 at 04.00.46

I use a heavily customised setup for vIM, the text editor that annoys me the least in ~30 years of using a computer. You can see my exact setup in my dotfiles repo on github,

Here are the plugins I use:

  • ConqueTerm – Opens a shell window inside vIM, allowing you to have a REPL environment within vIM.
  • NERDTree – A filetree plugin that you can see on the left of the window above. It replicates the Sublime text editor’s filetree.
  • vim-airline – This is a statusline plugin for vIM that allows for a nicer status view for windows and buffers.
  • vim-devicons – Allows for UTF-8 icons to make vIM editing slightly more graphical. Used by airline to display more info in less space, and by NERDTree to show filetype information.
  • vim-fish – Syntax highlighting for fish shell script editing.
  • vim-rails – Syntax highlighting and more for rails.
  • vim-ruby – Syntax highlighting for Ruby.

Working with Fish Shell, ffmpeg, MP4Box and sox to generate audio files

More adventures with Fish shell. I have scripted the generation of a bunch of test asset audio files in mp4 format suitable for dash streaming. I have used the audio file commandline tools ffmepg MP4Box and sox in this script, they are pretty powerful and worth installing via homebrew on OSX.

Thoughts: I think that instead of quoting you can just output $variable, which is probably better coding style. I’m still working out good way to return variables from functions, it seems that you need to echo out the output and that gets picked up by the calling function, which is a bit messy.

#!/usr/bin/env fish
# move to the asset output directory..
cd ..

# Generate .m4a file for file, and all the associated .mp4 dash assets
function generateDash
  set bitrate $argv[1]
  set input_filename $argv[2]
  set output_filename "$input_filename"-"$bitrate".m4a
  ffmpeg -i "$input_filename" -ab "$bitrate"k "$output_filename"
  MP4Box -dash 10000 "$output_filename"

# Generate 3 second sine wave in a specified bitrate at a specified frequency
function generateWav
  set bitrate $argv[1]
  set filename $argv[2]
  set frequency $argv[3]
  set wavfilename "$filename"-"$bitrate".wav
  sox -n --norm=-3 -b "$bitrate" "$wavfilename" synth 3 sine "$frequency"
  echo $wavfilename

# Main loop, generate 128,192 and 320 bitrate dashed .mp4s for 16bit and 32bit 3 second sine waves
for i in (seq 24)
  set freq (math "$i * 64.5")
  set wavfilename (generateWav 16 "output$i" "$freq")
  generateDash 128 "$wavfilename"
  generateDash 192 "$wavfilename"
  generateDash 320 "$wavfilename"
  set wavfilename (generateWav 24 "output$i" "$freq")
  generateDash 128 "$wavfilename"
  generateDash 192 "$wavfilename"
  generateDash 320 "$wavfilename"

Audio Routing for my PC

For my own benefit as much as anyone elses, I thought I’d document my PC audio setup. I have two soundcards and two sets of speakers, one surround soundcard and speaker set for gaming and watching surround sound movies, and one audio interface linked up to my studio monitor speakers for music production. I also have a Digi 002 mixer which I use to mix in the outputs from my synthesisers to my recording interface. When I want to record, I usually record one track at a time from a synthesier to the audio input of the audio interface, via the Digi 002 mixer:

Untitled Diagram

These are the audio cables needed for this setup, some of which I will need to order in shorter sizes than the 3m ones I already have, to reduce cable clutter:

single phono to phono
2x phono to 2x phono
single phono to phono
single 3.5mm jack to phono
single 3.5mm jack to phono
2x phono to 2x phono
2x phono to 2x phono
2x phono to 2x phono
2x phono to 2x phono
2x phono to 2x phono
2x phono to 2x phono

Fish Shell Scripting

A few months ago I switched across from Bash onto the Fish shell, on my main development machine. I can’t get enough of its fast autosuggestions and its sane scripting language. Compared to Bash it is very fun to use.

Today I wrote a script to automate the backup of my development workspace onto a private bitbucket account. Bitbucket is good because it allows unlimited private repositories, but it caps the size of these repos at 2GB max, with some features disabled after 1GB. This means that I want to find out the size of my repo before automatically backing it up. This script does this:

#!/usr/bin/env fish

set size (du -sm . | awk '{print $1}')
echo "Workspace is $size MB"
if math "$size > 1000"
  echo "Workspace too big to commit!"
  echo "Workspace is under 1GB, OK to commit"

git add .
git commit -m "Automated backup"
git push origin master

Each individual directory additionally usually has its own git config which is synced to the separate repos for the code I’m actually working on. But if my development machine is stolen or somehow destroyed, or I want to quickly replicate my environment on another machine with access to the original repos, then I can regenerate the associations between the different directories. It also makes me mindful of not committing images or other video assets.

ADAT with Digi 002 Consoles – Don’t throw them away just yet!

So I got given a Digi 002 console version, which looks like this:

Digi 002 Console

A fairly old style digital audio interface and mixer, which was all the rage back in 2002 when it first came out, but now is often found sitting in the skip. Why? Because it is a Pro-Tools inteface, and Avid stopped supporting it about 5 years ago, so it won’t actually work under Pro Tools and Windows 10 (believe me, I’ve tried!). It only works as a recording interface through Pro Tools, so you can’t just connect it via firewire to your PC and expect it to work.

It does have a stand-alone mode though, which allows you to use it as an analogue mixer, and that is pretty useful in itself if you want to drive monitors or record things from the master out. However after digging around on internet forums for a while, I figured out a way of actually using it as a recording interface! This is through use of the ADAT output, allowing you to plug it into a ADAT capable soundcard and record seperate channels over optical.

Caveats: it has to be 44.1khz sample rate, and you still have to use the Digi 002’s analogue to digital coverters in the chain, which are pretty old now!

If you’re willing to live with this, and I was considering what the console cost me, you get an extra 8 audio input channels in your soundcard! Well worth the effort I’d say.

To set it up with my Focusrite Sapphire 24 Pro, I followed the following advice from the Focusrite forum. This should work on most of the Sapphire range of soudcards.

A Basic Eurorack Technique

I thought it might be of some interest to describe how I use my Eurorack, at lot of the time, in making tracks. I have a 3 oscilator – 3 VCA – 3 filter Eurorack which I use primarily so that the oscilators initially work in unison mode with some slight detuning. I typically use a single loop, arpeggio or pattern that I repeat over the song. Then, partway through a track, I will transpose the octaves of the oscilators and vary the sustain of the envelopes, along with the filters and pulse-width modulation amount, to make a morphing yet harmonious sound texture progression.

Here is my Doepfer Eurorack, which has 2 oscilators, the third is provided by a Doepfer Dark Energy MK1 semi-modular synthesiser that is wired into the Eurorack.



Here is the patch I almost always use:


Eurorack Patch Diagram

Here are some examples of where this same basic technique has been used:

Goals of 2015 Summary

2015 goals written on a whiteboard

At the start of 2015, I wrote down some goals for 2015. Around half-way through the year, I revisited these goals with some thoughts on how well I’d done. Now 2015 is over, I want to reflect on what has been achieved and what hasn’t.

I also want to comment on the fact that I am discussing personal things here. A few years ago I was decided that I was going to keep this blog professional and pretty much dry of any thoughts or feelings on my personal life. I have moved away from that though, inspired by blogs such as Iain’s, where personal thoughts and feelings are mixed with technical observations. I would like to think that this isn’t a bad move; after all if potential employers come to look at this 5 years from now, and don’t like what I’ve done here, then I probably don’t want to work for them anyway. There is the argument that blogs should be ‘themed’ or targetted towards a particular subject to garner followers, and that too much sharing is possibly a bad thing. However, my current thoughts are that dry techncial info is boring, and I’d rather mix it with other things that are important to me.

Retrospective for 2015

With that said.. 2015 was an eventful year, some things were awesome, some not.

The “Not Awesome”

My mum started treatment for cancer, which is a non-curable kind, Myeloma. The treatment was a success and she is currently in remission for the time being, so that is a good thing, but how long she will stay in remission we do not know. Both my remaining grandparents also sadly passed away. I also split up with my girlfriend of 5 years, which was difficult and still haunts me to a certain degree.

The “Awesome”

The money that my parents were going to put towards the wedding of the ex-girlfriend, they gave to me so I could put a deposit down on a house. So in August I bought and moved into a house in Withington, which I am in the process of doing up. It is *incredibly* cheap to buy in Manchester compared to the south-east of England, where I’m originally from, where the dream of having my own 3 bed, semi-detached house would not be possible in any area with a reasonable number of IT jobs in short distance. I don’t drive, so the fact that the tram stop is 10 minutes walk away is great for getting to work.

I met my current girlfriend, Conny in May, and things seem to be going very well; she is even planning to move from Berlin to Manchester to live with me. This is obviously great, and I don’t know where I would be without her support.


With all these things happening in my personal life, work took a secondary focus as I got things sorted. It also made me rethink what I wanted from my career. At the start of 2015 I had a new role, as Test Manager; the first level of technical management in my area at the BBC, and a big career move for me. Although I liked some aspects of the management role, I missed the technical challenges that had pretty much characterised the last 10 years of my career. There was not much direct coding, and I felt I was in danger of losing that aspect of my work. I took a 6 month attachment to R&D, which had me working in an extremely challenging technical role, on a HTML5 360 VR engine. In April when this attachment ends, I am looking to continue in a technical role of some description, and not return to pure management, at least for the meantime.

Goals of 2015 – How Did I Do?

Work Goals

  • Settle into my new role at the BBC as Test Manager – As I mentioned before I’ve taken a move towards another route in my career
  • Pushing for a place to be opened up in Platform Test to employ someone from the Extend Scheme – This was achieved, and Ben has joined the BBC on an Extend placement.

Creative Goals

Social Goals

Financial Goals

  • Saving more over the course of the year – Partly achieved. I have bought a house, so now I am in a quite a bit of debt, but the money I will be putting towards my mortgage will be money I am effectively ‘saving’ because it will be put into the value of the house.
  • Joining a pension scheme – Achieved.

Health Goals

  • Adopt a regular form of keeping fit – Partly achieved. I have now setup a return commute which involves walking past a gym that I’m a member of, so it is quite easy to go in there for 30 mins on the treadmill 2-3 times a week. I’ve just got to maintain the discipline.

Top 5 Recommended Upgrades for your PC

I have made a lot of different upgrades and modifications to my PC, as you can see here. Some of the upgrades have made more of a difference than others though. Here is what I think you should be concentrating on, if you’re looking to upgrade.


  • Solid State Hardisk (SSD) – Solid State hard drives use flash memory instead of the moving disk platters of traditional hard disks. It is the same type of storage as your USB stick. This type of storage is a lot faster to access compared to magnetic storage. Upgrading will result in a huge performance increase for most systems if you are changing from a traditional hard disk. Get as big a size as you can afford. If you play computer games or do a lot of media production work, then the added space will be useful. They have reduced in price over the years, the first SSD I bought was £120 for 120GB SSD back in 2012, in 2015 I just bought a 250GB SSD for £50. So it’s definitely affordable now.
  • Large Monitor – If you can get a 27″-32″ monitor then do so. It has made so much difference to the day to day usage of my PC. I would recommend 1440p if you can. 1440p is half the resolution of 4K. I wouldn’t recommend a 4K monitor yet in 2015 as I don’t think they have enough software support, and the cost is considerable for a decent screen. If you’re a gamer, then you might want to aim for a higher refresh speed, but I’d say this should be a secondary consideration to the screen space. Look on TFTCentral for reviews and guides to the different screen types available.
  • Good Soundcard and Surround Sound Speaker System – Headphones are OK, but even a basic surround sound soundcard and speaker system is going to be so much better. I have a Asus Xonar Phoebus Solo which I recommend, it’s a 7.1 surround sound card. I have a cheap £60 set of surround sound speakers, Logitech Z506 Surround Sound Speakers. Surround sound really makes a difference in gaming and movies. I think it’s the seperate subwoofer that has the most effect, so if you are not that convinced by surround sound, you could get a 2.1 (two speakers and a subwoofer) setup for a bit less.
  • Ergonomic Mouse and good mousemat – Chances are, most of the time you’re at your PC, you will be using the mouse. It is therefore really important you have a good mouse that won’t damange your hand after a few years use and is comfortable to use. Modern mice use laser scanners to track the position of the mouse on a flat surface. A higher resolution laser (measured in DPI – dots per inch) means that you can get more accurate tracking. Therefore look for high DPI mice for gaming or fine detail work as well as an ergonomic fit and lots of buttons. I recommend Logitech mice, after having had several Razer mice that didn’t last very long. I would also pick up a steel mousemat, as they never get tangled up in your mouse like the fibre mousemats do.
  • Recent Graphics Card – If you are into gaming or 3D modelling work, you would often prioritise this over any other upgrade. A new graphics card means that your existing games will run faster on higher detail settings, and you can play new games on higher settings with better framerate. I don’t think it matters too much whether you go for Nvidea or AMD as long as you can run the games you want to run. If you are not interested in running the latest games, then perhaps you don’t need this, but you may be missing out in the future.

Too much Scrolling! – Tips for Dealing with Mouse-Wheel Finger Repetitive Strain Injury

Recently I had noticed I’d been having quite bad problems with my fingers based on the fact that I had been scrolling the mouse wheel too much when scrolling through web pages. Here are a number of options you can take if you are in a similar situation as me:

Change OS’s scrolling speed to its maximum

This is the easiest change on most modern OSs, and will result in less scroll movements made by your fingers, because each scroll movement will move the screen down by a full screen height, (equivalent to a page down). This can be a bit annoying though as you lose accuracy when you want to just scroll down a small amount, it takes a bit of getting used to. Also you are still using the same muscles, just not as often.

Use keyboard shortcuts for scrolling

Space and shift-space should perform scrolling up and down in Firefox and Chrome on OSX and Windows. The more you avoid using the mouse and use the keyboard, the less you will use the same muscle in your fingers each time. Of course you may develop keyboard-related RSI, but so far I haven’t been affected by this.

Change to an Ergonomic Mouse

At work I now use an ergonomic Logitch mouse which has a responsive scroll wheel, and an option to ‘unlock’ the movement of the scroll wheel, allowing it to freely spin which results in greater comfort. Before I was using a work mouse which had a scroll wheel which you had to press down very hard to get it to do anything.

Use a Touchpad

You can get freestanding touchpads for Windows and OSX, which operate like a laptop’s touchpad. This has the advantage that you can also use trackpad gestures – Windows 8 onwards and modern versions of OSX have their own sets of handy gestures for speeding up use. I recommend the Logitech T650 Wireless Touchpad for Windows 8 onwards, and the – expensive but very impressive – Apple Magic Pad 2 for OSX . You can also get the Apple Magic Pad 1 which is half the price, but the feedback and gesture support isn’t quite as good. A trackpad is not much use for gaming but for normal browsing and office use it’s fine.

Biggest Disappointment Purchases for PC – Razer Tiamat + Lightpack

As you can see, I buy a lot of bits and pieces for my PC. Occasionally though, I buy something that I feel was a disappointment, or not worth the investment. This post is meant to caution against other people making the same mistake.

Razer Tiamat – 7.1 Surround Sound Gaming Headset, with microphone (


This was a big dissapointment in a couple of ways. The first, and most obvious in hindsight now I’m actually working on spatial audio for a living at BBC R&D, is that 7.1 surround sound headsets are a joke. There is no way you can get enough seperation between the different speaker drivers when your ears are so close to the speakers. If you have a soundcard or motherboard that supports surround sound, do yourself a favour and get a surround sound speaker set.

The second problem is that the Razer Tiamat has issues with electrical hum from the unshielded cables it uses. I replaced it with the ROCCAT Kave XTD 5.1 Analog surround sound headset which is better, although still not anything like the surround sound speaker setup which I now have.

Lightpack – Backlight kit with adaptive lighting for games (


I took a risk on this, it was a kickstarter idea which offered the promise of an ‘intelligent’ backlight which changed colours depending on what was on the screen. And it did work pretty well.. back when I was running Windows 7. Since upgrading to Windows 10, I haven’t been able to get it to work properly when playing games with Playclaw, which is my main use for it. I even had to purchase Playclaw, as the software which comes with Lightpack doesn’t work well. It still has limited use for me in terms of a colour spectrum effect for music when I throw a party, through using third-party software such as Ambibox. But the company really should improve its software to work with Windows 10 gaming. It didn’t even work well for me under Windows 8.

My Favourite OSX Apps for Development

I’ve just recently bought a Macbook Pro for myself, after having used a MBP at work for 4 years. I find it to be a really powerful development environment for the development I do, in languages such as Java, PHP, Ruby, Python and JS. Here is what I use day-to-day:

OSX El Capitan

I haven’t found anything not to like about this upgrade. I don’t use a lot of external devices, for which Bruce has found problems with El Capitan’s new restricted driver management for Arduinos and others. I like the fact I can use split screen functionality to side-by-side two windows easily, a feature that I very much like in Windows 10 too.

iTerm 2

This is an awesome terminal, better than OSX’s terminal. Nothing much more to say about it.

Fish Shell

This shell has fast and smart command-line completion which is very handy and I’d highly recommend it if you use the commandline a lot and are not totally won over by Bash. It looks nice too.


This is pretty much essential for command line OSX. It is a package manager which downloads and compiles the latest version of open source packages on your Mac. If you don’t use it already, get used to it.

IntelliJ WebStorm

WebStorm is great for debugging JavaScript applications, which I seem to be doing a lot of lately. I recommend the IntelliJ IDEA family of IDEs, once you get use to them, they are a great help in productive development. There are also vim and Emacs keybindings.


If you are a fan of vim you will know what I mean when I say I can’t be without it. My Dotfiles show my .vimrc and plugin configuration.


Thankfully the BBC has moved over to Github, meaning all my coding uses Git. It is so useful, and not just for storing code, you can store anything.


I use Apple Music, and iTunes Match, so iTunes is a must. It annoys me at times, but I just have to live with it.


Alfred is a replacement for Spotlight search in OSX. It has a lot of functionality that I’m still getting my head around, but it speeds up my OSX workflow a lot when undertaking frequent tasks such as Google searching.


Evernote is so useful for making and sharing notes on my phone, mac, work computer.. anywhere


This is something someone only recently recommended to me. It seems very useful from what I’ve seen, great way to share images files, screenshots, webcasts.. anything. Also it has as expiry policy for media, like Snapchat, so it doesn’t exist on the internet for generations to come.

Next Big Thing: Voice Control for Home Automation


So, I have totally bought in to the home automation craze that is currently ‘the next big thing’ in the technology world in 2015. Apple has released iOS 9 with their HomeKit home automation framework, Google have the Nest series of smart devices, and there are numerous emerging competitors and hundreds of devices out there right now that will network together in your home.

For the uninitiated, a ‘virtual assistant’ is a cloud-connected voice processing system which you can ‘talk’ to. This is how a voice assistant essentially works:

1. You speak into the device. Your device will record what you’ve said, and send it to the cloud.
2. In the cloud, sophisticated and adaptive voice recognition software analyses what you’ve said and converts it into text.
3. The text command is run on a server somewhere, for example the command, ‘what is the weather today?’ will fetch the latest weather report for your area and summarise it.
4. The summarised report is converted into speech and streamed back to your device.

Apple have Siri, Microsoft have Cortana, Google has Google Now and Amazon have Alexa. These are all voice assistants which utilise the power of big data and machine learning over millions of requests to improve their own accurately.

The more people use virtual assistants, the better they get. Apple have been really pushing Siri, including it in the Apple Watch and most recently the new Apple TV. Not necessarily because it’s what people want *now*, but because they are banking on enough people using it so it snowballs into the lead, vastly improves in functionality, and becomes ubiquitous in the home, maybe 5-10 years down the line.

Apple’s Siri has reported a 40% reduction in errors recently, meaning only 5% of the words it processes, on average, are misread. This clearly can, and will, improve as more people use it.

The speech recognition capability in Siri now has a 5 percent word error rate, thanks to a 40 percent reduction on the part of Apple, Craig Federighi, Apple’s senior vice president of software engineering, said today at Apple’s 2015 Worldwide Developers Conference in San Francisco.

Amazon, meanwhile, has the ‘Alexa’ virtual assistant, which seems to have most use in home automation. Although Siri is linked in with Apple’s ‘HomeKit’ automation standard, HomeKit-enabled devices are only just now starting to be released, and reliability is currently a problem. Meanwhile, Google have concentrated on providing a small number of reliable devices in their Wi-Fi enabled ‘Nest’ series. Google’s Nest Thermostat has recently integrated Amazon’s Alexa virtual assistant to recognise speech commands such as ‘turn up the temperature to 20 degrees’.

What a lot of people are saying is the ‘killer app’ for virtual assistants is the handsfree speaker and microphone unit ‘Amazon Echo’. Amazon Echo is a small unit with a highly sensitive microphone and speaker, which sits in your living room and you can ‘talk’ to it, just like you would with Google Now or Apple’s Siri. The best thing about Amazon Echo is that it can talk to other smart home devices, such as the popular Phillips Hue lights, the Nest thermostat, various security cameras. It also integrates with the site which is like a giant patchbay for smart devices, allowing you to connect them together and cause a state in one device to trigger an action.

So you can be sitting in your living room, and say ‘Dim all the lights in the house’ and Amazon Echo will do just that.

Unfortunately though, due to the fact that it uses Microsoft’s Bing search and doesn’t give you an option to choose a different search engine, it is not legal to sell the Amazon Echo in the UK due to a non-competition covering search engines in EU law. Therefore there is still an open gap in the market for this type of product, one which Apple’s HomeKit and Siri integration is racing to fill. However the closed nature of the HomeKit world means that it is likely that it won’t integrate with the non-Apple setup of Google Nest and others.

Introversion, Extroversion and the BBC Software Engineer


Whether you agree with Myers-Briggs personality profiling or not, like fellow BBC’er Ian Forrester I have found them a useful frame of reference from which to discuss my personality, because I see similarities between my perception of me, and the classification.

I took the Myers-Briggs personality profiling, and it has labelled me on several occasions an INTP:

INTPs are marked by a quiet, stoic, modest, and aloof exterior that masks strong creativity and enthusiasm for novel possibilities. Their weaknesses include poor organization, insensitivity to social niceties, and a tendency to get lost in abstractions. Keirsey referred to INTPs as Architects, one of the four types belonging to the temperament he called the Rationals

I – Introversion preferred to extraversion: INTPs tend to be quiet and reserved. They generally prefer interacting with a few close friends rather than a wide circle of acquaintances, and they expend energy in social situations (whereas extraverts gain energy).

Is this bad news for me? Introversion can be seen as a negative in today’s hyper-communicative world, especially for a team-based work environment. However I don’t think it need be a problem in an organisation that prioritises abstract thinking and creativity, because introverts are often very strong in both. The technology and R&D side of the BBC, I would argue, is such an organisation.

I know a few people from Imperial College London, one of the top universities in the world for Computer Science (and Science Technology Engineering and Medicine in general) and have found it full of technically gifted introverts. Now, I didn’t go to Imperial myself, but it does seem that there is a correlation between introversion and high amounts of technical ability. I have found this also with a lot of software engineers that I have worked with.

I am not saying necessarily that all good software engineers are extreme introverts, in fact I would say that this is untrue in a number of cases. This is because Agile software engineering often uses techniques such as pair programming from Extreme Programming, and it helps to have extroversion when dealing with hyper-social practices such as programming as a pair every day all day (which I have done, and found it very draining).

In fact, I have noticed that technical ability is less important than your ability to work in a team at the BBC. I generally have fairly good social skills and tend to like introverts so I personally have not had a problem with dealing with people who were very introverted but were technically quite brilliant. However it was clear that these types of people just didn’t seem to fit in quite as well in BBC teams with high collaboration aspects. I think this may be down to cultural fit rather than something we can extrapolate over all software engineering organisations.


Indeed, aside from my anecdotal evidence, in the book ‘Making Software’ Jo E. Hannay analyses the academic research on what type of personality programmers have, and what effect this has on their work. She writes;

We found that programmers deviated from a reference group in that they are lower on Extraversion, lower on Emotional Stability, and higher on Openness to Experience [Hannay et al. 2010]. See also [Moore 1991], [Smith 1989], [Woodruff 1979], [Capretz 2003], and [Turley and Bieman 1995] for related results. Programmers are also more homogeneous than the population as a whole; that is, programmers vary less in personality than do people in general.

So programmers tend to be introverts. Not really hugely suprising is it? However, she also notes:

We investigated .. in the context of 198 professional programmers pair programming over one day [Hannay et al. 2010]. We found that personality was a weak predictor of pair programming performance. Even crude measures of expertise, task complexity, and even the country in which the programmers where employed had greater predictive power than personality. The study also included an analysis of personality on individual programming and whether the effect on performance of pairing up had anything to do with personality. Again, expertise and task complexity are stronger predictors than personality.

Therefore an introverted personality is a poor predictor of pair programming performance across the industry. She goes on to say:

In ethnographic studies focusing on personality issues and disruption in software engineering team collaboration, it was found that disruption is bad, but lack of debate (which is a mild form of disruption) is worse [Karn and Cowling 2006], [Karn and Cowling 2005]. It is argued that pairs or teams with personalities that are too alike will lead to lack of debate. This finds empirical confirmation in [Williams et al. 2006] and [Walle and Hannay 2009]. In particular, differences in Extraversion has the largest effect: pairs whose peers have different levels of Extraversion collaborate more intensely (that is, engage in more discussion) than those with more similar levels.

She is saying that a pair of extroverted and introverted personalities collaborate more strongly than a homogenous pair. To me, this is good evidence that introversion and extroversion have their place in modern software development teams across the industry, and both types of personality should be culturally valued for collaboration, not just extroverts, even at hyper-collaborative organisations such as the BBC.

Completed Eurorack


I’ve finished my 6U Eurorack case. It took me 9 months to build, buying a couple of modules a month.


I wanted to make a self-contained dual voice synthesizer that would interface with my 2x Doepfer Dark Energy MK1s and my Microbrute, on a budget. I also wanted to add some random sound generation features.

I chose to make the synthesizer out of Doepfer modules because they are easy to find cheap second-hand, and also because they are well-engineered. (If they’re good enough for Kraftwerk, who am I to complain?)


Oscillators and Sound Generation

  1. 2x standard Doepfer A-110-1 VCOs with pulse-width modulation. I am no expert, but find these oscillators sound good enough for the money.
  2. A-118 Random Noise module, which outputs white and coloured noise. This has been useful for adding noise to a patch, as well as feeding the random noise generator through the quantizer and S&H modules for interesting random effects.

LFOs and Envelopes

  1. A-143-3 Quad LFO, which has been very useful in modulating my external gear, such as my Microbrute and Doepfer Dark Energy synths. I find it’s a good utility module to just patch something up for modulation, even though I rarely find myself using all 4 LFOs at once.
  2. A-145 LFO – I actually find myself wishing this was a VCLFO so that I could make midi-synced LFO sweeps, and might replace it with one eventually. I like the reset feature though.
  3. 2x A-140 ADSR – Standard envelopes, I bought two so I can modulate the VCA and filter separately at the same time, as is standard in synthesizers.

Mixers and VCAs

  1. A-132-3 Dual VCA – Another standard module, this is particularly useful as it has two VCAs, so I can feed each oscillator into its own separate VCA. I would like another one of these so I could amplify the output of the noise module separately from the VCOs.
  2. 2x A-138 Exponential Mixers – I have two so I can mix multiple waveforms from the VCOs with the white noise output from my noise generator module. The mixer in the bottom right corner of the case has rubber no-slip knobs, and I use it for the main output from my synth.

Quantizer and S&H

  1. A-156 Dual Quantizer – This is a really fun module which I use with LFOs, envelopes and my noise generator to make musical sounds from non-musical sources. I think it will come into its own when I get the Make Noise Maths module, which is on my ‘next steps’ list.
  2. A-148 Dual Sample & Hold – This is a module I haven’t quite grasped the utility of yet, I currently use it wired up to filters and a LFO for S&H filter effects.


I love filters.. so I got quite a few!

  1. A-120 VCF1 Low Pass Filter (Moog style) – The standard moogy filter, nothing wrong with it. I like the sound but mostly use it for filter sweeps.
  2. A-127 Triple Voltage Controlled Resonance Filter with Breakout Box – This is the key element of my setup. It allows for some really nice multiple filter chaining effects. I have the top filter set to ‘Low Pass’ mode, and the second and third filters set to ‘Band pass’ mode. Since I already have a LP filter in the Moog style A-120 I may change this back so it becomes a triple BP filter, which is the default. You can make some really nice patches with the inbuilt LFOs modulating the filter sweeps, but usually I will wire it up to my Quad LFO for modulation. As a unit, it is really good at making vowel-like sounds for eerie ‘almost human voice’ effects. The breakout box, which I haven’t soldered in yet, so haven’t actually used, will expand the possibilities of the unit even more, allowing me to put separate filers on each oscillator, for example. Love this module.
  3. A-106-1 Xtreme Filter – I haven’t used this much yet, but I just had to have the MS-20 style LP/HP filter in my case, and this filter ticks all the boxes.

MIDI Interface and Multiples

  1. Kenton Pro Solo MIDI-to-CV interface – I use this with my computer, allowing me to send CV for the oscillators through the Intelligel Buff Mult. It has clock out and a bunch of different features, such as portamento and even a LFO.
  2. Intelligel ‘Buff Mult’ – My only non-Doepfer module. This is a buffered multiplier, meant to make sure that fast pitch changes are duplicated correctly over the oscillators. I also wire up my Doepfer Dark Energy Mk1s to this, so I can have 4 oscillators playing at once.
  3. A180-1 Multipler – Just a standard multiplier which I use because I don’t use stackable cables (can’t afford them).

Things I’d like to Learn More About

Some things I have been meaning to investigate in my own time, but haven’t, because life just gets in the way.

  1. Maths
  2. – It might surprise a few people that, as a software developer, I never took maths to A-level. I picked up a bit of maths in my CS degree, but I never really got a firm grounding in it. This has prevented me from understanding and coding advanced stuff in game development, understanding audio to a decent level, and generally doing things in which I consider the more interesting fields of computing.

  3. Music Theory
  4. – I have been getting better at playing the piano/keyboard by ear, but I have never fully learned to read music, and I would like to.

  5. Electronics
  6. – I would love to be able to build simple DIY synthesiser module kits for my Eurorack setup. I imagine I’d have to start on something small though.

It would be great if I could take courses in these subjects, via the OU or something similar. I just have to find the time.

Goals for the Year 2015 – Midway Update

Winding Road

Now that I am midway through the year, I thought I’d revisit the goals I set myself at the start of the year, to see what has changed.

Career Goals

  • Settle into my new role at the BBC as Test Manager – I suppose this has not been achieved. I will have more updates soon (hopefully) but a change of direction is likely to happen.
  • Pushing for a place to be opened up in Platform Test to employ someone from the Extend Scheme – This has been achieved, and someone will be joining Platform Test from the Extend scheme in October, I’m happy to say.

Creative Goals

  • Get better at music production – This has been achieved. I have been working with my friend I will call ‘G’, which has massively improved my production skills. I have posted music that I see as much better to Soundcloud.

Social Goals

  • Getting married – Well.. things didn’t work out with that. But I have a new girlfriend who will hopefully be moving to live with me, so things seem to be recovering there.
  • Making friends with more people that share the same interests – Partly achieved. G is a good example of someone that I have met through looking for friends with the same interest.

Financial Goals

  • Saving more over the course of the year – Partly achieved. I have bought a house, so now I am in a quite a bit of debt, but the money I will be putting towards my mortgage will be money I am effectively ‘saving’ because it will be put into the value of the house.
  • Joining a pension scheme – Achieved.

Health Goals

  • Adopt a regular form of keeping fit – Not achieved. I have a gym even closer to where I live, 5 minutes walk, so hopefully I will use it more soon. It is difficult for me, as the medication I’m on makes me feel tired all the time, but they do say that exercise improves energy levels.


Although I’ve achieved the majority of my goals, I haven’t achieved two of the major goals – around my job and around exercise, which are both things I need to work on. There is still time left this year to make a difference in these areas.

Use Siri, Apple Earphones and Apple Music Together

This requires you to have a subscription to Apple Music and a 3G/4G/wireless data connection, but it is so useful! Using this tip, you can be walking along with your iPhone in your pocket and your Apple earphones in, and then change music just by pressing a button on the earphones remote control and saying ‘Play (your favourite band)’.

blog post image

1. Activate Siri and subscribe to Apple Music. I used to subscribe to Spotify so I switched to Apple Music when I realised the advantages of the integration on my phone, and the wider selection of music. You will also need to set Siri to stream music over your cellular network, this can be done in the ‘Music’ section of iOS settings.

2. Put the iPhone in your pocket with the standard Apple Earphones plugged in. With the standard Apple Earphones, there is a remote control on the cable with one button on it. To activate Siri, hold that button down for a couple of seconds until you hear the ‘Siri’ ‘bleep’.

3. Say ‘Play The Prodigy’ if you want to listen to The Prodigy, for example. This may require a couple of tries occasionally, but usually it just works.

4. Siri should look up The Prodigy on Apple Music, find their most popular songs, put them in a playlist, start streaming them and playing them through your earphones. To skip a song, press the remote control button twice in quick succession. To adjust the volume, press the edges of your remote control, the top edge to increase volume, the bottom edge to decrease. To pause all music playback, just press the remote control button once. To resume playback, press the remote control button once again.

A limitation of this is that you have to be in an area with good reception, enough to stream your tracks from Apple Music. You shouldn’t have a problem if you live in a city like Manchester, I usually get 4G across the whole city.

Modular Progress

Modular Synthesizer
modular layout

My Eurorack modular has been progressing. I’ve added several low-cost modules, a Doepfer A-138b audio mixer module so I can mix the audio outputs of the oscilators, the noise output, and my Doepfer Dark Energy modules. I found this so useful with the Dark Energys that I have ordered another mixer. This I can use to mix audio before sending it to the filter, for example, or mix audio before sending it to a VCA to be amplified. I also added another envelope generator, Doepfer A-140, a sturdy workhorse and also useful for triggering the filter independently of the VCA envelope. Then I added a syncable LFO.. I already have 4 LFOs from the quad-LFO module in the top right, but I wanted a LFO with a reset option that I can use for MIDI syncing. On order is also a A-148 S&H (sample and hold) module which I will use for generating interesting random tones once I have expanded the ‘generative music’ theme of my setup a bit more.

I also added a secondhand Kenton Pro Solo, a small midi-to-cv converter which has a lot of features, including clock sync output as well as CV and gate.

Next purchases may include (all Doepfer) a ring-mod, small essential module that it is. I also want a clock divider and clock sequencer, allowing me to take the midi clock output of my Kenton Pro Solo and link it up to activate timed triggers. I eventually want to get a Make Noise ‘Maths’ module as the highlight of my small modular, but the budget does not permit that right now.

Switching Audio between two Soundcards


If you have two soundcards – maybe a normal soundcard for your speakers and maybe a headset with its own audio interface – you will want some way of switching all audio between the two. This is an great little open-source tool to do just that. It works on Mac, and Windows 7 up to 10:

Get rid of the ‘most visited sites’ Grid on Chrome

Not that I particularly look at anything weird, but when I’m showing someone my computer I don’t want to have my ‘most visited sites’ pop up when I fire up Chrome. The following Chrome extension will get rid of the default loading page, and just display a blank page:

Open Source! Device API and Device API-Android on Github

Two Ruby gems that I contributed to from my days in the BBC’s TITAN (Test Tools and Infrastructure) team, have been open-sourced. So finally I can say that I have made proper open-source contributions. The gems are for making automating of Android phones via Android Calabash easier, and are used in a lot of the mobile testing we do at the BBC. Here they are:

Here is my Github profile, which doesn’t look very active on the surface, but I have been contributing to repositories which remain private at the moment, so my history is not visible.

Instruments That I Use

I have a lot of different instruments, both hardware and software, for making music, but here is what I use the most at the moment:

I have an actual electric piano but I don’t use the onboard sound engine, preferring to use it as a midi controller for a software piano sound. Recently I bought Ableton Live Full Suite, before I was using the ‘Grand Piano’ sound from the default install. Now there is a whole ‘Piano’ Ableton Live pack, and that seems to offer much more realistic piano sounds.

Lately I’ve been using the Sonic Charge’s Microtonic for drums, because I have been making more dance-orientated music. I find the drums really good, and they’re already fully processed with effects so you can just slot them into the mix. I also have been using the built-in Ableton 909 kit sound a lot, but might move away from that as I don’t like the sound compared to Microtonic. At some point in the future I will probably get my Nord Drum hardware drum synth out, but for now I can’t find the power supply so it’s not working.

I have been using my modular and semi-modular synthesizer as a main bassline synth, with some sounds from Ableton over the top. I have used the Access Virus synth quite a bit for synth duty, and it has some great presets for evolving arps.

Modular Progress



I have finished filling the top half of my Eurorack case, see above. Here is a list of modules:

Next Moves:

  • Get a logarithmic mixer module A-138b for mixing the output of the noise + two VCOs into the filter, and to free up some of my ZED-10 mixer channels for other things
  • Got another A-140 ADSR module but no cable, going to get a cable and put it into the bottom left corner of the lower section.



My (mostly) Doepfer Eurorack is hooked up to my Microbrute, 2x Doepfer Dark Energy MK1s and my ZED-10 recording mixer.

The Microbrute acts as a pitch and gate out keyboard controller for all the synths and a semi-modular synthesiser in its own right with its patchbay.

The Doepfer Dark Energys are complete synth voices with a fair amount of input/outputs for modulation. They are hooked up to the pitch and gate out from the Microbrute via the Buff Mult and the Multiples on the Eurorack.

One configuration that I often use when composing music, is wire the Eurorack, the Dark Energys and the Microbrute into the ZED-10 mixer, tune each so they all play together, and create one massive analogue 5-osc synth mono voice which is great for devastating basslines, and I can modulate with the LFOs and envelopes in the system. I can then program a sequence into the Microbrute and transpose it when I play notes down on the Microbrute keyboard, or control it via the USB IN from Ableton.

Another configuration which I find interesting is patching the output of the Noise Generator/Random through the Quantizer. This results in random musical notes played by the oscilator, and you can create interesting pattern or arpeggios created solely by the Euroack without human input. I like the idea of generative music, and will be buying more modules to create more interesting computer generated randomness and music.