Start Music Hacking Now

No Comments

I keep hearing myself say:

There has never been a better time to get into music technology than now

– Haig Armen

These days there is so many choices of software and hardware platforms and resources designed specifically for any level in what was once an extremely specialized field.

Not that kind of Hacking…

‘Hacker culture’ is a subgroup of the DIY ethic, so 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 includes extending a system’s functionality or repurposing technologies for other uses. Examples of music tech hacks include; developing custom software that allows a games controller to control your music software, or adding various sensors to your guitar to control its sound in unique ways.

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. 

Max MSP
Pure Data, otherwise known as Pd, not as pretty as Max but more open

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 endeavours. 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 ChucKCsoundFAUST, and Cinder.
  • Sonic Pi.

3. Start with Arduino or Pi

Arduino was the most popular platform for hobbyists to create their own interactive hardware projects and devices but it seems to have been surpassed by the Raspberry Pi in recent years. Whereas the Arduino comprises of a single microcontroller boards, with dedicated software application and programming language, the Raspberry Pi provides a full Linux OS and multiple programming languages to choose from including Python, Javascript and C++. Both platform are 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 Arduino and RaspberryPi platforms.

Arduino UNO

Arduino has many core and extension libraries for dealing with MIDIsynthesis, 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 MIDIaudio playbackFX, and synthesis.

An Arduino board being used to hack a toy piano into a MIDI controller

4. Hack an 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. 

The Axoloti Core micro controller board

Here are some examples of currently available programmable audio platforms:

5. Hack an instrument

You don’t need to wait for permission to hack an instrument, and some products are more hackable than others – whether it’s 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.

Roli’s Lightpad Block is hackable

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 ProSound Machines NS1nanosynthMeeblip, and Soulsby Atmegatron

Let me know if you’ve ever tried hacking an instrument or made an instrument using electronics.

Previous Post
Introducing PureData
Next Post
Algorithmic Composition

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Menu