Modular Link - Ableton Link in Modular

Ableton Link on Raspberry Pi Zero

Modular Link - Ableton Link in Modular

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 😉)

  • 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

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

  1. Image vom Mac auf die SD-Card kopieren
  2. $ diskutil unmountDisk /dev/disk2
    $ pv 2019-04-08-raspbian-stretch-lite.img | sudo dd bs=1m of=/dev/disk2
    $ diskutil mountDisk /dev/disk2
  3. SSH aktivieren
  4. $ diskutil unmountDisk /dev/disk2
    $ touch /Volumes/boot/ssh
  5. WLAN aktivieren
  6. $ 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.

  7. Unmount disk
  8. $ diskutil unmountDisk /dev/disk2
Jetzt SD-Card in den Raspberry and booten...


Modular Link installieren

  1. Zunächst Filesystem erweitern, sonst wird es knapp
  2. Advanced Configuration -> Expand Filesystem
    $ sudo raspi-config
  3. Dann die abhängigen Pakete installieren
  4. $ sudo apt-get update
    $ sudo apt-get upgrade
    $ sudo apt-get install git cmake wiringpi
    $ sudo apt-get install librtmidi-dev
  5. Modular Link von GitHub laden und bauen
  6. $ git clone https://github.com/vorwieger/modular-link.git
    $ cd modular-link
    $ git submodule update --init --recursive
    
    $ make
  7. Jetzt als Service installieren
  8. $ sudo cp modlink.service /etc/systemd/system/
    $ sudo chmod u-w-x /etc/systemd/system/modlink.service
    $ sudo systemctl enable modlink
  9. Starten und Stoppen des Services
  10. $ sudo systemctl start modlink
    $ sudo systemctl stop modlink