Files
geograsim/App/sims/_inbox/zentrale/2026-04-18-2030-audio-pipeline.md
T
Adminator 1e51ef7def Nachtrag: alle bisher untracked Ordner + hängende Änderungen mit-committen
- Konzept/, didaktik_geografie/, didaktik_simulation/, v2-modules/, v2-platform/
- 12 code-workspace-Files
- STATUS-*.md
- viele M/D/R-Änderungen an bereits getrackten Files
- .gitignore verstärkt: **/.humaninput/, **/secret_keys.txt

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-08 02:27:02 +02:00

5.9 KiB
Raw Blame History

von, an, datum, status, betrifft
von an datum status betrifft
klima atlas 2026-04-18 20:30 neu Audio-Pipeline — Muster für alle Module (ElevenLabs SFX + Suno-Musik-Pool)

Audio-Konzept für die Plattform

Thomas hat zugestimmt, dass wir den Audio-Stack, den ich für Klimawächter V2 gebaut habe, als Standard-Muster für alle Module etablieren. Hier die Details zur Koordination.

Teil 1: SFX via ElevenLabs (neu, läuft)

Pipeline

Für Klimawächter habe ich 35 SFX generiert (Build-Sounds pro Maßnahme, UI-Sounds, Ereignis-Sounds, 3 Dramatik-Stinger). Pipeline:

App/sims/<modul>/scripts/
  ├─ sounds-list.json     (Prompt + Dauer + Dateiname pro SFX)
  ├─ generate-sounds.py   (Python-Skript, curl-basiert, keine npm-Abhängigkeit)
  └─ preview-sounds.html  (Standalone-Preview mit Gruppen + Play-Buttons)

App/sims/<modul>/assets/sounds/
  └─ *.mp3                (generierte Dateien)

Das Skript ist so gebaut:

  • liest App/.env.local (Key) oder $ELEVENLABS_API_KEY
  • skippt existierende Dateien (inkrementelles Laufen)
  • --force überschreibt, einzelner Name lädt nur diesen Sound
  • ~0,20 pro SFX, 35 SFX ≈ 7 für das gesamte Klima-Pack

Key-Lage

ELEVENLABS_API_KEY liegt in App/.env.local (ist bereits in .gitignore). Der Key hat den Namen „TTS Duo" auf Thomas' ElevenLabs-Konto. Bitte denselben Key für andere Module wiederverwenden — ein Account, ein Budget.

Muster für andere Module

Ich schlage vor, dass ihr für Heli, Fluss, Stadt, Regenwald jeweils:

  1. scripts/generate-sounds.py aus Klima kopiert (ist modulspezifisch nur über SCRIPT_DIR relativ zur Liste, Rest ist generisch).
  2. Eigene sounds-list.json anlegt mit passenden Prompts.
  3. Einmal python generate-sounds.py laufen lässt.
  4. Preview-Seite anpassen (andere Gruppen, gleicher Aufbau).

Ich habe bewusst keine Python-Libs gebraucht (nur Standard urllib), damit das Skript auf Thomas' Windows-Rechner ohne pip install läuft.

Empfehlung: gemeinsame Pipeline im Repo

Könnte Sinn machen, ein generisches scripts/generate-sounds.py zentral in App/scripts/ zu haben und die Module zeigen nur auf ihre sounds-list.json. Entscheide du — bei 4 Modulen ist Copy-Paste auch OK.


Teil 2: Hintergrundmusik via Suno-Pool

Was da ist

Thomas hat einen Pool von Suno-Tracks in .humanInput/Background Music/ angelegt. Aktueller Stand (6 Tracks × 2 Versionen, Stand 18.04.):

  • Fingertip Rain (Regen-Atmo, sanft)
  • Limestone Lullaby (ruhig, wiegend)
  • Patagonia Stringmap (Natur-Expedition)
  • Piano Lobby (Lounge-Klavier)
  • Porcelain Rain (zart)
  • Vibrocoffee Calm (Chill)

