Skip to content

Neuer Kurs Sounddesign & interaktive Musik für Handy und PC (LRN-28) - #26

Open
hernstev97 wants to merge 1 commit into
mainfrom
feat/lrn-28-sound-design-course
Open

hernstev97 wants to merge 1 commit into
mainfrom
feat/lrn-28-sound-design-course

Conversation

@hernstev97

Copy link
Copy Markdown
Owner

Neuer Bereich Sounddesign & interaktive Musik unter /sound (LRN-28). Steven produziert seit Jahren Musik in REAPER, hat aber noch nie für ein Spiel gearbeitet. Der Kurs zeigt, was Spiele anders verlangen: kurze Klänge statt Stücke, Varianten gegen Wiederholung, Timing auf den Frame genau, Musik, die Zuständen folgt, Prioritäten im Mix und gleiche Lautheit über das ganze Spiel. Am Ende steht ein eigener kleiner Audioabschnitt in Godot mit Originaldateien, Quellenliste und Entscheidungsprotokoll. Kompositions- oder Mischgrundlagen setzt der Kurs voraus.

Inhalt

14 Module in vier Tracks, 180 Übungen (choice 23, order 14, output 39, gap 23, bug 32, explain 19, practice 29, command 1), 55 Interview-Karten, fünf Projekte mit Abschlussprojekt, 53 Glossarbegriffe, Spickzettel und Berufsseite. Die Lektionen umfassen rund 37 000 Wörter.

Track Module Ort
Hören und planen Kritisch hören · Vom Ereignis zur Cue-Liste · Feldaufnahme mit dem Handy · Quellen und Lizenzen unterwegs
Geräusche bauen Hüllkurve, Frequenz, Dynamik und Raum · REAPER als Werkbank · Layering und Varianten · Foley, Atmo, eigenes Material umbauen unterwegs, am PC
Interaktive Musik Musik für Zustände · Eigenes Stück aufbereiten: Loops, Hallfahnen, Stems · Musik in Godot: AudioStreamInteractive und Synchronized unterwegs, am PC
Mischen und ins Spiel Mischung: Musik, Geräusche und Stille · Lautheit, Export, Import und Hörtest · Werkstatt: ein kleiner Audioabschnitt unterwegs, am PC
  • Unterwegs (7 Module): am Handy mit Kopfhörern. Spiele analysieren, Cue-Listen und Zustandsdiagramme planen, mit dem Handy aufnehmen, Lizenzen lesen, Mix-Regeln planen. Kleine Python-Modelle rechnen Frames, Samples, dB, Übergangszeitpunkte und Wiederholwahrscheinlichkeiten; verify führt sie aus.
  • Am PC (7 Module): REAPER mit Bordmitteln (Regionen, Region Render Matrix, Wildcards, ReaFIR, 2nd pass render, Postprocess-Normalisierung) und Godot 4.7.2 (AudioStreamRandomizer, AudioStreamInteractive, AudioStreamSynchronized, Busse mit Sidechain-Ducking, Mitschnitt und Hörtest).
  • Praxis aus dem Issue: eigene Varianten für eine selbst gewählte Aktion, auf das Kontaktbild gelegt und im Spiel verglichen (layering-varianten). Ein eigenes Stück für mindestens zwei Zustände mit gemessenen Übergängen (loops-stems, godot-musik). Ein Audioabschnitt mit Originaldateien und Entscheidungsprotokoll (Werkstatt und Abschlussprojekt).

