What do I mean by ‘music tech DIY & hacking’ exactly? DIY refers to building something yourself, so in regards to music technology this would be the process of making your own custom music software or hardware. A subgroup of the DIY ethic is the ‘hacker culture’, but by ‘hacking’ I don’t mean the process of illegally breaching the security of computers as the term is often incorrectly defined.
Hacking is the process of building software and hardware through experimentation, and often includes extending a system's functionality or repurposing technologies for other uses. Examples of music tech hacks would include; developing custom software that allows a games controller to instead control your music software, or adding various sensors to your guitar to control its sound in novel ways.
A great example of a music tech hack is the Play House project by Alex Allmont, which is a Lego Technic kinetic sculpture that controls a modular synthesiser using cogs, levers and sensors.
Whether you want to create your own music software, build your own musical device or modify existing gear to tailor it for your needs; there are now many options available for you that I’m going to discuss here.
1. Learn Graphical Programming
Graphical or visual programming languages are probably the easiest way to get into software development, as they just involve connecting or ‘patching’ together graphical objects instead of having to write any code. The two most popular graphical programming languages for music and audio are Max (which you may know in it’s Max For Live form) developed by Cycling ’74, and the community-driven Pure Data (aka Pd). Both are very similar in their functionality, however while Max provides a more user-friendly interface and professional support, Pd is free and can run on a higher number of platforms and devices.
These environments comprise a set of graphical ‘objects’ that each has its own particular function (e.g. waveform generator, audio filter, MIDI input), and are connected together via patch cords, all graphically laid out on a canvas known as a ‘patch’ which can be configured in an infinite number of ways depending on what you want your program to do. They allow you to do almost anything with audio and MIDI – input/output, synthesis, recording/sequencing, effects/modification and analysis.
There is no doubt that the music tech hacking community wouldn’t be the same without Max or Pd, and to many they are known as the best platforms for making interactive music performance software. They are especially loved by artists and musicians as you can make custom music software quickly without needing to know how to code. As you’ll see later on in this article you can use both Max and Pd to hack various hardware platforms and devices, so it is well worth learning at least one of these to become a music tech hacker.
2. Learn Some Beginner-Friendly Coding
The next step up from learning a graphical programming language is to learn a textual programming language. While it may seem like a daunting task, there are now many coding languages, environments and toolkits designed specifically for beginners to create music and audio programs quickly and easily. Even though there is a steeper learning curve for coding compared to graphical programming, textual languages generally offer a lot more flexibility and provide you with a much better and more expandable skillset for not just DIY and hacking but also for more serious software development endeavors. As you’ll see later on in this article, knowing textual programming languages is essential for hacking and developing for certain hardware platforms and devices.
There are two broad types of coding platforms to mention here – Audio Programming Environments, which are designed specifically for creating music and audio programs; and Creative Coding platforms, which are used for developing software containing a range of different types of multimedia including music and audio. Here are some examples of the most popular coding platforms within the music tech DIY & hacking community:
- SuperCollider – SuperCollider is an environment and programming language designed for audio synthesis and algorithmic composition, and is very popular for live coding and algoraves.
- Processing – Processing is a creative coding environment and programming language originally designed for teaching programming, however it has since been adopted by the DIY community for creating rich multimedia applications.
- openFrameworks – openFrameworks is a creative coding toolkit that uses the C++ programming language and a range of third party development environments. While less beginner-friendly compared to Processing, it is more flexible with much stronger audio capabilities.
- Other platforms include ChucK, Csound, FAUST, and Cinder.
- Sonic Pi.
3. Buy An Arduino Starter Kit (And Tinker With Electronics)
Arduino is probably the most popular platform for hobbyists to create their own interactive hardware projects and devices. The platform comprises of a range of different microcontroller boards, as well as a dedicated software application and programming language. Even though it’s a very general platform, it’s very popular in the music tech DIY and hacking community due to being extremely beginner-friendly and highly programmable as almost any type of music or audio device. As you’ll see later on in this article a few commercial hackable musical products are built using the Arduino platform.
The best way to get started with Arduino is to buy an Arduino Starter Kit, which comes with an Arduino Uno board, a large number of electronic components, and a project book. Whilst the majority of the starter kit projects aren’t directly music related, after a while you’ll start to figure out how they could be adapted and hacked into music tech projects. Arduino has many core and extension libraries for dealing with MIDI, synthesis, and almost everything else music related, and there are many hardware ‘shields’ for Arduino boards for providing extended music-related functionality and IO, such as MIDI, audio playback, FX, and synthesis.
An Arduino board being used to hack a toy piano into a MIDI controller
However if you are interested in building DIY USB-MIDI controllers or more complex or powerful audio devices you may want to swap out the Arduino board with a Teensy board. Teensy is an Arduino-compatible platform that has USB-MIDI support built-in; a feature that is harder to accomplish with Arduino boards. Teensy also has a more advanced core audio library and an official audio adapter board, and has the computational power to do more complex audio related tasks.
4. Buy A Programmable Audio Platform Device
Programmable audio devices are hardware/software platforms designed specifically for developing your own electronic musical instrument, synth, MIDI controller, FX unit, sequencer and so on. They usually consist of a piece of hardware containing freely assignable controls and inputs/outputs, as well as a software element for programming exactly how the hardware behaves. Compared to using a general purpose platform – such as Arduino – they’re generally a bit quicker and easier to use, however with that you may sacrifice some of the flexibility and configurability that general purpose platforms provide.
Here are some examples of currently available programmable audio platforms:
- Axoloti – Axoloti is a powerful microcontroller board that runs its own open source graphical audio patcher software environment similar to that of Max/MSP or Pure Data. With its good selection of audio and MIDI inputs/outputs as well as ports for connecting your own controls and LEDs, Axoloti allows you to make almost any musical device you could want.
- Hoxton OWL – The OWL is an open source programmable audio platform that comes in the form of either a guitar FX pedal or a Eurorack synthesiser module. You can then program your own FX or synth patches using a range of different programming languages and environments including C++, Pure Data, Max/MSP, and FAUST. For more info see here.
- Shantea Controls OpenDeck – OpenDeck is described as an “open-source platform for building custom MIDI controllers compatible with any MIDI software and hardware on any OS”. No need to do any coding here – it comes with a web-based software editor for configuring the hardware’s functionality. See here for a full run-through of OpenDeck.
- Other options include Patchblocks, the Doepfer Musikelectronic DIY series, the Livid Instruments Builder DIY MIDI platform, and Bela for the BeagleBone Black.
- Pisound for the Raspberry Pi. (Check out our review here.)
5. Buy A Hackable Musical Product
A hackable musical product is a device – whether a synth, FX unit, MIDI controller or similar – that you are able to modify and customize in great detail so that it can operate in ways more specific to your needs. I’m not talking about opening up your expensive gear, prodding the electronics and voiding your warranty in the process – these are products that the manufacturer has allowed the end-user to hack via official methods. They’re not primarily designed for DIY development like the above list of platforms and therefore aren’t always as flexible in this aspect, however having the product’s existing functionalities and controls at your disposal can provide a quicker and easier hacking process.
Here are some examples of currently available hackable musical devices:
- ROLI Lightpad BLOCK – You can customize this 3D touchpad MIDI controller using a simple and specifically-designed programming language and application. See this tutorial to learn how you can go about hacking the Lightpad.
- Critter & Guitari Organelle – This small desktop device allows you to run your own Pure Data patches on it, allowing it to become a personalized standalone synth, sampler, FX unit, or anything in between. Therefore you simply just need to learn how to use Pure Data to hack this device.
- Bastl Instruments Kastle Synth v1.5 – This is a mini modular digital synthesiser that is DIY-friendly due to it running on two Arduino-compatible chips that the user can reprogram to modify all aspects of the synth’s engine. Prior knowledge of the Arduino platform is expected if you want to hack this device.
- Other options include the Novation Launchpad Pro, Sound Machines NS1nanosynth, Meeblip, and Soulsby Atmegatron.
6. Visit A Hackspace Or Attend A Hackathon
For a hacker, a hackspace is their home and a hackathon is their holiday. A hackspace (also known as a hackerspace, hacklab or makerspace) is a community-run workspace where people can meet, socialize and collaborate on projects in relation to computing, machining, and technology. Often hackspaces put on various events such as workshops, talks and meetups for people to learn new skills and discover new technologies and projects.
There now seems to be a hackspace in most major towns and cities around the world, and as of writing this there are at least 1386 known active spaces, including some music-specific hackspaces such as London Music Hackspace. If you’re interested in the world of music tech DIY & hacking, a hackspace is one of the best places you can visit to find out more about how you can get involved and to discover the different skills you can learn. To find your nearest hackspace, check out this list of hackspaces or do an online search for hackspaces in your local area. To get a taste of what hackspaces are like check out this short film about London Music Hackspace.
On the other hand, a hackathon (also known as a hackday or hackfest) is a sprint-like event where hackers work on projects and ideas, either individually or within teams. Hackathons tend to be one or two day events which include an intensive non-stop 6 or 24-hour period for hacks to be completed, often ending in prize giveaways for the best projects. Music tech hackathons bring together developers, designers and musicians and often result in a wide range of projects often displaying new and novel ways of making and performing music.
Possibly the most widely known series of music tech hackathons is Music Hackday which is organized several times a year all over the world, however a couple of other popular or frequent ones are the Hack Camp at Music Tech Fest, the Waves Vienna Music Hackday, and the Monthly Music Hackathon NYC. To get a better idea of what a music tech hackathon is like check out this video of the hackathon at Music Tech Fest Berlin 2016.