Thanks. Well yes I've had a ton of issues with sync throughout development, though I like to think I've sorted out the biggest offenders by now. The biggest problem is actually ajax requests being very unstable to load in over prolonged preview sessions. So I've lost hours of load time on simply refreshing the preview to quality check certain aspects of the development.
There's two tricks I mostly resort to to ensure sync. The first is making sure every element in the game that's rythm based is using behaviours that doesn't get affected by the framerate. For instance the arrows prompts are bullets (though I've moved over to code my own behaviours on other aspects like the purple sonar).
The second and most important one is having a timer that keeps track of how long the track has progressed. Whenever there's a lagspike the action stops but the sound continues, making for a devestating off sync. However I set up an event tracking the delta time. If it reached ridicilously low levels the audio will seek back to the last tracked value. It works surprisingly well, though I'm not 100 % satisfied with it.
When I was trying different methods for interactive music in the past, I tried a timer but knew that it was definitely possible for the timer itself to de-sync from the audio. I found using the audio file's playback position to be far more reliable. I didn't even realize it was reference-able for a while. But regardless, Klang is one of my most-anticipated C2 games!