FREIE WEB-COMPONENT · AUS DEM HAUSE AUDIOLA

Plattenspieler & Mischpult. Für jede Webseite.

Ein Script-Tag, ein Element: <audiola-turntable>. Scratchen, Tonarm, zwei Decks, EQ, Crossfader, Hot-Cues und Visuals, direkt im Browser. Kostenlos für alle.

Tipp: Zieh eigene MP3s auf die Platte. Cover und Titel kommen aus den Tags, nichts wird hochgeladen.

DIE PLATTEN IN DIESER DEMO

Danke, Drunken Records!

Die Musik in dieser Demo stellt uns Drunken Records zur Verfügung: die neuesten Alben von Die PapiBaras, Eyirish und 0,5er. Vielen Dank für die Unterstützung!

Die PapiBarasWir haben Ferienpapibaras.de ↗
EyirishThe Celtic Reworkseyirish.de ↗
0,5erPolitisch korrektnull5er.de ↗
Drunken RecordsDas Label hinter allen dreiendrunkenrecords.de ↗

Funktionen

Echtes Vinyl-Gefühl

Platte mit der Maus drehen = Scratchen, vorwärts und rückwärts. Pause bremst hörbar ab, Backspin reißt die Platte zurück.

Tonarm als Suchlauf

Außen Track 1, innen der letzte: wo du die Nadel absetzt, geht es genau dort weiter. Während des Songs wandert der Arm nach innen.

Zwei Decks + Mixer

Ein Klick öffnet das Mischpult: EQ Hi/Mid/Low bis Kill, Filter, Kanal-Fader, VU-Meter, Crossfader, Echo und Airhorn.

Pitch & Hot-Cues

±8 % Tempo pro Deck, drei Hot-Cues zum Setzen und Anspringen. Beats per Hand angleichen, wie am echten Pult.

Visuals

Spektrum hinter der ganzen Bühne, Ring um jede Platte. Die Farben kommen von den Platten und mischen sich nach Crossfader.

Eigene Songs

Dateien auf die Platte ziehen: Cover, Titel, Album und Reihenfolge kommen aus den ID3-Tags. Alles bleibt lokal im Browser.

EINBINDEN

Zwei Zeilen. Fertig.

Script laden, Element setzen. Kein Build-Schritt, kein Framework, keine Abhängigkeiten. Frei nutzbar, auch kommerziell. Quellcode auf GitHub.

<!-- einmal auf der Seite -->
<script type="module" src="https://audiola.de/widgets/turntable/v1.js"></script>

<!-- wo der Plattenspieler stehen soll -->
<audiola-turntable records="/musik/records.json" uploads></audiola-turntable>

Plattenliste (records.json)

Relative Pfade gelten relativ zur JSON-Datei. duration, cover, link, accent und gradient sind optional. Fehlen die Farben, berechnet die Komponente sie aus dem Cover. Liegen die Dateien auf einer anderen Domain, muss diese CORS erlauben (Access-Control-Allow-Origin).

{
  "records": [
    {
      "title": "Wir haben Ferien",
      "artist": "Die PapiBaras",
      "cover": "papibaras/cover.webp",
      "link": "https://papibaras.de",
      "accent": "#3de0ff",
      "gradient": ["#3de0ff", "#6a7bff", "#c93dff"],
      "tracks": [
        { "title": "Mach die Bahn frei", "src": "papibaras/01.mp3", "duration": 202.2 }
      ]
    }
  ]
}

Attribute

ATTRIBUTWERTEWIRKUNG
recordsURLJSON-Datei mit den Platten (Format oben). Alternativ per JavaScript: el.records = [...]
decks1 · 2 (Standard)Bei 2 gibt es den Button „Mischpult öffnen“ mit zweitem Deck und Mixer.
modesingle (Standard) · djStartet direkt mit geöffnetem Mischpult. Lässt sich live umschalten.
uploadsan/ausEigene Songs per Button und Drag & Drop. Cover, Titel und Trackliste kommen aus den ID3-Tags.
logoURLBild auf der leeren Platte, bevor eine Platte gewählt ist.
langde · enSprache der Beschriftungen. Ohne Angabe: Browsersprache.

Eigener Inhalt links daneben

Alles, was zwischen die Tags kommt, steht links neben dem Plattenspieler und fährt beim Öffnen des Mischpults heraus. So bauen Drunken Records und diese Seite ihren Header.

<audiola-turntable records="records.json">
  <h1>Mein Label</h1>
  <p>Hör rein.</p>
</audiola-turntable>

Aussehen & Events

audiola-turntable {
  --at-accent: #c2ff3a;          /* Akzentfarbe (Buttons, Regler) */
  --at-text: #f4f2ec;            /* Textfarbe */
  --at-muted: #8c8a82;           /* Nebentexte */
  --at-font: inherit;            /* Grundschrift */
  --at-font-display: 'Anton';    /* Kanalbuchstaben A/B */
  --at-font-mono: 'Space Mono';  /* Labels */
  --at-padding: 48px 5%;         /* Innenabstand */
  --at-min-height: 780px;        /* z. B. 100vh als Seitenkopf */
}

el.addEventListener('modechange', (e) => console.log(e.detail.mode)) // 'single' | 'dj'

PLAYGROUND

Probier die Optionen live aus.

Jede Einstellung ändert die Komponente sofort. Darunter steht der passende Code zum Kopieren.

Decks
Start
Uploads
Platten
Sprache