LooperDisplay
Kaffee spendieren
LooperDisplay im Browser: drei Ringe zeigen Play, Record und Stop

LooperDisplay ist ein Tool, das die ersten acht Looper in einem Ableton-Projekt erkennt und ihren Zustand als drehende Ringe in einer Weboberfläche visualisiert, die über das Intranet auch auf anderen Endgeräten (iPad, iPhone etc.) funktioniert.

Über diese Weboberfläche lassen sich die Looper auch direkt bedienen — antippen, dazu Stop und Clear über die Eck-Tasten. Dafür sind nur ein paar MIDI-Zuweisungen in Live nötig, den Rest übernimmt automatisch das Remote Script.

Zusätzlich und optional lassen sich die Looper auch über echte Hardware bedienen: über ein KORG nanoKONTROL2 (mit LED-Rückmeldung) und/oder ein Roland SPD-SX PRO (per Pad). Beide lösen dieselben Zuweisungen aus wie die Bedienung im Browser und dürfen gleichzeitig laufen.

Erste Einrichtung

Installation

Die App ist ein fertig gebautes Programm für Apple-Silicon-Macs (M-Prozessoren). Kein Node.js, kein npm install, kein Terminal-Wissen nötig.

Was du bekommst

Looper-Display starten.command Doppelklick startet sie Looper-Display beenden.command Doppelklick beendet sie wieder Zum Kopieren/ einmalig an den Zielort kopieren, siehe Schritt 1 ├── Remote Scripts/ │ ├── LooperDisplay/ Pflicht: liefert die Daten an die Anzeige │ └── SPD_SX_Pro_Looper/ optional: nur mit einem Roland SPD-SX └── SPD-SX Pro Preset/ optional: fertiges Kit zum Import auf das SPD-SX Programm (nicht anfassen)/ die App selbst — nichts davon löschen oder verschieben ├── looper-display └── node_modules/

Der Ordner Programm (nicht anfassen) muss so bleiben, wie er ist — node_modules darin enthält die MIDI-Anbindung für die Bedienung einzelner Looper aus dem Browser.

1 Remote Script kopieren

Den Ordner Zum Kopieren/Remote Scripts/LooperDisplay nach

~/Music/Ableton/User Library/Remote Scripts/

kopieren. Hast du zusätzlich ein Roland SPD-SX PRO, den Ordner Zum Kopieren/Remote Scripts/SPD_SX_Pro_Looper gleich mit dorthin.

2 Ableton Live einrichten

  1. Live starten (oder neu starten, falls es schon offen war — Remote Scripts werden nur beim Programmstart eingelesen).
  2. Einstellungen → Link, Tempo & MIDI öffnen.
  3. In einer freien Zeile der Bedienoberflächen LooperDisplay auswählen.
BedienoberflächeEingangAusgang
LooperDisplayKeinKein

✅ Ohne eigene Hardware bleiben Eingang und Ausgang auf „Kein" — ein KORG nanoKONTROL2 ist optional. Auch ohne angeschlossenes Gerät liefert das Script trotzdem alle Daten für die Anzeige.

3 App starten

Im Finder zu diesem Ordner wechseln und dort doppelklicken auf Looper-Display starten.command.

  1. Beim allerersten Mal blockiert macOS das mit „kann nicht geöffnet werden, da der Entwickler nicht verifiziert werden kann". Das ist normal bei selbst gebauten Programmen ohne teures Apple-Zertifikat.
  2. Im Finder mit Rechtsklick auf die Datei → „Öffnen" → im Dialog noch einmal „Öffnen" bestätigen. Das genügt einmalig, danach funktioniert der normale Doppelklick.
  3. Kurz erscheint ein Terminal-Fenster, minimiert sich dann von selbst, und ein Browser-Tab mit der Anzeige öffnet automatisch.

Beim allerersten Start fragt macOS zusätzlich einmalig, ob „osascript" das Terminal steuern darf — dafür wird das Fenster minimiert und später wieder geschlossen. Bitte erlauben. Ohne diese Erlaubnis läuft die App trotzdem, das Fenster bleibt dann nur offen.

Für ein Tablet zusätzlich die zweite, im (minimierten) Terminal-Fenster angezeigte Adresse dort in Safari öffnen:

Anzeige: http://localhost:8080
         http://192.168.0.XXX:8080  (für Tablet/Handy)

4 Auf dem Tablet einrichten (optional)

