Modular Link - Ableton Link in Modular
Ableton Link on Raspberry Pi Zero
Ableton Link ist toll. Allerdings gibt es meines Wissens aktuell kein Eurorack-Modul. Also hatte ich mir gedacht, mein eigenes Modul zu bauen. Nachdem ich mich ein bisschen im Internet umgesehen hatte, stieß ich auf das Projekt pink-0. Der Artikel war schon etwas älter und so entwarf ich ein eigenes Modul mit einigen Modifikationen in Bezug auf die verwendeten Hardware-Komponenten. Den Softwareteil habe ich komplett neu geschrieben. Die Ergebnisse sind auf meinem GitHub-Account unter Modular Link auf GitHub verfügbar.
Was ist Link? Ableton Link ist eine Technologie, die Geräte und Anwendungen über ein drahtloses Netzwerk oder per Kabel miteinander synchronisiert. Link-Software bleibt sowohl im Tempo, als auch in der Taktposition synchron - bezüglich der globalen Launch-Quantisierung aller Teilnehmer. _(https://www.ableton.com/de/link/)_
Das Unternehmen, das ein Ableton Link-Gerät als eigenständiges Produkt anbietet, sollte nicht unerwähnt bleiben: The Missing Link von Circuit Happy. (PS: Ich habe keinerlei Beziehungen zu diesem Unternehmen 😉)
Features von Modular Link
- Ableton Link als Eurorack-Modul
- Läuft auf einem Raspberry Pi Zero
- 7 Segment-Anzeige für BPM
- Dreh-Enoder zum Ändern von
- BPM (beats per minute)
- LOOP (beats per bar)
- Triggers per Beat aka PPQN (Pulses Per Quarter Note)
- Driver-IC MAX 7219 für 7 Segment-Anzeige
- Debouncing des Start/Stop-Buttons in Software gelöst
ToDo’s
- Midi-Clock (Output) über USB
- Möglichkeit, sich in ein fremdes WLAN einzuloggen
- Raspberry Pi als eigenständiger WLAN-Access-Point
Modular Link in Aktion
Teil 1
Teil 2
Sorry, für die schlechte Soundqualität. Hab ich nur auf die Schnelle mit einem iPhone aufgenommen…
Eurorack Modul
Hardware
Schaltplan - Eagle Schema
Die Eagle-Dateien kann man unter https://github.com/vorwieger/modular-link im Verzeichnis doc
herunterladen.
Mapping zwischen wiriingPi und physikalischen Pins
Damit man im Programm die korrekten physikalischen Pins ansteuert, muss man bei Verwendung Library Wiring Pi die korrekten Nummern wählen. Das Mapping kann einen schon verzweifeln lassen, hilfreich ist der Aufruf der Methode gpio readall
im Terminal vom Raspberry:
***
Raspberry Pi vorbereiten - Boot-Disk erstellen
- Image vom Mac auf die SD-Card kopieren
- SSH aktivieren
- WLAN aktivieren
- Unmount disk
$ diskutil unmountDisk /dev/disk2
$ pv 2019-04-08-raspbian-stretch-lite.img | sudo dd bs=1m of=/dev/disk2
$ diskutil mountDisk /dev/disk2
$ diskutil unmountDisk /dev/disk2
$ touch /Volumes/boot/ssh
$ echo -e 'country=DE\nctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev\nupdate_config=1\nnetwork={\nssid="###WLAN-SSID###"\npsk="###PASSWORD###"\nkey_mgmt=WPA-PSK\n}' > /Volumes/boot/wpa_supplicant.conf
Replace ###WLAN-SSID### and ###PASSWORD## with your concrete values.$ diskutil unmountDisk /dev/disk2
Modular Link installieren
- Zunächst Filesystem erweitern, sonst wird es knapp Advanced Configuration -> Expand Filesystem
- Dann die abhängigen Pakete installieren
- Modular Link von GitHub laden und bauen
- Jetzt als Service installieren
- Starten und Stoppen des Services
$ sudo raspi-config
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install git cmake wiringpi
$ sudo apt-get install librtmidi-dev
$ git clone https://github.com/vorwieger/modular-link.git
$ cd modular-link
$ git submodule update --init --recursive
$ make
$ sudo cp modlink.service /etc/systemd/system/
$ sudo chmod u-w-x /etc/systemd/system/modlink.service
$ sudo systemctl enable modlink
$ sudo systemctl start modlink
$ sudo systemctl stop modlink