28be934a19
Root cause: timeline play passes exactAudioTime as 4th param which SpessaSynth interprets as enableReverh (boolean). All notes at T=0. Fix: compute delay = startTime - ctx.currentTime, use setTimeout to call noteOn(channel, pitch, vel) at correct future time. Never pass startTime to noteOn() — SpessaSynth doesn't support it.