Adding the Audio API Roll Off Curve Editor [Beta]

Hi Creators,

We recently released the new Audio API, which added a bunch of new audio instances for controlling sound in your experiences. Thank you to everyone who has tried it out and left feedback on it.

Today, we’re excited to release our newest addition to the Audio API beta: a distance attenuation API for AudioEmitters. This unlocks functionality that many of you asked us about concerning custom rolloff distances for emitters, similar to the controls available for Sound instances.

With this update, AudioEmitter now includes the methods GetDistanceAttenuation() and SetDistanceAttenuation(). Using these, you can assign each AudioEmitter a custom volume-over-distance function of your design. You can draw tapered curves or minimum distances like before, but you can also make a spike at a certain distance, drop to zero instantly, or even make the volume increase! This offers a greater level of flexibility compared to what was available for Sounds.

Note: these curves use linear interpolation right now, but we may add something more spline-like in the future. More info about the accepted curve format, including sample script usage, can be found in our documentation.

To help with this, we’re providing a visual editing tool that you can use to see your rolloff curve and shape it however you imagine. This works a lot like our existing NumberSequence editor, but with some extra features, such as the ability to change the grid scale by scrolling up and down.

We hope you try it out! Like the rest of the new Audio API, custom rolloff curves are usable in live experiences, but as it’s still in beta, we’re hoping to iterate further on the feature based on your needs for sound design. Let us know what you think!

282 Likes

This topic was automatically opened after 10 minutes.

Will there be the ability to add this as a datatype for an attribute and use the editor there?

43 Likes

Really cool, we needed this. Once the Beta ends will there be a good and detailed wiki for that API? Thanks.

21 Likes

I can see how this will be useful in the future keep on making the Roblox engine even better than before!

16 Likes

Good that we can now customize the rolloff even further, spline like curves would definitly be more beneficial in the future, because right now you have to add a high amount of points to get somewhat close to a smooth curve…

16 Likes

Amazing!! W Roblox update, I can’t wait to start messing around with this beta feature. Would also love to see tangents added to this and our NumberSequence editor, kind of like the animation editor’s Curve API if that would be possible

14 Likes

Hi @cognitivetest_306,

We are early adopters with a Game fund project of the new Audio API, and this is a massive win for us and our audio engineers.

We have roughly 150 audio emitters currently within the city, what would make our workflow go a lot faster if we are able to pop open this curve editor from a plugin security level.

That way the can just select an emitter, change the curve and listen to it IRL.

21 Likes

Is there a reason why you didn’t use NumberSequence while retaining RollOffMaxDistance?
It would’ve been much more scalable and easier to manipulate.

12 Likes

I hope they add more curve editors on more properties that can be added, it would be very cool! Thanks for this update

11 Likes

NumberSequence has some limitations which prevented us from using it directly. For example, NumberSequence assumes that your curve always starts at X=0 and ends at X=1, and it has a point limit of 20

18 Likes

I hope there will be presets (that we could probably save and apply) or something so I don’t have to tediously set the same curve for multiple sounds, I’m accustomed to the simplicity of the old system

(also there is a plugin that visualises audio dropoff by utilising the RollOff values, so this is definitely gonna break that)

13 Likes

Is there any plans to add this editor (or any other option to limit the max range they can hear) to AudioListeners?

8 Likes

This is an awesome feature, I hope something like this could be used for the the audio equalizer, rather than just a few options for audio frequency.

10 Likes

It is finally here, after all this waiting!

9 Likes

Since it was called ‘Curve’ in Release Note 624,
I expected it to be a type that automatically smooths like animation curve keyframes or Blender’s FloatCurve, rather than just a NumberSequence or linear curves.

It’s a little bit disappointing that it didn’t meet my expectations.

ofc it’s not difficult to create plugins or modules for Bezier or spline interpolation (you can easily achieve automatic interpolation using matrices)
and I understand that spline or Bezier curves can be expensive

10 Likes

This is super neat! Can we also get curve editors for audio effects?

E.g. certain effects only activating if a sound is loud enough or only being applied to a frequency band instead of the entire sound.

9 Likes

Now I know what the CurveEditor string references were about when I was exploring the depths of Studio.

This is very cool, I guess. I can’t create Plugin Actions because they’re RobloxSecurity protected, and I don’t think the Toolbox will put Plugins inside of the Builtin plugins folder.

 

Anyways, about audio…

If I do math and talk into mic, then use AudioListener and Emitter as a way to store audio, by just looping the audio. :thinking:

I can temporary save voices and do playback, right?

idk, but there’s no such feature, but it would be very very cool and fun to experiment around with, definitely

aslong it’s temporary, cuz like idk privacy policy or whatever policy would “policying” this

10 Likes

this is an insane addition. we’re so back.

9 Likes

a curve attribute would be amazing

8 Likes