Ashley I'm only using Timers for volume fading, but the track remains playing (I probably should replace it with a more concave or convex "line" using lerp, it would sound better). All the music is set to loop in the Audio object. So it must be the looping that is causing it to become out of sync. I double checked my audio and each of the 4 tracks is precisely 29.538 seconds in length.
For the sake of ease let's say each track is precisely 0:30.000 seconds:
if track1 starts at: 0:00.000
and track2 starts at: 0:00.016 (worst case scenario)
and track3 starts at: 0:00.032
and track4 starts at: 0:00.048
their next start times after looping once should be:
track1 at: 0:30.000
track2 at: 0:30.016
track3 at: 0:30.032
etc... and so on..
each track should always remain the same +/-16ms apart after they have been started, however as you let it play(approx 4 mins), this is clearly not the case, the distance between the start times becomes audible and grows.
So maybe the Audio object is not meant to handle situations like this?