Resonance - Acoustics Library

Resonance - Acoustics Library :musical_note:

I’ve released a lightweight module that makes working with Roblox’s new audio system simple.

:backhand_index_pointing_right: Resonance (Creator Hub)


What it does

Resonance wraps AudioPlayer, AudioEmitter, AudioAnalyzer, and more into one easy-to-use object. No more manual wiring, just one call to set everything up:

local Resonance = require(script:WaitForChild('Resonance'))

local sound = Resonance.new('rbxassetid://1846476088', workspace.Part, {
    Looping = false,
    Volume = 1,
    Analyze = true,
})

sound:Play()

Features

  • Simple playback: :Play(), :Stop(), :SetVolume(), :SetPlaybackSpeed().
  • Distance/angle attenuation curves.
  • Optional real-time analysis: peak, RMS, spectrum.
  • Handles cleanup with :Destroy().

Free to use in any project. I’ll be adding more things as time goes on. Feedback and suggestions are welcome.

7 Likes

This completely defeats the purpose of using the Audio API in the first place. If you don’t want to go through all that work, just use Sounds. So, what’s this resource do that Sounds don’t?

Why would making a feature of the engine, more convenient to use, be a bad thing?

Are you aware of the limitations that legacy sound instances has, that Audio API does not?

I can’t view the model unfortunately, using the link you provided.
Not sure if this is on my end or what.

What you said was confusing, but basically; this is just an Audio API wrapper, it doesn’t do anything special.

1 Like

With this logic, ProfileService is just a DataStore wrapper and nothing more. Despite this, it’s still used in hundreds of top games.

I’m quite interested by the fact that all the code to create, prepare and wire instances (which can easily get to nearly 100 lines of code for a single sound) can be wrapped in one call. A module doesn’t have to do a lot of things behind the scenes to still be useful.