Sound FX: Reverb-Node #328

Closed
opened 2026-10-05 22:37:52 +02:00 by meleki · 3 comments
Owner

Aus der Einschätzung der Sound-FX-Nodes nach #317 (Gespräch 2026-10-05). Heute gibt es Input, Output, Gain, Pitch, 5-Band-EQ und Mix.

Raumklang, vom kleinen Zimmer bis zur Halle.

Vorschlag:

  • ConvolverNode mit einer erzeugten Impulsantwort statt mitgelieferter Dateien: Rauschen mit exponentiellem Abklingen.
  • Felder: Decay (s), Damping (Höhen klingen schneller ab), Pre-delay (s), Mix (dry/wet).
  • Die Impulsantwort wird offline gerechnet und im Cache gehalten, wie die verschobene Kopie beim Pitch.
  • Voraussetzung: Nachklang einer Stimme (#324).

Haken:

  • Nur Mix lässt sich rampen. Ändern sich Decay oder Damping, muss die Impulsantwort getauscht werden, und das knackt. Diese Werte gelten also nur beim Start.
  • Rechenzeit: Eine Faltung mit 2 bis 3 s Impulsantwort pro Stimme ist teuer. Bei Dauerfeuer (20 Schüsse pro Sekunde) wird das spürbar. Sauberer wäre ein gemeinsamer Hall auf einem Effekt-Bus (#325).

Rückfragen:

  • Hall pro Stimme jetzt, oder gleich nur über einen Bus? Pro Stimme ist einfacher zu bedienen, über den Bus deutlich billiger.
  • Freie Werte, oder Presets (Room, Hall, Cave, Plate) mit nur Mix und Size?
  • Sollen eigene Impulsantworten als Sound-Asset ladbar sein (echte Räume)?
  • Wo liegt die Grenze für Decay: 5 s? 10 s?
Aus der Einschätzung der Sound-FX-Nodes nach #317 (Gespräch 2026-10-05). Heute gibt es *Input*, *Output*, *Gain*, *Pitch*, *5-Band-EQ* und *Mix*. Raumklang, vom kleinen Zimmer bis zur Halle. Vorschlag: - `ConvolverNode` mit einer **erzeugten** Impulsantwort statt mitgelieferter Dateien: Rauschen mit exponentiellem Abklingen. - Felder: **Decay** (s), **Damping** (Höhen klingen schneller ab), **Pre-delay** (s), **Mix** (dry/wet). - Die Impulsantwort wird offline gerechnet und im Cache gehalten, wie die verschobene Kopie beim Pitch. - **Voraussetzung:** Nachklang einer Stimme (#324). Haken: - **Nur Mix lässt sich rampen.** Ändern sich Decay oder Damping, muss die Impulsantwort getauscht werden, und das knackt. Diese Werte gelten also nur beim Start. - **Rechenzeit:** Eine Faltung mit 2 bis 3 s Impulsantwort *pro Stimme* ist teuer. Bei Dauerfeuer (20 Schüsse pro Sekunde) wird das spürbar. Sauberer wäre ein gemeinsamer Hall auf einem Effekt-Bus (#325). Rückfragen: - **Hall pro Stimme jetzt, oder gleich nur über einen Bus?** Pro Stimme ist einfacher zu bedienen, über den Bus deutlich billiger. - Freie Werte, oder Presets (*Room*, *Hall*, *Cave*, *Plate*) mit nur Mix und Size? - Sollen eigene Impulsantworten als Sound-Asset ladbar sein (echte Räume)? - Wo liegt die Grenze für Decay: 5 s? 10 s?
meleki added the new label 2026-10-05 22:37:52 +02:00
admin added this to the Development project 2026-10-06 15:56:09 +02:00
admin moved this to Next in Development on 2026-10-07 14:01:15 +02:00
  • beides, das fundament für stimme oder bus haben wir schon
  • beides, presets oder custom, wenn custom: die parameter einblenden
  • sound assets als impulse response: ja kann mit rein
  • decay max 10s
- beides, das fundament für stimme oder bus haben wir schon - beides, presets oder custom, wenn custom: die parameter einblenden - sound assets als impulse response: ja kann mit rein - decay max 10s
admin removed the new label 2026-10-07 15:35:27 +02:00
Author
Owner

Plan

Deine Antworten: pro Stimme und auf dem Bus, Presets oder Custom mit eingeblendeten Werten, ein Sound-Asset als Impulsantwort, Decay höchstens 10 s.

  • Neuer Node Reverb auf einem ConvolverNode. Er geht in jedem Sound FX, also pro Stimme und auf Bussen und Tracks.
  • Type: Room, Hall, Cave, Plate, Custom, Sound.
    • Die vier Presets haben feste Werte für Decay, Damping und Pre-delay.
    • Bei Custom erscheinen die Zeilen Decay (s, 0,1 bis 10), Damping (0 bis 1) und Pre-delay (s, 0 bis 0,5).
    • Bei Sound erscheint die Auswahl eines Sound-Assets als Impulsantwort, dazu Pre-delay.
  • Mix (0 bis 1, Standard 0,3) ist immer da: (1 - Mix) trocken, Mix Hall. Auf einem Effekt-Bus stellt man also 1 ein.
  • Die Impulsantwort wird gerechnet: Rauschen, das bei Decay um 60 dB abgeklungen ist. Damping lässt die Höhen schneller abklingen. Jede Impulsantwort wird einmal gerechnet und gehalten.
  • Wie im Issue beschrieben: Nur Mix lässt sich an einer laufenden Stimme ändern. Decay, Damping und Pre-delay gelten ab dem Start der Stimme, auf einem Bus ab dem Aufbau seiner Kette.
  • Die Stimme klingt nach, bis der Hall abgeklungen ist (#324). Bei einem Sound als Impulsantwort dauert das so lange wie der Sound.

Noch offen aus #325: Dort steht „Sends kommen später zusammen mit dem Reverb (#328)“. Seit #350 hat ein Song Sends. Ein Projekt-Bus hat aber weiter nur ein Ziel (Into), ein Sound kann also nicht anteilig in einen Hall-Bus gehen. Das baue ich hier nicht mit, dafür gibt es jetzt #351.

## Plan Deine Antworten: pro Stimme und auf dem Bus, Presets oder *Custom* mit eingeblendeten Werten, ein Sound-Asset als Impulsantwort, Decay höchstens 10 s. - Neuer Node **Reverb** auf einem `ConvolverNode`. Er geht in jedem Sound FX, also pro Stimme und auf Bussen und Tracks. - **Type:** Room, Hall, Cave, Plate, Custom, Sound. - Die vier Presets haben feste Werte für Decay, Damping und Pre-delay. - Bei **Custom** erscheinen die Zeilen **Decay** (s, 0,1 bis 10), **Damping** (0 bis 1) und **Pre-delay** (s, 0 bis 0,5). - Bei **Sound** erscheint die Auswahl eines Sound-Assets als Impulsantwort, dazu **Pre-delay**. - **Mix** (0 bis 1, Standard 0,3) ist immer da: `(1 - Mix)` trocken, `Mix` Hall. Auf einem Effekt-Bus stellt man also 1 ein. - Die Impulsantwort wird gerechnet: Rauschen, das bei *Decay* um 60 dB abgeklungen ist. *Damping* lässt die Höhen schneller abklingen. Jede Impulsantwort wird einmal gerechnet und gehalten. - Wie im Issue beschrieben: Nur **Mix** lässt sich an einer laufenden Stimme ändern. Decay, Damping und Pre-delay gelten ab dem Start der Stimme, auf einem Bus ab dem Aufbau seiner Kette. - Die Stimme klingt nach, bis der Hall abgeklungen ist (#324). Bei einem Sound als Impulsantwort dauert das so lange wie der Sound. **Noch offen aus #325:** Dort steht „Sends kommen später zusammen mit dem Reverb (#328)“. Seit #350 hat ein Song Sends. Ein Projekt-Bus hat aber weiter nur ein Ziel (*Into*), ein Sound kann also nicht anteilig in einen Hall-Bus gehen. Das baue ich hier nicht mit, dafür gibt es jetzt #351.
Author
Owner

Erledigt mit d349251 „Put a sound in a room, a hall or a cave with a Reverb node“.

Gebaut

  • Type: Room, Hall, Cave und Plate haben feste Werte. Custom blendet Decay (bis 10 s), Damping und Pre-delay ein. Sound blendet die Auswahl eines Sound-Assets und Pre-delay ein. Die Zeilen erscheinen nur beim passenden Typ.
  • Gerechnete Impulsantwort: Rauschen mit festem Seed je Seite, nach Decay 60 dB leiser, durch einen Tiefpass, der je nach Damping von 20 kHz Richtung 500 Hz schließt. Sie wird je Rate, Decay und Damping einmal gerechnet, die letzten 16 bleiben im Speicher.
  • Sound als Impulsantwort: Die Sound-FX-Compiler bekommen jetzt das Projekt, damit ein Node ein Sound-Asset in seine Datei auflösen kann. Die Datei steht im Build-Schlüssel, ein geschnittener oder getauschter Sound baut also neu. Ein Reverb direkt im Instrument geht genauso.
  • Die Bibliothek lädt die Datei mit der Stimme, einer Sequenz oder vor dem Aufbau eines Busses. Fehlt die Datei, bleibt der Hall still.
  • Mix blendet trocken und Hall und ist, wie im Issue festgelegt, die einzige Zahl, die sich während des Abspielens bewegt. Eine Stimme klingt Pre-delay plus Decay nach, bei einem Sound so lange wie dieser.
  • Hall pro Stimme und am Bus, wie entschieden.

Offen, aber nicht hier

Der Punkt aus #325 (Sends an Projekt-Bussen, damit ein Sound anteilig in einen Hall-Bus geht) ist #351 und nicht Teil dieses Issues.

Tests

  • Unit: reverb (neu) 4, soundfx 57 (4 neu), sound-library 104 (2 neu), grün.
  • Gegenproben: Impulsdatei nicht mit der Stimme geladen, Nachhall ohne die Länge des Sounds. Jede macht einen Test rot.
  • e2e 34 (melektaus-atx): ALL PASSED, 81 Checks (1 neu). Chrome offline: still während des Pre-delay, 35,9 dB Abfall über 0,6 s bei 1 s Decay (erwartet 36), trockene Hälfte 0,25 bei Mix 0,5. Ein Sound mit einem einzigen Sample bei 0,2 s gibt den Impuls 0,25 s später zurück und sonst nirgends.
  • Gate (melektaus-atx) über den Endstand der Serie #318 bis #328: CHECK EXIT 0, 267 Dateien, 4134 Tests.

Nicht geprüft: wie es klingt (die Tests laufen stumm), und eine Impulsantwort aus einer echten Aufnahme eines Raums.

Wiki: Sounds (Abschnitt Reverb), Instruments und Development (1878 Checks), Wiki-Commit 892ae19.

Erledigt mit `d349251` „Put a sound in a room, a hall or a cave with a Reverb node“. ## Gebaut - **Type:** Room, Hall, Cave und Plate haben feste Werte. *Custom* blendet Decay (bis 10 s), Damping und Pre-delay ein. *Sound* blendet die Auswahl eines Sound-Assets und Pre-delay ein. Die Zeilen erscheinen nur beim passenden Typ. - **Gerechnete Impulsantwort:** Rauschen mit festem Seed je Seite, nach Decay 60 dB leiser, durch einen Tiefpass, der je nach Damping von 20 kHz Richtung 500 Hz schließt. Sie wird je Rate, Decay und Damping einmal gerechnet, die letzten 16 bleiben im Speicher. - **Sound als Impulsantwort:** Die Sound-FX-Compiler bekommen jetzt das Projekt, damit ein Node ein Sound-Asset in seine Datei auflösen kann. Die Datei steht im Build-Schlüssel, ein geschnittener oder getauschter Sound baut also neu. Ein Reverb direkt im Instrument geht genauso. - Die Bibliothek lädt die Datei mit der Stimme, einer Sequenz oder vor dem Aufbau eines Busses. Fehlt die Datei, bleibt der Hall still. - **Mix** blendet trocken und Hall und ist, wie im Issue festgelegt, die einzige Zahl, die sich während des Abspielens bewegt. Eine Stimme klingt Pre-delay plus Decay nach, bei einem Sound so lange wie dieser. - Hall pro Stimme und am Bus, wie entschieden. ## Offen, aber nicht hier Der Punkt aus #325 (Sends an Projekt-Bussen, damit ein Sound anteilig in einen Hall-Bus geht) ist **#351** und nicht Teil dieses Issues. ## Tests - Unit: reverb (neu) 4, soundfx 57 (4 neu), sound-library 104 (2 neu), grün. - Gegenproben: Impulsdatei nicht mit der Stimme geladen, Nachhall ohne die Länge des Sounds. Jede macht einen Test rot. - e2e 34 (melektaus-atx): ALL PASSED, 81 Checks (1 neu). Chrome offline: still während des Pre-delay, 35,9 dB Abfall über 0,6 s bei 1 s Decay (erwartet 36), trockene Hälfte 0,25 bei Mix 0,5. Ein Sound mit einem einzigen Sample bei 0,2 s gibt den Impuls 0,25 s später zurück und sonst nirgends. - Gate (melektaus-atx) über den Endstand der Serie #318 bis #328: CHECK EXIT 0, 267 Dateien, 4134 Tests. **Nicht geprüft:** wie es klingt (die Tests laufen stumm), und eine Impulsantwort aus einer echten Aufnahme eines Raums. Wiki: *Sounds* (Abschnitt *Reverb*), *Instruments* und *Development* (1878 Checks), Wiki-Commit `892ae19`.
admin moved this to Done in Development on 2026-10-07 21:32:16 +02:00
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: meleki/feuerwerk#328