Files
geograsim/App/sims/_inbox/zentrale/2026-04-18-2030-audio-pipeline.md
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

158 lines
5.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
von: klima
an: atlas
datum: 2026-04-18 20:30
status: neu
betrifft: 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.mp3``fingertip-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:
```markdown
| 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