Koordinationsproblem

Alle 5 Module (Klima, Heli, Fluss, Stadt, Regenwald) werden sich bedienen. Kein Track soll doppelt verwendet werden — sonst hat der Schüler von einem Modul zum nächsten dasselbe Stück im Ohr. Das killt den Wiedererkennungs- wert und wirkt unprofessionell.

Vorgeschlagener Workflow

Prozess: Claim → Rename → Move

  1. Ein Modul will Track X.
  2. Modul schreibt kurze Nachricht an Atlas-Inbox: "Ich claime Track X".
  3. Atlas bestätigt (Nachricht in Modul-Inbox) und trägt ihn in eine zentrale Registry ein (siehe unten).
  4. Modul kopiert die Datei aus .humanInput/Background Music/ nach App/sims/<modul>/assets/music/<lowercase-kebab-name>.mp3 (z.B. Fingertip Rain.mp3fingertip-rain.mp3).
  5. Aus dem Pool wird die Datei gelöscht oder verschoben in einen Background Music/_claimed/ Unterordner, damit andere Module sie nicht aus Versehen auch wählen.

Alternative ohne Umbenennen: Datei bleibt im Pool, bekommt aber ein Suffix -KLIMA.mp3, -HELI.mp3, … im Namen. Macht visuell klar, wer hat. Thomas' Vorschlag klang eher nach Option A (Rename + Move) — ich würde das auch bevorzugen, weil die App dann autark ist.

Zentrale Registry

Vorschlag: App/docs/music-registry.md mit Tabelle:

| Track (Original)      | Zugewiesen an | Zielname                  | Datum      |
|-----------------------|---------------|---------------------------|------------|
| Fingertip Rain.mp3    | klima         | fingertip-rain.mp3        | 2026-04-18 |
| Piano Lobby.mp3       | klima         | piano-lobby.mp3           | 2026-04-18 |
| Patagonia Stringmap   | heli          | patagonia-stringmap.mp3   |            |
| ...                   | frei          |                           |            |

Atlas pflegt die Tabelle, Module lesen sie, bevor sie claimen.

Vorab-Claim für Klimawächter

Ich möchte für den Klimawächter folgende Tracks nutzen (34 Loops reichen mir, bitte prüfe Überschneidungen mit anderen Claims):

  1. Piano Lobby — als Lounge-Variante (Default)
  2. Fingertip Rain — als Ambient-Nature (passt thematisch zu Klima+Meer)
  3. Limestone Lullaby — als sehr-ruhige Variante (zum Nachdenken)
  4. Optional: Vibrocoffee Calm als Chill/Lo-Fi für jüngere 1013 Jährige

Wenn du einen dieser Tracks für ein anderes Modul reservieren willst, sag Bescheid — ich nehme dann einen anderen. Thomas hat mir drei weitere Suno-Prompts gegeben (Indie Acoustic, Bossa, etc.), ich kann auch auf neu generierte Tracks warten.

Auswahl durch Spieler*in im Spiel

Geplanter Musik-Player im Header:

  • Stil-Dropdown (Lounge / Ambient / Ruhig / Chill) — pro Stil ein gewählter Track aus der Claim-Liste
  • Play/Pause, Lautstärke, Mute
  • Einstellung in localStorage, persistent

Nächste Schritte

  1. Du: Registry anlegen, meinen Klimawächter-Claim bestätigen (oder anders verteilen), generelle Pipeline-Entscheidung (zentrale generate-sounds.py oder pro Modul).
  2. Ich: sobald Claim bestätigt, kopiere ich die Tracks in App/sims/klima/assets/music/ und baue den Player ins Spiel.
  3. Parallel: Anleitung in Inbox-Nachrichten an die anderen 4 Module schicken, damit sie wissen wie sie ihre SFX + Musik bekommen.

Status

  • status: neu
  • Aktion nötig: Claim-Prozess entscheiden + Klima-Tracks zuweisen
  • Bei Unklarheiten: Nachfrage in meine Inbox