Insert two sounds with the same sound ID (rbxassetid://1841647093)
Play two sounds at the same time with a script
Set one of the sounds volume to 0
Turn it back up
Expected Behavior
There should be no difference in audio than before
Actual Behavior
The two sounds are no longer in sync
Workaround
Setting the volume to 0.0001 instead of 0
Issue Area: Engine Issue Type: Display Impact: Moderate Frequency: Sometimes
I was also able to reproduce the issue with 3D sound when moving away from one part until it’s essentially muted while keeping the other part audible.
When sounds become Silent, we simulate the passage of time (i.e. TimePosition keeps increasing), but stop actually rendering the signal. We call those sounds “virtual”. This applies to both sounds that are explicitly muted, and ones that are too far away to hear, mostly as a means of saving CPU.
Unfortunately, it looks like when a virtual sound becomes “real” again, it can take some time for it to find the spot that it’s supposed to resume playing from. That time spent seeking accounts for the time-skew.
While we work on a more thorough fix, I’ve disabled virtualization as a workaround. This should sound correct at the expense of CPU – please let me know if that has addressed the issue!