Vorgaben aus dem Issue

  • KI-Regel (Steven, 16.10.2026): Bereichsbeschreibung, Quellen-Modul und Werkstatt sagen es ausdrücklich. KI darf Skripte und Gerüste liefern; jeder Klang, jedes Stück und jede Mischentscheidung liegt bei Steven. Generiertes Audio ist ausgeschlossen, auch als Platzhalter. Gestalterische practice-Übungen haben lang: prose, keine Musterlösung und eine prüfbare Checkliste.
  • Prüfmuster statt Beispielklänge: Wo ein Test einen Klang braucht, macht Steven ihn selbst als technisches Signal: Klatscher, REAPERs Click source mit hoher Eins, JSFX-Sinus. Im Repository liegen keine Audiodateien.
  • Delicate Flower nur als Anlass: keine Vorschläge für Klänge, Stile, Tempi, Zustände oder Werte. Alle Zahlen heißen Platzhalter.
  • Vorwissen: Jede Lektion setzt bei der Musikproduktion an („Aus der Musik kennst du …; im Spiel kommt hinzu …“). Eine EQ- oder Kompositionslehre gibt es nicht.
  • Keine Käufe, Linux offen benannt: Jeder Pflichtschritt geht mit REAPER-Bordmitteln. Der Stand aus FLOWER-1 steht im Kurs: Kontakt 8 fror beim Scan in REAPER ein, FabFilter, Ozone, Valhalla, RC-20 und ERA 6 sind unter Linux ungeprüft. Fremd-Plugins sind deshalb optionale Wege, mit der Windows-Partition als vorhandenem Rückweg. Ob REAPERs Videofenster unter CachyOS ein Godot-Video abspielt, ist ungeprüft; die Foley-Übung hat dafür einen Weg ohne Video.
  • Verweise statt Wiederholung: Godot-Grundlagen zu Audio stehen in /godot/audio (Neuer Kurs Godot 4 für Gestaltung & 2D-Prototypen mit Screenshots aus Editor und Spiel (LRN-23) #22) und werden dort verlinkt. Die Übergabe der Ton-Bildnummern aus /animation/animation-im-spiel und /animation/testszene (Neuer Kurs 2D-Animation: Gewicht, Timing & Körpersprache für Handy und PC (LRN-25) #24) nimmt klangplan auf. „Klang als Hinweis“ aus /level-design/ausgestaltung und /level-design/rhythmus (Neuer Kurs Level-Design: Orientierung & Exploration für Handy und PC (LRN-27) #25) greifen hoeren-analysieren, musik-zustaende und mischung-stille auf. Der Trefferton aus /combat/trefferfeedback steht auf main.

Entscheidungen, die ich ohne Rückfrage getroffen habe

  • ID, Farbe, Reihenfolge: sound, Farbe #A8B8FF (Lavendelblau, Kontrast 10,3 : 1 zu #0B0B0B), order: 16. Die Farben aus Neuer Kurs Godot 4 für Gestaltung & 2D-Prototypen mit Screenshots aus Editor und Spiel (LRN-23) #22 bis Neuer Kurs Level-Design: Orientierung & Exploration für Handy und PC (LRN-27) #25 sind ausgespart.
  • Belege ohne Ausführen von REAPER: REAPER würde beim Start Stevens Konfiguration mit Lizenz verändern. Jede REAPER-Aussage hat deshalb eine Seite im User Guide 7.81c (…pdf#page=N, Seiten geprüft).
  • Godot gemessen, nicht angenommen: Jede Godot-Aussage stammt aus einem Lauf mit 4.7.2 headless (Offline-Mix mit mix_audio(), Mitschnitt mit AudioEffectRecord). Der Movie Maker stürzt headless ab. Mehrere Messungen widersprechen der Doku und stehen als 4.7.2-Verhalten im Kurs:
    • bpm 0 lässt Takt-Übergänge sofort greifen.
    • Ein erneut angefragter Clip beginnt von vorn.
    • Ein falscher Sidechain-Name hört auf Master.
    • Der Kompressor duckt etwa doppelt so stark wie die Lehrbuchformel, und 250 ms Release brauchen rund eine Sekunde bis zur Rückkehr.
    • Eine Mono-Datei misst über AudioStreamPlayer 3 LU mehr, über AudioStreamPlayer2D in der Bildmitte 3 LU weniger.
  • Einheitliche Begriffe: Hysterese heißt zwei Schwellen. Nachlauf heißt: einen Zustand erst verlassen, wenn sein Signal eine Zeit lang fehlt. Der Bus-Platzhalter ist SFX wie in /godot/audio. Ein Stinger liegt meist über der Musik und kann sie kurz ersetzen.
  • Breite am Handy: Ein Codekasten fasst bei 360 px 34 Zeichen (gemessen im Browser). In allen sieben Unterwegs-Modulen ist jede Code-, Text- und Ausgabezeile höchstens 34 Zeichen breit, nichts scrollt seitlich.
  • Keine Bilder: Die Bildunterstützung kommt erst mit Neuer Kurs Godot 4 für Gestaltung & 2D-Prototypen mit Screenshots aus Editor und Spiel (LRN-23) #22 und Neuer Kurs Zeichnen, Character Design & Pixelart für Handy und PC (LRN-24) #23. Cue-Listen, Zustandsdiagramme und Messwerte stehen als Text und Tabelle.
  • Lizenzen: Das Modul zitiert die Lizenztexte selbst (CC 4.0, Freesound-FAQ, Sonniss 2.0, Splice, NI-EULA §3.7) und sagt „kein Rechtsrat“. Drei Fragen bleiben offen und sind so markiert: BY-SA und BY-ND in einem Spiel, ein einzelner aus Kontakt gerenderter Effekt, die Sonniss-Klausel zu öffentlichen Projektvorlagen.
  • Quellen: Der GDC Vault ist in Wartung. Vorträge sind deshalb über YouTube-Uploads mit selbst gelesenen Transkripten belegt, Zeitmarken nur dort. Bücher (Collins, Chion, Schafer) stehen mit Verlagsseite oder DOI und nur mit Begriffen, nicht mit Zitaten.
  • Berufsseite: stützt sich auf Brian Schmidts Auswertung von 142 Audio-Anzeigen aus 2026 (GameSoundCon) und auf Anzeigen von Larian, CD Projekt Red und creā-ture. Eine offene Audio-Stelle bei einem deutschen Studio war im Oktober 2026 nicht zu finden; Cryteks Junior-Stelle ist als beendet gekennzeichnet.

Überschneidungen mit offenen PRs

Prüfungen

  • pnpm content:check sound: OK, ohne Hinweis. Über alle Bereiche: OK, mit den elf bekannten Hinweisen aus Erzählhandwerk.
  • pnpm verify sound: 51 Prüfungen, 0 fehlgeschlagen.
  • pnpm test (329), pnpm lint, pnpm typecheck, pnpm bear:check, pnpm build: grün.
  • pnpm links sound: 210 URLs, 0 Probleme. doi.org, Inner Traditions und Sonniss sperren automatische Abrufe; die Autoren haben sie einzeln geprüft.
  • pnpm test:e2e: lokal 61 von 61 grün, auch der Viewport-Test. pnpm test:pwa:e2e: 5 von 5. Der Service Worker legt das Bereichspaket sound für offline ab. Zu LRN-31: In der CI scheitert der Viewport-Test auch auf main; das gehört nicht in diesen PR.
  • Im Browser durchgeklickt, auch mobil: Alle 206 Seiten des Bereichs (Lektionen, jede Übung, Karten, Projekte, Glossar, Spickzettel, Beruf) bei 360 px und bei 1280 px geöffnet. Keine Seite scrollt seitlich, kein Skriptfehler, in den Unterwegs-Modulen scrollt kein Codekasten. Je eine Übung jeder Art ist im e2e-Test gelöst, eine Vorhersage zusätzlich bei 360 px (Screenshot unten).
  • Unabhängiges Review vor dem PR: 107 Funde (0 Blocker, 41 should-fix, 66 nits). Alle should-fix sind eingearbeitet, die nits fast alle. Dazu gehören Begriffe zwischen Modulen, die Normalisierung nach der FX-Kette, BY-ND in Spielen, der Lizenzlink in Credits, Groß- und Kleinschreibung in Antworten und ein unlösbarer Praxis-Haken.

Screenshots

Lernpfad, 360 px PC-Modul, 360 px Cue-Liste in der Lektion, 360 px Vorhersage gelöst, 360 px
Lernpfad bei 360 px: Modul 05 Klangformung mit Marke Unterwegs, darunter Modul 06 REAPER als Werkbank Kopf des Moduls Musik in Godot bei 360 px mit Marke Am PC Lektion Cue-Liste bei 360 px: eine Zeile mit zehn Spalten als Karteikarte, passt ohne seitliches Scrollen Übung nächster Takt im 3/4: Vorhersage 5.33, 6.00, 0.70, Rückmeldung Richtig
Bereichsseite, 1280 px Lektion am PC, 1280 px
Bereichsseite Sounddesign & interaktive Musik: 14 Module, 180 Übungen, 30 Stunden Lektion Musik in Godot: gemessene Wechselzeitpunkte für sofort, Schlag, Takt und Ende

🤖 Generated with Claude Code

14 Module in vier Tracks, 180 Übungen (choice 23, order 14, output 39,
gap 23, bug 32, explain 19, practice 29, command 1), 55 Interview-Karten,
fünf Projekte mit Abschlussprojekt, 53 Glossarbegriffe, Spickzettel und
Berufsseite. content:check ohne Hinweis, verify mit 51 Prüfungen.

- Unterwegs (7): kritisch hören, Cue-Liste und Zustandsdiagramm,
  Feldaufnahme mit dem Handy, Quellen und Lizenzen, Hüllkurve/Frequenz/
  Dynamik/Raum, Musik für Zustände, Mischung und Stille. Codekästen
  höchstens 34 Zeichen breit, damit bei 360 px nichts seitlich scrollt.
- Am PC (7): REAPER-Werkbank mit Bordmitteln, Layering und Varianten,
  Foley und Atmo, Loops und Stems, AudioStreamInteractive und
  Synchronized in Godot 4.7.2, Lautheit/Export/Hörtest, Werkstatt.
- Jede Godot-Aussage ist mit 4.7.2 headless gemessen, jede REAPER-Aussage
  mit Seite im User Guide 7.81c belegt.
- KI-Regel: Klänge, Musik und Mischentscheidungen bleiben bei Steven;
  gestalterische Praxis ohne Musterlösung, Prüfmuster statt Beispielklänge.
- Farbe #A8B8FF, order 16. HANDBUCH-Farbliste und README ergänzt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 22, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 14de0032-75ac-433f-ad2e-6a33a4089fcb
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@hernstev97

Copy link
Copy Markdown
Owner Author

CI-Stand zu diesem PR:

  • check, convex, verify: grün.
  • e2e: 59 grün, 1 flaky, 1 rot. Rot ist nur „real content fits phone, tablet and desktop viewports“ (LRN-31). Das Symptom ist dasselbe wie auf main: h1 nicht gefunden. Der geplante Lauf auf main heute früh (Run 39741219002) hatte 15 rote Tests, darunter diesen. Lokal läuft der Test grün, 61 von 61.
  • Flaky war „SQL runs in the browser“ mit net::ERR_INSUFFICIENT_RESOURCES im Runner. Im Retry wurde er grün.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant