Sound FX: Pitch Node verkürzt/verlängert den Sound #312

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

Das Pitch Node verkürzt/verlängert den Sound, je nachdem ob man runter oder rauf pitcht. Außerdem wäre es noch gut, wenn Kommawerte erlaubt sind (nicht nur ganze Zahlen) + die Range erhöhen, momentan nur -24 bis 24; besser wäre -64 bis 64

Das Pitch Node verkürzt/verlängert den Sound, je nachdem ob man runter oder rauf pitcht. Außerdem wäre es noch gut, wenn Kommawerte erlaubt sind (nicht nur ganze Zahlen) + die Range erhöhen, momentan nur -24 bis 24; besser wäre -64 bis 64
admin added this to the Development project 2026-10-05 16:58:54 +02:00
admin moved this to Next in Development on 2026-10-05 16:59:00 +02:00
Owner

Umgesetzt in 790e483.

  • Pitch hält die Länge: Der Sound wird zuerst schneller oder langsamer gelesen (das setzt die Tonhöhe) und dann mit WSOLA wieder auf seine Länge gestreckt. Die reine Funktion steht in src/core/soundfx/pitchShift.ts.
  • Kommawerte: Ziehen am Feld in Schritten von 0,1, tippen geht beliebig. Bereich −64 bis +64 Halbtöne.
  • Die verschobene Kopie entsteht beim Start einer Stimme und wird je Datei, Tonhöhe und Loop aufgehoben (die letzten 32). Ein Loop wird über die Nahtstelle gestreckt.

Tests: pitch-shift (neu) 7 Tests. Ein 440-Hz-Sinus bei +12, −12, +7, +0,5 und −30,5 Halbtönen liegt jeweils innerhalb von 2 % vom Sollwert und behält seine Länge. sound-library 10 (+1), Gegenprobe ohne die verschobene Kopie fällt. e2e 34: ALL PASSED – 28 Checks, die Stimme eine Oktave tiefer ist im Browser 0,25 s lang wie das Original.

Nicht geprüft: Gehört hat es niemand. An den Rändern (±64) klingt es rechnerisch nicht mehr sauber, ein zufälliger Pitch je Schuss wird jedes Mal neu gerechnet (grob 15 ms für eine halbe Sekunde Stereo).

Umgesetzt in 790e483. - **Pitch hält die Länge:** Der Sound wird zuerst schneller oder langsamer gelesen (das setzt die Tonhöhe) und dann mit WSOLA wieder auf seine Länge gestreckt. Die reine Funktion steht in `src/core/soundfx/pitchShift.ts`. - **Kommawerte:** Ziehen am Feld in Schritten von 0,1, tippen geht beliebig. Bereich **−64 bis +64** Halbtöne. - Die verschobene Kopie entsteht beim Start einer Stimme und wird je Datei, Tonhöhe und Loop aufgehoben (die letzten 32). Ein Loop wird über die Nahtstelle gestreckt. **Tests:** pitch-shift (neu) 7 Tests. Ein 440-Hz-Sinus bei +12, −12, +7, +0,5 und −30,5 Halbtönen liegt jeweils innerhalb von 2 % vom Sollwert und behält seine Länge. sound-library 10 (+1), Gegenprobe ohne die verschobene Kopie fällt. e2e 34: ALL PASSED – 28 Checks, die Stimme eine Oktave tiefer ist im Browser 0,25 s lang wie das Original. **Nicht geprüft:** Gehört hat es niemand. An den Rändern (±64) klingt es rechnerisch nicht mehr sauber, ein zufälliger Pitch je Schuss wird jedes Mal neu gerechnet (grob 15 ms für eine halbe Sekunde Stereo).
admin moved this to Done in Development on 2026-10-05 20:21:26 +02:00
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: meleki/feuerwerk#312