Repository navigation
External Media Sync / Backing Tracks - Allow mixing with Synthesizer #2397
Description
Activity
- addedarea-playerRelated to the audio playback engine.Related to the audio playback engine.platform-allAffects all platformsAffects all platformsstate-ideaThis is an unplanned idea, vote for it if you want it.This is an unplanned idea, vote for it if you want it.
on Nov 28, 2025 Notes:
In this mode the behavior is similar to:
- the synthesizer always stays active.
- Additionally the backing track or external media player can be active modifying the current time position regularly
- If no backing-track or external media is active, the synth just keeps playing (but respecting the sync points).
If the external media time updates indicate a drift of the time axis (simple threshold?), we need to seek the synthesizer. As the update should happen quite often, there is no need for a smooth correction.
Reacted by lijieI am looking forward to being able to synthesize metronome and accompaniment simultaneously in External Media mode
Hi, I just noticed that when using the External Media, and enabling count-in or metronome, we can no longer see the cursor animated, and the browser kind of freezes (audio plays, but no event listeners), until gets "Page unresponsive".
Is this related to the same issue, or is it another one?
To replicate:
- open playground
- load a guitar pro file with synced media (setup done in guitar pro, not alphatab)
- set volume to either metronome or count-in to 1
- play the track
- sound is playing, but everything else is unresponsive, untill it "crashes"
Thanks in advance
- Hi Leo, I’ve noticed similar behavior when using External Media modes. This appears to be a synchronization conflict between alphaTab’s internal MIDI sequencer and the external audio clock (e.g., YouTube or an MP3 file). Why this is happening: When 'External Media' is active, alphaTab must sync its cursor and metronome 'ticks' to the progress of the external file. If the metronome or count-in is enabled, the player may enter a high-frequency loop attempting to calculate the exact timing for the next tick relative to the external stream. This can saturate the main browser thread, leading to the "Page unresponsive" error and frozen animations while the audio continues to play. Industry Context: This is why platforms like Songsterr and Ultimate Guitar often disable or experience issues with metronomes in "Video" or "Backing Track" modes. Maintaining sample-accurate synchronization between a synthesized metronome and a variable-bitrate external stream is notoriously difficult in a browser environment. Current Workarounds: 1. Use AlphaSynth Mode: If you require the metronome or count-in, switching the Player Mode back to the internal synthesizer (EnabledSynthesizer) is currently the most stable approach. 2. Control via API: You can verify if these volumes are interfering by manually adjusting metronomeVolume or countInVolume through the API. 3. Pre-roll/Lead-in: For a "count-in" effect with external media, it is often more reliable to add a silent bar at the beginning of the tab itself rather than relying on the programmatic count-in feature. Hopefully, this provides some clarity on why the freeze is occurring. Best regards, Brett PS Daniel, is the mastermind behind all this as we know, but I think this will help.…On Fri, Feb 27, 2026 at 9:23 AM Leo Caseiro ***@***.***> wrote: *leocaseiro* left a comment (CoderLine/alphaTab#2397) <#2397 (comment)> Hi, I just noticed that when using the External Media, and enabling count-in or metronome, we can no longer see the cursor animated, and the browser kind of freezes (audio plays, but no event listeners), until gets "Page unresponsive". Is this related to the same issue, or is it another one? Thanks in advance — Reply to this email directly, view it on GitHub <#2397 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/BNLESQGNUS5EUEHOEV3NCTD4OB4QHAVCNFSM6AAAAACNPVR5AKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTSNZUGEZDGNBVGA> . You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
I guess the answer is simple here: It is expected that metronome does not work as alphaTab cannot mix synth and external media. For the count-in I might have totally forgotten to think about this part. But internally it is the same as external media: It is not supported.
But its definitely a bug that alphatab gets stuck. And it will get a feature when alphaTab can play external media and the synth together.
Thank you for the details @AvaTheArchitect. That makes sense.
I am aware of some of the limitations in the browser, and this is definitely challenging to get right, but I do think it would be possible. I've seen metronome and audio backing track working well with Soundslice. I've never investigated how they do it, but they managed to get a nice performance when playing metronome + backing track (audio or youtube).(I don't think they allow to play synth + audio as well, but metronome and count-in they do)
I was just wondering whether I should raise a new issue for the metronome and/or count in, or, because they use synth, it would be fixed when supporting mixing synth + media.
- Hi Leo, That makes sense. Please keep me posted, as I’m excited to see what everyone builds or innovates for alphaTab along the way. On my end, I have been building a project similar to Songsterr but with some unique additions. So far, I’ve implemented tab libraries, looping, a metronome, speed control, and track-switching audio controllers. I agree that having a count-in and metronome available in external mode would be very beneficial. I’ve heard of Soundslice but am not personally familiar with its full capabilities or how they handle those specific synchronization challenges. Best regards, Brett…On Sun, Mar 1, 2026 at 3:18 PM Leo Caseiro ***@***.***> wrote: *leocaseiro* left a comment (CoderLine/alphaTab#2397) <#2397 (comment)> Thank you for the details @AvaTheArchitect <https://github.com/AvaTheArchitect>. That makes sense. I am aware of some of the limitations in the browser, and this is definitely challenging to get right, but I do think it would be possible. I've seen metronome and audio backing track working well with Soundslice. I've never investigated how they do it, but they managed to get a nice performance when playing metronome + backing track (audio or youtube). I was just wondering whether I should raise a new issue for the metronome and/or count in, or, because they use synth, it would be fixed when supporting mixing synth + media. — Reply to this email directly, view it on GitHub <#2397 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/BNLESQFZSIRX5U6PAOHZX7T4OTAM5AVCNFSM6AAAAACNPVR5AKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTSOBRGI3TGNZYGI> . You are receiving this because you were mentioned.Message ID: ***@***.***>
Thanks @AvaTheArchitect, I am still exploring, but I am trying to create a rhythm game with alphatab and midi. Especially with e-drums, but it worked fine with the keyboard on my tests, too.
On my previous attempt, starting from scratch, I had performance issues (https://leocaseiro.github.io/alpha-drums).
So I decided to try forking from the alphaTabWebsite, and it's working much better for now, but it's still in a very early stage.
https://leocaseiro.github.io/alphaTabWebsite/docs/rhythm-gameIf you don't have any midi input devices, and use mac, you can try it out via https://github.com/flit/MidiKeys mac app that simulates a midi keyboard.
I haven't tried on windows yet, but I saw a bit of a latency on Android, so I'm expecting the same on Windows devices too.- removedarea-playerRelated to the audio playback engine.Related to the audio playback engine.platform-allAffects all platformsAffects all platformsstate-ideaThis is an unplanned idea, vote for it if you want it.This is an unplanned idea, vote for it if you want it.
on Jul 10, 2026 - added 7 commits that reference this issue
on Oct 7, 2026
Metadata
Metadata
Assignees
Labels
Type
Fields
Priority
Area
Platform
Work State
Effort
alphaTab has currently the limitation that it can only use either the synth or the external media or backing track.
The missing part is: having both together.