c't 17/2016
S. 164
Know-how
Live-Musik mit Python
Aufmacherbild

Vom Programmierer zum DJ

Mit Python und Sonic Pi elektronische Dance Music komponieren

DJs verlassen sich schon lange nicht mehr nur auf Keyboards, Mixer, Plattenspieler und Sampler. Sie klicken ihre Arrangements auch mit PC und Maus zusammen. Eine Programmiersprache wie Python spart einem sogar das Klicken: Das Modul python-sonic macht die Entwicklungsumgebung zum Musikinstrument und den Programmierer zum Musiker.

Die freie Live-Musik-Software Sonic Pi wurde ursprünglich für Ruby entwickelt. Ihr Schöpfer Sam Aaron, Wissenschaftler an der englischen Universität Cambridge, tritt damit in Clubs als DJ auf. Mit dem Python-Modul python-sonic kann man nun auch von Python aus mit Sonic Pi musizieren. Sonic-Pi-Programme laufen auf allen Plattformen, für die es Sonic Pi gibt: Windows, OS X und Linux, einschließlich Raspbian für den Mini-Computer Raspberry Pi, für den Sonic Pi ursprünglich entwickelt wurde.

Sonic Pi ist der Server für die Klangerzeugung, der laufen muss, bevor das Python-Programm startet. Außer Sonic Pi benötigen Sie Python 3.4 oder neuer. Um Musik zu programmieren, können Sie das klassische Python-Werkzeug IDLE verwenden. Für Live-Musik geht es einfacher mit Jupyter (früher IPython Notebook). Die Software und das Jupyter-Notebook mit allen im Folgenden erwähnten Code-Beispielen bekommen Sie über den c’t-Link am Artikelende. Das Modul python-sonic installieren Sie am einfachsten aus dem Python Package Index mit

sudo pip install python-sonic

Loop

Ob Dance Music, Pop Songs oder Klassik, Musik lebt von der Wiederholung: Töne oder Tonfolgen wiederholen sich immer wieder. Typisch ist dies für das Schlagzeug, das den Rhythmus vorgibt. Ein Song besteht aus verschiedenen dieser Schleifen, auch Loops genannt, die gleichzeitig ablaufen und in sich variieren können.