Sounds become out of sync when muted

Reproduction Steps

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

2 Likes

Hey! Thanks for reporting; I am able to reproduce the issue and will look into it

3 Likes

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.

1 Like

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!

3 Likes

That certainly fixes the problem I was having. Thank you for your transparency! :grinning: