foam

Activities > FoAM Kernow > midimutant

midimutant

Made in collaboration with Aphex Twin, the midimutant learns how to program your DX7 synth so you don't have to.

Equipped only with a microphone input and midi output, the midimutant runs on a Raspberry Pi and uses artificial evolution to grow new sounds on hardware synthesisers that mimic an example sound you provide.

Coming soon: Source code and instructions on how to build your own. Info and notes on the hardware and Pi setup here.

How it works: Every sound in a population of initially random patches is sent and auditioned via sysex midi messages, sampled and checked for similarity using MFCC analysis. The best patches are chosen to form the next generation using the sysex patch data as genetic material, converging (most of the time) on similar sounds. Unlike a neural network or machine learning algorithms, the artificial evolution does not need to model the underlying parameter space - i.e. how the synth internally functions to create sound. Midimutant can therefore be used on any synthesiser with a documented sysex dump format.

Some conceptual background can be found in this paper (although the midimutant is a more naive and freeform approach to the same problem):

Andrew Horner, James Beauchamp, and Lippold Haken, "Machine Tongues XVI:
Genetic Algorithms and their Application to FM Matching Synthesis,"
Computer Music Journal, 17:4, pp. 17-29, Winter 1993.

IMG_3504
IMG_3492
IMG_3490
shot
IMG_3488
IMG_3497