Sound FX #311

Closed
opened 2026-10-05 16:14:51 +02:00 by admin · 1 comment

Was ich mir unter Sound FX vorstelle:

  • ein eigenes Asset, das man öffnen kann in eigenen Tab mit Graph View (ähnlich wie bei Shader)
  • dort kann man dann ein input und output node erstellen
  • dazwischen verschiedenste nodes: erstmal Gain, Pitch und simpler 5-Band-EQ

Momentan kann man Sounds als Asset, mit dem "Play Sound" node kann man diese abspielen.
diese play sound node erweitern wir um ein input feld "fx"

Was ich mir unter Sound FX vorstelle: - ein eigenes Asset, das man öffnen kann in eigenen Tab mit Graph View (ähnlich wie bei Shader) - dort kann man dann ein input und output node erstellen - dazwischen verschiedenste nodes: erstmal Gain, Pitch und simpler 5-Band-EQ Momentan kann man Sounds als Asset, mit dem "Play Sound" node kann man diese abspielen. diese play sound node erweitern wir um ein input feld "fx"
admin added this to the Development project 2026-10-05 16:14:51 +02:00
admin moved this to Next in Development on 2026-10-05 16:14:55 +02:00
Owner

Umgesetzt in zwei Commits:

  • de14f0f Play a sound through a graph of gain, pitch and EQ effects #311
  • 183f356 Let a game hand values to the parameters of a sound FX #311

Dazu 93c0a80 (Grip-Fix, behebt den roten Gate-Lauf zu a5184b3).

Was es gibt

  • Asset-Typ „Sound FX“ über + → Sound FX, eigener Tab mit Graph wie bei Shadern. Nodes: Input, Output (je einmal), Gain (dB), Pitch (Halbtöne, = Abspielgeschwindigkeit), EQ (5 Bänder: Shelves 80 Hz / 12 kHz, Peaks 250 Hz / 1 kHz / 4 kHz). Pin-Typ audio, eine Kette, kein Mischpult.
  • Parameter am Input-Node: Name und Default (nur Zahlen), im Inspector anlegen und sortieren. Jeder Parameter ist ein Ausgang des Input-Nodes.
  • Gain, Pitch und EQ haben Eingänge statt Params. Gespeichert unter denselben Schlüsseln, alte Graphen klingen ohne Migration gleich. Jeder Wert wird auf seinen Bereich begrenzt.
  • Neuer Behavior-Node Sound FX parameters: FX wählen, Parameter picken wie beim Variables-Node (sortierbar, rote Warnung bei gelöschten). Ausgang params passt nur in den neuen Eingang fx params von Play sound.
  • Play sound hat die Eingänge fx und fx params. Nicht gepickte Parameter spielen mit ihrem Default, unbekannte Namen werden ignoriert. Passen beide fest eingetragenen Assets nicht zusammen, warnt der Node. Ist das FX gelöscht oder kaputt, spielt der Sound ohne Effekte.
  • Umbenennen eines Parameters zieht alle Sound FX parameters-Nodes dieses FX mit (Kanten und Werte), mit Undo.
  • Vorhören im Tab: Sound wählen, Play/Stop, je Parameter ein Zahlenfeld im Kopf. Ins Asset wird dabei nichts geschrieben.

Tests

  • soundfx.test.ts 22, node-catalog.test.ts 368, sound-library.test.ts 9, alle grün
  • e2e 34 auf melektaus-atx: ALL PASSED – 28 checks
  • Gate auf melektaus-atx: Typcheck/Lint/Prettier sauber, 240 Testdateien, 3636 Tests grün
  • Gegenprobe: ohne Einsetzen der Werte und ohne Mitbenennen fallen 5 der neuen Tests
  • Nicht geprüft: gehört habe ich nichts, der Browser im Test ist stumm. Ob EQ-Frequenzen und dB-Bereiche gut klingen, ist offen.

Bewusst nicht dabei

Wiki: Sounds (Abschnitte Sound FX und Parameters), Concepts, Home, Behaviors (Wiki-Commit be92e11).

Umgesetzt in zwei Commits: - `de14f0f` Play a sound through a graph of gain, pitch and EQ effects #311 - `183f356` Let a game hand values to the parameters of a sound FX #311 Dazu `93c0a80` (Grip-Fix, behebt den roten Gate-Lauf zu `a5184b3`). ## Was es gibt - **Asset-Typ „Sound FX“** über **+ → Sound FX**, eigener Tab mit Graph wie bei Shadern. Nodes: **Input**, **Output** (je einmal), **Gain** (dB), **Pitch** (Halbtöne, = Abspielgeschwindigkeit), **EQ** (5 Bänder: Shelves 80 Hz / 12 kHz, Peaks 250 Hz / 1 kHz / 4 kHz). Pin-Typ `audio`, eine Kette, kein Mischpult. - **Parameter am Input-Node:** Name und Default (nur Zahlen), im Inspector anlegen und sortieren. Jeder Parameter ist ein Ausgang des Input-Nodes. - **Gain, Pitch und EQ haben Eingänge** statt Params. Gespeichert unter denselben Schlüsseln, alte Graphen klingen ohne Migration gleich. Jeder Wert wird auf seinen Bereich begrenzt. - **Neuer Behavior-Node *Sound FX parameters*:** FX wählen, Parameter picken wie beim *Variables*-Node (sortierbar, rote Warnung bei gelöschten). Ausgang `params` passt nur in den neuen Eingang **`fx params`** von *Play sound*. - ***Play sound*** hat die Eingänge `fx` und `fx params`. Nicht gepickte Parameter spielen mit ihrem Default, unbekannte Namen werden ignoriert. Passen beide fest eingetragenen Assets nicht zusammen, warnt der Node. Ist das FX gelöscht oder kaputt, spielt der Sound ohne Effekte. - **Umbenennen** eines Parameters zieht alle *Sound FX parameters*-Nodes dieses FX mit (Kanten und Werte), mit Undo. - **Vorhören im Tab:** Sound wählen, Play/Stop, je Parameter ein Zahlenfeld im Kopf. Ins Asset wird dabei nichts geschrieben. ## Tests - `soundfx.test.ts` 22, `node-catalog.test.ts` 368, `sound-library.test.ts` 9, alle grün - e2e 34 auf `melektaus-atx`: ALL PASSED – 28 checks - Gate auf `melektaus-atx`: Typcheck/Lint/Prettier sauber, 240 Testdateien, 3636 Tests grün - Gegenprobe: ohne Einsetzen der Werte und ohne Mitbenennen fallen 5 der neuen Tests - Nicht geprüft: gehört habe ich nichts, der Browser im Test ist stumm. Ob EQ-Frequenzen und dB-Bereiche gut klingen, ist offen. ## Bewusst nicht dabei - Ein Wert gilt ab dem Start der Stimme. Laufende Stimme ändern: #315 - Node *Mix*: #316 Wiki: *Sounds* (Abschnitte *Sound FX* und *Parameters*), *Concepts*, *Home*, *Behaviors* (Wiki-Commit `be92e11`).
admin moved this to Done in Development on 2026-10-05 17:29:50 +02:00
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: meleki/feuerwerk#311