New Audio API [Beta]: Elevate Sound and Voice in Your Experiences

from what ive seen only audio from voice chat requires you to have vc enabled

2 Likes

Hello! Thank you for adding all of these features! I’ve spent around 6 hours experimenting, and I’m fairly fond of the system (with some caveats of course). I’ve listed one of them below.

My main concern is with the audio analyzer instance. Each frequency band returned from GetSpectrum() is ~46Hz. This is way too small to make any meaningful note detection, especially within the lower ranges.

The male chest vocal range is around E2 (~82Hz) to F4 (~349Hz), which has around 265Hz of range. The audio spectrum splits 24KHz into 512 equal bands of ~46Hz. This gives us a maximum of not even 6 differentiable frequencies (265 / 46 ~~ 5.8) within the male chest voice range (the male chest voice spans 26 unique notes). This is problematic as I was intending to use this new API to create a karaoke prototype, but found out that there aren’t even enough differentiable frequencies (let alone correct notes) returned by GetSpectrum().

A logarithmic scale, or a configurable resolution (i.e., 2048 instead of 512) and functional range (i.e., 50Hz - 1000Hz) detection range for the return of GetSpectrum() would alleviate this issue.

11 Likes

Rms Level doesn’t go up from 0 for me.

1 Like

But will we be able to hide the mic icon over our head yet…

1 Like

Just curious, can this new audio API be used to analyze the pitch of a user’s voice?

Yk, know what musical notes they are hitting?

1 Like

Would it be possible to get an official API to eagerly unload the memory associated with an audio asset (ex. AudioPlayer::Unload)?

I have a comprehensive sound management system very similar to what Tom_atoes has, and I was entirely not expecting the new audio API to understand the use case of and provide support for the AutoLoad property which simplifies a lot of my prior work with sound serialisation/deserialisation.

Overwriting the AssetId of an AudioPlayer doesn’t sound like a particularly intuitive trick to freeing the memory associated with a downloaded audio content though; I can obscure it at best with a method in my own sound library but official support such as through a method on AudioPlayers instead of having to change the AudioPlayer’s properties (and trigger Changed pipeline) would feel a lot cleaner.

5 Likes

It would be cool if audio could also be sent to a different server so you can communicate with a friend for example in different servers.

5 Likes

Hey @SomeFedoraGuy! AudioEmitters need at least one AudioListener to hear them, otherwise they’re emitting into the void – this is different from Sound, which assumed that there’s always one (and only one) global listener

In your setup, the reason you’re only hearing audio from the right side is that a listener is parented to a Part, and an emitter is parented to another Part situated to the right of the listener-part’s CFrame – you could try parenting the listener to your Camera instead, so that your listening perspective matches your view

3 Likes

Oooh I see, thanks for the help! Again, great update.

2 Likes

I’m trying it out with my own custom Radio mesh but for some reason it doesn’t work. I renamed the mesh to handle and everything and I made sure all the settings are correct. Please help!

Edit: I also tried testing the normal radio feature without modifying anything and it didn’t work either. The voice chat itself wasn’t working but we could still somehow hear ourselves, not each other.

1 Like

Finally a good update, is it also available for mobile users as well?

2 Likes

I was hoping this update would address a shortcoming of STEREO sounds parented to objects in the workspace. Stereo sounds are converted to mono sounds when parented to objects in the workspace. The only way to get stereo sound is to play the sound directly to a particular client either by localscript or by playing a sound to everyone(everywhere) by a serverscript playing a sound not parented by a part or attachment. The problem with this is that you can’t make a stereo sound that is placed in the world space.

I don’t see any mention of this being addressed or resolved in this update. Is this something on the road map?

I think it should be if it is not.

In your speaker/wiring example, there should be a property to select left or right channel of the audio when connecting player to emitter.

4 Likes

Perfect been wanting this ever since voice chat came out! Great update!

1 Like

People can spell out inappropiate words with parts, which is a lot easier, but they didn’t seem to care about that fact when adding parts.

6 Likes

Woohoo finally more versatility over the sound design, although what currently bothers me are the following things:

  • I know that this is in beta, but will we have ability to customize AudioEmitter’s rolloff behavior (like its mode, max and min distances) as this new API is actively developed?
  • Will Volume cap for AudioFader remain at 3 or would it be raised back to 10 eventually? Notfeeling like using 3 AudioFaders just to achieve same result. (ik volume of 10 is overkill but sometimes sound assets may end up too quiet and you have to amplify them yourself)
  • Will AudioInteractionGroups replace SoundGroups? If so, how will they differ in comparison to SoundGroup?

It’s a cool feature though, this old audio api was getting pretty ancient, I just hope that my concerns will be addressed as this is getting actively developed.

2 Likes

Wait, with this new api does this mean we can set a specific a spot where a player can only hear and listen to audios? (For example blur out background music, like radios, moving cars, but keep audio clear (or loud) in an area?) Since I could use this for my game where a player can do a 1v1-arena without hearing background sounds like sword clashing.

I’m aware of RollOffDistance but could this be achieved using the new api and not RollOffDistance since the audio can be moved or have a high RollOffDistance.

2 Likes

YOOOOO. Naw, ts crazy. FOR AUDIO DISTORTION EFFECT TOO? I can’t wait to try it out and test it on “walkie-talkies” and perhaps add it to my RPG game. Nah. This is cool. In addition, expanding voice technology for developers??? This is something Roblox has done once in a while and the fact that this is what they promised and had done within 3 years unlike other promised useful features they’ve never delivered.

This is what we needed but never knew we wanted. Please do more stuff like this for innovation!

3 Likes

This is so cool!
Lethal company remakes be getting fed heavily tonight!
In all seriousness though, is there a way to make custom effects? Like gasmask breathing?

1 Like

Would be great if there was distance options because the audio emitters can be heard from so far and the audio listeners also a bit of a problem of picking up sound from far.

2 Likes

What happens when I go behind a wall, will I hear the sound different? Should I?

1 Like