Hello gamers! I’ve wanted to make a dynamic reverb system ever since seeing that one post from a few years ago, and finally decided to do it.
This was also spurred on partially by the new acoustic simulation beta being kinda mid (and this is coming from this guy). Roblox please make it way more customizable this isn’t a one size fits all problem.
Anyways, I cooked this up within the last day so expect a few updates over the next few days!
How to use:
Have a folder in Workspace called “World”
Create AudioReverb instance (make sure its parented to a part)
Wire it all up
Add tag “DynamicReverb” (do this AFTER parenting the AudioReverb instance)
Profit
Things this doesn’t do (yet):
Occlusion (might add it eventually but its annoying to get it right)
Links: Model - Model with everything needed to quickly start DynamicReverbPlayground.rbxl (67.4 KB) - Already setup place with everything installed correctly
Just pushed an update adding server owned DynamicReverb, simply tag your AudioReverb instance with “DynamicReverbServer” instead of “DynamicReverb”, also moved everything to a module.
Some things I would recommend implementing for increasing performance are time splicing and distance checking. Time splicing is just only updating a limited number of objects per update. A distance check is self explanatory… just check if our active listener, the workspace.CurrentCamera, is within the part’s DistanceAttenuation in the AudioEmitter.
Also would be awesome if you managed to support the older Sound instances. Only issue is that you’d have to create a SoundGroup per object to get past this issue.
This sounds a lot better than the official Roblox Beta (when just considering the reverb, not the occlusion), nice work. Could you provide stats for performance eg. how much time does this take per frame in various scenarios?
I thought about it but probably not. It shouldn’t be too hard to hack together a version that would work with sounds, but it’s not really a priority for me.
I rewrote your script with help from gemini to try to automatically bootstrap sounds, as @error12345307 wanted. I also added basic occlusion (needs volume adjustment still) and more effecient reverb – it raycasts from your head to search for sounds, which saves computing when you have alot of sounds.
It needs tuning, but when it works, it really works – You can navigate spaces with just your headphones.
@smile4cs Thank you so much for posting this open-source. Hence, I am posting this version openly as well. My only request is if anyone improves my improved version of @smile4cs 's code, repost it to this thread to I can use the improvements too
Alot of credit to this dude for releasing all his trade secrets to the world; Couldnt have done it without the theory in this video:
compared to Roblox’s audio acoustics this has less features, and it doesn’t run in parallel although it relatively easily could. however, it does in my opinion provide much nicer dynamic reverb, and since all of the code is open you can adjust it a LOT more than what roblox has provided