This app demonstrates real-time audio playback and processing in the browser using Web Audio and WebAssembly. You can load multiple tracks, keep them sample-accurately in sync, and adjust per-track gain, pan, pitch, and tempo. DSP runs off the main thread via AudioWorklets and WASM to keep the interface responsive.
The first version uses two separate effects for pitch shifting and time stretching to maximize sound quality and UX. Pitch shifting is implemented with WSOLA, while time stretching uses PaulStretch, both state of the art in their fields
The second versioncombines both tasks in a single granular synthesis processor, which stays closer to the proposed implementation but yields lower sound quality.