As a Roblox developer, it is currently impossible to sync several audio tracks perfectly together on Roblox if their TimePositions are not 0.
Initially when the audios are played from TimePosition = 0
, they are perfectly synced with eachother. However, whenever a script tries to make an edit to the playback of the audios (eg: changing TimePosition, pausing and resuming playback) they almost always desync. This means that pausing the game in any capacity desyncs the audio tracks. I tried several ways of syncing them together, like repeatedly setting the TimePositions of the audios to the TimePosition of one specific audio in order to make them match up. Much to my dismay, these attempts to fix it either do nothing or make the problem much worse.
When I print the TimePosition of the audios, the game returns equal numbers. The game thinks that they are synced but from what I am hearing, they are clearly not! This is extremely frustrating, as I am developing a rhythm game that has the instrumentals and vocals as seperate tracks so that the vocals cut out if the player is missing their notes. The player cannot pause and resume the game without desyncing the audio tracks.
If this issue is addressed, it would improve my development experience because it would allow me to continue development of my rhythm game, and it would allow me to implement interesting audio design into other games, such as dynamic music that toggles different tracks to fit the mood of the current situation.