Für eine Anzeige ganz ohne Browser-Oberfläche: die zweite Adresse in Safari öffnen, Teilen-Symbol → „Zum Home-Bildschirm" — nicht „Zu Lesezeichen hinzufügen". Danach startet die Seite über das neue Symbol komplett ohne Adressleiste.

Wie beendest du es wieder?

Im Finder doppelklicken auf Looper-Display beenden.command — findet und beendet die App, auch wenn das (minimierte) Terminal-Fenster längst aus den Augen ist. Zwei weitere, gleichwertige Wege: ⏻ Server beenden oben rechts in der Anzeige selbst, oder Ctrl + C im (wieder eingeblendeten) Terminal-Fenster.

Schließt du nur den Browser-Tab mit der Anzeige, läuft die App im Hintergrund weiter — das ist meistens gewollt, falls ein Tablet die Seite dauerhaft offen halten soll.

Looper einzeln aus dem Browser steuernwichtig

Jeder Ring lässt sich antippen, dazu gibt es Ecktasten für Stop und Clear. Das braucht — anders als die vier Transporttasten oben in der Anzeige — eine kleine einmalige Einrichtung, weil Ableton Loopern keinen direkten „stoppe quantisiert" oder „lösche" Befehl über die API erlaubt. Der Weg dahin: ein virtueller MIDI-Bus, den die App bedient, und eine ganz normale MIDI-Zuweisung in Live — komplett über den Browser, ganz ohne KORG nanoKONTROL2 oder Roland SPD-SX PRO. Diese Geräte sind rein optionale Zusatz-Hardware (Abschnitt „Hardware" weiter unten) und lösen automatisch dieselben Zuweisungen aus, falls du sie später ergänzt.

  1. Audio-MIDI-Setup öffnen (Spotlight-Suche), Fenster „MIDI-Studio" einblenden, doppelt auf „IAC-Treiber" klicken, „Gerät ist online" anhaken. Ein Bus reicht.
  2. In Live, bei den MIDI-Ports: Eingang IAC-Treiber (Bus 1)Remote an, Track aus.
  3. Cmd + M in Live (Map-Modus). Für jeden Looper: großen Transportknopf anklicken, kurz im Browser auf den Ring tippen — Zuweisung entsteht automatisch. Ebenso für die STOP- und CLEAR-Ecktasten.
  4. Cmd + M verlassen, Set speichern.

Live quantisiert danach selbst, genau wie bei einem echten Controller. Damit sind alle 24 Zuweisungen angelegt — CC 64–71 für den Transportknopf, 32–39 für Stop, 48–55 für Clear, je Looper 1–8. Ohne sie bleiben Stop und Clear wirkungslos.

💡 Einfacher geht's mit dem 🧭 Setup-Assistenten — sobald die App läuft, verlinkt „❓ Help" oben in der Anzeige dorthin. Er führt Schritt für Schritt durch alle 24 Zuweisungen, statt die Tabelle oben von Hand abzuarbeiten.

Wenn die App läuft

Bedienung

Die Ringe

Jeder Looper hat zwei Ringe: außen der Fortschritt über die ganze Loop-Länge mit einer Marke pro Takt, innen eine Torte, die sich einmal pro Takt füllt. In der Mitte steht Takt / Takte und der Zustand.

Record
beide Ringe rot, außen pulsiert gestrichelt, Zähler der aufgenommenen Takte
Play
außen grün, innen orange
Overdub
beide Ringe blau
Stop, mit Inhalt
voller grauer Außenring mit Taktzahl
Länge unbekannt
Außenring gestrichelt; auf den inneren Kreis lange drücken schaltet die Taktzahl von Hand durch
Leer
nur dünne Konturen und „LEER" — auch wenn der Looper formal auf Play steht
SPD-Auswahl
gelber Rahmen und das Schild „SPD" zeigen den am SPD-SX gewählten Looper

Steuerung im Browser

Live führt Stop und den Transportknopf erst am nächsten Taktstrich aus. Bis dahin pulsiert die getippte Stelle hell mit „WARTET".

📱 Auf iPhone und iPad blendet der Vollbild-Button Safaris Adressleiste nie zuverlässig aus — eine Einschränkung des Browsers, kein Fehler dieser Seite. So klappt es garantiert:

  1. Diese Seite ganz normal in Safari öffnen (nicht im „Vollbild"-Zustand).
  2. Unten das Teilen-Symbol antippen.
  3. Im Menü nach unten scrollen bis „Zum Home-Bildschirm" — getrennt von „Zu Lesezeichen hinzufügen". Nur Ersteres startet ohne Adressleiste.
  4. Oben rechts „Hinzufügen" antippen.
  5. Safari verlassen, auf dem echten Home-Bildschirm das neue Symbol suchen und darauf tippen.

Transport-Leiste oben

Vier Tasten neben Tempo und Takt steuern Lives Transport, unabhängig von den Loopern:

▶ PLAY ■ STOP ● REC ⟲ LOOP

Play/Stop starten und stoppen Lives Transport, Rec und Loop schalten die Arrangement-Aufnahme bzw. den Arrangement-Loop um — sofort über die Live-API, ohne Einrichtung.

Zusätzliche Controller

Hardware (optional)

Beide Geräte lösen dieselben Zuweisungen aus wie die Bedienung im Browser und dürfen gleichzeitig laufen.

KORG nanoKONTROL2optional

Bedienoberfläche LooperDisplay (Schritt 2) mit Eingang nanoKONTROL2 (SLIDER/KNOB) und Ausgang nanoKONTROL2 (CTRL) statt „Kein". Das KORG bietet zudem die Möglichkeit, alle Looper gleichzeitig zu starten und zu stoppen, sowie die Lautstärke-Fader in Ableton pro Looper zu bedienen.

  • Auslieferungszustandder Controller muss auf den Werks-CCs senden (z. B. S = CC 32–39) — nach eigenen Scenes im KORG KONTROL Editor einmal zurücksetzen
  • LED Mode = Externalim KORG KONTROL Editor setzen und per „Communication → Write Scene Data" in den Controller schreiben, sonst bleiben die LEDs dunkel

Auf dem Mac sind die „Communication"-Menüpunkte im KORG KONTROL Editor oft nicht anklickbar (getestet mit macOS 26 auf Apple Silicon). Abhilfe: die Einstellung einmalig auf einem Windows-Rechner schreiben — danach steckt sie dauerhaft im Controller.

Welche Taste welche CC sendet

Die Zuweisung hängt an der MIDI-Nachricht, nicht am Gerät: Drückst du R1, S1 oder M1, sendet das dieselben CCs, die du in der Installation per Browser-Tap zugewiesen hast — die Mappings aus der Installation greifen also automatisch auch am Pult.

TasteCCZiel im Looper
R 1–864–71der große Transportknopf
S 1–832–39Stop
M 1–848–55Clear

⚠️ R1, S1 und M1 gehören fest zu Looper 1: Lives Mapping folgt den Bank-Tasten des Pults nicht, nur die Fader tun das.

KORG nanoKONTROL2 Controller

Ein Kanalzug bedient jeweils einen Looper — Fader, S/M/R und die Transportleiste ganz rechts.

Die LEDs am nanoKONTROL2

Pro Looper-Streifen zeigen drei übereinanderliegende LEDs — S, M, R —, welche Taste gerade sinnvoll ist, genau wie am Gerät selbst. Die Vorschau unten zeigt automatisch alle fünf Zustände.

Roland SPD-SX PROoptional

Zweites Remote Script, Ordner Zum Kopieren/Remote Scripts/SPD_SX_Pro_Looper ebenfalls nach ~/Music/Ableton/User Library/Remote Scripts/ kopieren. In einer weiteren freien Zeile der Bedienoberflächen:

BedienoberflächeEingangAusgang
SPD_SX_Pro_LooperSPD-SX PROIAC-Treiber Bus 1

Der Ausgang geht nicht an das SPD, sondern in dieselbe IAC-Schleife wie beim nanoKONTROL2. Am Gerät müssen neun Pads auf feste Noten (Kanal 1) programmiert sein.

Roland SPD-SX PRO Pad-Controller

Neun Pads im 3×3-Raster — Belegung wie in der Übersicht weiter unten.

Fertiges Preset statt von Hand programmieren

Im Ordner Zum Kopieren/SPD-SX Pro Preset liegt die Kit-Datei KIT-APP_LooperDisplay.TD0 — sie enthält alle neun Pad-Zuweisungen fertig eingerichtet.

  1. SPD-SX PRO per USB verbinden, SPD-SX PRO APP öffnen (kostenlos von Roland, verbindet automatisch mit dem Gerät).
  2. Menü BACKUP → LOAD 1 KIT.
  3. Im Dialog „BACKUP LOAD 1 KIT (FROM FILE)" über die Datei KIT-APP_LooperDisplay.TD0 auswählen, OK.
  4. Oben rechts auf WRITE klicken — schreibt den geladenen Kit auf das Gerät.

Pad-Übersicht

Die drei linken Pads wirken immer auf den gerade am Gerät gewählten Looper — welcher das ist, zeigt die Anzeige mit einem gelben Rahmen:

SPD
Gelber Rahmen um den Ring, mit diesem Schild rechts oben — genau wie in der Anzeige selbst.
links obenClearNote 1
Mitte obenalle Looper startenNote 4
rechts obenTransport Start/StopNote 62
links MitteStopNote 2
Mittealle Looper stoppenNote 5
rechts MitteLoop-ToggleNote 65
links untenStart / Rec / OverdubNote 3
Mitte unten◀ vorheriger LooperNote 6
rechts untennächster Looper ▶Note 68
vom Script ausgewertet von AbleSet

Maßgeblich sind die Notennummern, nicht die Position. Die Auswahl läuft nicht im Kreis, sondern stößt an den Enden an. Alle Pads liegen auf MIDI-Kanal 1.

Für Fortgeschrittene

Ableton-Einstellungen im Detail

Damit beide Scripts und die Anzeige laufen, müssen in Einstellungen → Link, Tempo & MIDI die passenden Bedienoberflächen aktiv sein — mit beiden Controllern zusammen:

BedienoberflächeEingangAusgang
LooperDisplaynanoKONTROL2 (SLIDER/KNOB)nanoKONTROL2 (CTRL)
SPD_SX_Pro_LooperSPD-SX PROIAC-Treiber (Bus 1)

In der MIDI-Ports-Tabelle darunter müssen drei Zeilen stimmen:

EingangTrackRemote
IAC-Treiber (Bus 1)ausan
SPD_SX_Pro_Looper Inputnach Bedarfan
LooperDisplay Inputnach Bedarfan

Remote ist Voraussetzung für die Clear-Zuweisungen. Beim IAC-Eingang muss Track aus bleiben, sonst landen die Clear-CCs zusätzlich in scharfgeschalteten MIDI-Spuren.

Audio: für sauber sitzende LoopsTipp

Der Looper schneidet das Eingangssignal dort mit, wo es in Live ankommt — also um die Eingangslatenz verspätet. Du hörst dein Instrument direkt ohne Verzögerung, die Aufnahme landet aber zu spät im Raster. An der Schleifengrenze trifft dann Material aufeinander, das nicht zusammengehört — hörbar als Knacken oder Versatz beim Übergang.

In Einstellungen → Audio → Optionen:

EinstellungWert
Verzögerungsausgleichaus
Reduced Latency When Monitoringaus

Live kompensiert sonst nur anhand der Latenz, die der Treiber meldet — USB-Interfaces melden sie oft ungenau, der Rest bleibt als Versatz stehen. Wer noch genauer sein will, misst zusätzlich die Treiberfehlerkompensation einmalig ein: einen kurzen, harten Transienten exakt auf einen Taktstrich aufnehmen und in Einstellungen → Audio so lange nachjustieren, bis er im Clip auf dem Strich sitzt.

⚠️ „Verzögerungsausgleich aus" heißt auch: Live gleicht keine Plugin-Latenzen mehr aus. Solange nichts im Set Latenz meldet — Linearphasen-EQs, Multiband-Kompressoren, manche Amp-Simulationen —, fällt das nicht auf.

Nicht zu verwechseln: Ein abgeschnittenes Ausklingen am Loop-Ende (ein Becken, eine offene HiHat) ist kein Latenzproblem, sondern eine Eigenheit des Loopers — er nimmt in einen Puffer fester Länge auf. Test: Loop mit leerem letztem Takt aufnehmen. Knackt es trotzdem, ist es der Latenzversatz; ist es sauber und knackt nur beim Durchspielen bis zum Schluss, ist es das Ausklingen.

Bevor du fragst

Grenzen

Kleingedrucktes

Lizenz

Dieses Projekt ist für den persönlichen, nicht-kommerziellen Gebrauch gedacht. Weitergabe an Freunde und Bandkollegen ist ausdrücklich erwünscht — Weiterverkauf oder Veröffentlichung als eigenes Produkt bitte nicht ohne Rücksprache.

Selbst gebaut mit Node.js, unter Verwendung der Pakete ws und @julusian/midi (beide MIT-Lizenz).