Skip to content

Slowed playback sounds echoey on everything, not only drums #729

Closed

Description

@thcp

What goes wrong

Below 1x speed, everything that is time-stretched sounds slightly doubled or echoey: vocals, guitars, pads and cymbals, not only drum hits. At 0.75x it is clearly audible, and it is the main thing standing between the slowed speed and something pleasant to practise with.

Why

The tempo stage is WSOLA. It builds the slowed audio by repeating overlapping 82 ms fragments of the input. On sustained sound the repeats are heard as an echo or chorus. That is how WSOLA works, so no setting removes it. Shorter fragments move the echo closer together and make the tone grainier instead.

A frequency-domain stretcher does not repeat fragments. Rendered offline from the same 20 seconds of a full mix at 0.75x (55 attacks in the input):

Stretcher Attacks out Attack pairs 20 to 90 ms apart
WSOLA 60 8
Signalsmith Stretch, 40 ms blocks 61 2

By ear, the echo on sustained sound is gone.

Constraints

  • It has to stretch live input. The stems arrive at 1x and the stage consumes them at the slowed rate.
  • It must be permissively licensed, because it ships in an Apache 2.0 app. Rubber Band is GPL and is out.
  • The pitch stages and the shared-clock design (music, drums and click through one tempo stage) stay as they are.
  • The playhead, lyrics and count-in all correct for the stage's latency, so the latency has to be exact and reported by the processor, not hard-coded in the engines.
  • WebAssembly is blocked by the current script-src 'self' CSP, in the browser and in the desktop app.
  • If the new stage cannot load, playback must fall back to the current one rather than go silent.

Activity

  1. added 2 commits that reference this issue on Sep 30, 2026
    662f5cf
    8eed12b
  2. self-assigned this
    on Oct 1, 2026
  3. added a commit that references this issue on Oct 1, 2026
  4. added a commit that references this issue on Oct 2, 2026
    939d66e
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions