Projects SHOWCASE DAVE GRIFFITHS Dave Griffiths is a game designer, MIDI data is slowed down programmer, and live-coding algoraver. by this buffer so the synth He performs internationally with Slub, can pick it up an algorithmic rave group. fo.am/midimutant RICHARD JAMES Richard’s best-known alias is Aphex Twin, under which he has recorded six acclaimed electronic albums. aphextwin.warp.net

The custom MIDI interface A cheap USB audio is used to send synth data card is used to connect to the TX7 the microphone APHEX TWIN MIDIMUTANT Somewhere in Cornwall, there’s a that boinks endless Quick strange sounds as they slowly evolve towards a new synth patch. Facts Sean McManus investigates

> Making a good patch manually f you’re a fan of ’80s pop, as Aphex Twin. essential because you can make can take days I you’ll have heard the “The first proper synth I got was a stable setup that isn’t going to > Midimutant Yamaha DX7. It’s one of a DX100 and I’ve always thought start updating itself and reboot.” can make the best-selling , and there’s got to be a more interesting The idea came from a lost thousands its built-in sounds can transport way to program the damn things feature on the Kyma synth, of patches per day… you to the era of big hair and neon than laboriously going through based on the work of Andrew leggings. One reason it is evocative all the hundreds of parameters. Horner, which enables sounds to > …But only about half of them is that so many artists used those Even though I quite like doing that evolve. Midimutant uses a similar are useful preset sounds, to the point of them anyhow, hehe.” approach: you give it a sound, > Dave coded becoming a cliché. The synth is A conversation with his friend and it aims to recreate it on the Midimutant based on frequency modulation Dave Griffiths led to Dave building Yamaha TX7, a version of the DX7 in C++ (FM), and it could take a few days to Midimutant, a Raspberry Pi-based without a keyboard. “There’s > He now has create a good patch (or sound). Many device that programs the synth nothing especially great about a 3792 saved Midimutant chart-toppers took the easy way out. for you. “This is something you TX7 apart from I love all forms of DX7 patches “I’m nuts about FM synthesis,” want to leave running for hours,” FM and that is a really small unit, says Richard James, who creates says Dave. “The Raspberry Pi is so it’s a lot easier to handle than

30 January 2018 raspberrypi.org/magpi APHEX TWIN MIDIMUTANT Projects

MAKING MIDI SOUNDS WITH MUTATION

a DX7 or other FM devices I’ve got Above Midimutant sits on top of the Yamaha TX7 synth. The Raspberry Pi lying about,” says Richard. >STEP-01 Touch Display is used for control Record your sound Dave adds: “The DX7 is the Use the USB microphone to record the source sound ‘classic’ FM synth. If it works on it usually (although not always) you want Midimutant to try to match. Short sounds will that, it would work on anything.” converges on something good,” evolve faster. says Dave. The most interesting Random scoring sounds emerge from trying to At the start, a population of random match beats and voices. sounds is created. Each one is One fascinating aspect of the compared to the source sound using project is that Midimutant doesn’t Mel-frequency cepstral coefficients need to understand how the (MFCC), a way of comparing sounds synth functions. It just needs to that comes from recent work on know how to format the (initially speech recognition. random) data so the synth can use The DX7 is the ‘classic’ FM synth. If it works on that, it >STEP-02 Run the algorithm would work on anything Midimutant creates a random set of synth patches. It sends the data to the synth using MIDI. The synth Each of the random sounds is it, and it uses the sound the synth plays the sound, and Midimutant ‘listens’ with scored and ranked for its similarity produces to score the results. the microphone. to the source. The program gets The biggest challenge? rid of the lowest scoring half, “Listening to endless bonkers and creates a new population by sounds for days on end, changing copying with errors (mutation) and parameters slightly and waiting crossbreeding (mixing together) ages to see if there was an the top half. “Repeat this process improvement,” says Dave. tens or hundreds of times and “Actually, that was quite fun…”

>STEP-03 Do patch sex! The sounds are compared with your original. The best ones are evolved with random mutations. Use the The Yamaha DX7 is an iconic synth, ‘patch sex’ option to combine sounds, too. For best but Midimutant should work with other FM synths too results, leave it running overnight. Image credit: Flickr user deepsonic (CC BY 2.0) deepsonic (CC BY user Image credit: Flickr

raspberrypi.org/magpi January 2018 31