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

thank you for the help character limit

1 Like

Really appreciate the response!
The one thing I’d like control in is the Band Shape and dB/Oct slope.
What band type are the High and Low configurations? Are they shelfs or high/low passes?

Knowing that the dB/Oct curves are 24 is super helpful, but having them that steep can introduce boosted frequencies at the edge of the curve. Having an option to select a super shallow 6dB or 12dB curve would be quite helpful in taming the low pass filters in my game. Having a locked 24dB curve was a good choice for general application but it’s starting to work against me when I’m designing.

Having control over the slope steepness will allow for smoother transitions and more possibilities in engine to design and direct audio.

Allowing the choice of different band types such as Shelfs or Low/High Pass filters can allow for more creative and specific EQ’ing that’s not too harsh/drastic in engine.

Finally, some sort of tool that allows me to see the voice counts of sound instances playing in game at one time either in the microprofiler or a seperate debug screen so I can manage and optimize my audio for the best listening experience.

Overall, love this update, can’t wait for improvements and more attention to the audio side of roblox as the platform grows.
AND PLEASE, sometime in the future. Let us put an audio instance in the world on its own, and be able to move JUST the audio instance like you would a part. You could select the shape you want and scale just like in other engines such as unity, or unreal.



I am not sure if anyone has addressed this issue, but it appears to me that muting and unmuting yourself causes a 2-3 second lag spike.


As TTV_Jabit
mentioned, I really wish raytraced audio like this is something that could be considered to be implemented into the roblox engine in a future update.

I re-opened the Audio API Tutorial test place a few minutes ago and it has started working again :slight_smile:

Now that AudioAnalyzer:GetSpectrum() has been re-enabled, it would be nice to update the original post of this thread to clarify that it is functional again, as that would be useful to know for anyone like myself who still thought it was temporarily turned off.

Are you sure it still works? For me it only works with streams that come out from a AudioPlayer, not AudioDeviceInput.

1 Like

Thanks for pointing that out, as I hadn’t tested it with AudioDeviceInputs before. I tried experimenting with it after seeing your reply and you’re right; only an empty table is returned from it.

I had presumed that it was back to normal since the example with the AudioPlayer in the test place began working again, but if AudioAnalyzer:GetSpectrum() used to work with AudioDeviceInputs before they temporarily disabled it, then it seems that its full functionality hasn’t actually returned yet.

I didn’t think it would be possible for that feature to only be re-enabled for some of the Instances and not all applicable ones, but maybe the issues they found only pertained to AudioDeviceInputs and that’s why it still isn’t working with it? Not super sure, especially since I don’t know if that’s something that had actually worked with AudioDeviceInputs prior to it being turned off.

Hope that there will be clarification from the Roblox Staff Members sometime soon so we’ll know what its overall status is

For me AudioPlayers always worked with the analyzers even when they said they disabled it… perhaps was just targetted towards the mic.

It’s weird because the first buffer of the mic recorded is usually read by :GetSpectrum() allowing me to print the FFT array but after that it just returns empty arrays.

1 Like

this is pretty sick I think audios didn’t have enough function. though I still think transitions into audios should be a thing. Yes you can create it yourself but it would be better if it was a thing to use instead

Could it be possible to let us enable AudioDeviceInput.Active via server scripts? It’s only possible to enable it locally, but I wish we could enable it via server scripts.

That will never happen because the ability to enable the AudioDeviceInput.Active property from the server would make it so that game developers could turn on players’ connected input devices without their permission.

This was clarified by the staff member who posted this thread:

Does the AudioDeviceInput.Active control whether the microphone is on or off?

I was more of thinking how roblox’s system turns the Active property on and off depending on if sound is emitted into the microphone, which causes it sound more laggy and bad quality. I’m not exactly sure if that’s how it works, but that’s what it seems like it’s doing. My request is that the active property could just stay on as long as you’ve turned on your microphone, so we can have better sound quality.

Would be interested to know how you did this if that is ok

Based on the documentation for AudioDeviceInput.Active, yup. It basically says whether or not the input device is actively recording audio.

The Active property is on for the AudioDeviceInput once the player joins and then manually clicks the in-game mute microphone button (either through the CoreGui at the top left of the screen, or the bubble above their character model) to initially unmute their input device.

If someone has a physical mute button directly on their microphone and they press that, it should not affect the Active property in-game.

The Active property turns off if they manually click one of those in-game CoreGui buttons again. From what I understand, it wouldn’t be automatically turned off by the engine unless the player disconnects all of their input devices.

1 Like

Can we maybe have a larger range of volume for the AudioFader as I am currently having issues with it being to quiet.

Instead of 0-3 increase 0-10 or 0-20??

Many Thanks

1 Like

I did a test and confirmed the Active property is just whether you’ve enabled your microphone in the game.

I realize now, that what I was talking about might not have had anything to do with the Active property. My point wasn’t that I wanted to be able to force enable people’s microphones. My point is that roblox has some kind of input sensitivity system, similar to discord, which is what I wish we were able to turn off. If we were able to turn it off, the sound emitted from the microhpone would sound so much clearer and better quality.

The reason I even mentioned AudioDeviceInput.Active, is that when I manually enable it in test mode on roblox studio, the sensitivity system is for some reason disabled. Which has led me to think it was the Active property that controlled whether the sensitivity system is enabled.

1 Like

Yeah I noticed something like this too when I was running voice chat tests but I didn’t know at the time if it was just my microphone gain being too low, me not talking loud enough, or something else affecting how the audio went through.

That’s interesting; would be cool to receive some clarification about that from the staff members who’ve posted in this thread if that’s something they’d be able to provide more insight on.

1 Like

That’s really neat! I just wanna know, will it be able to be affected by DopplerScale?
Also should I use these for new games or normal sounds instead? (whoever got more effect tweaks/performance)

It’s not really important, as it’s not relevant to the topic of discussion.

I enabled the new Audio API to my game but now voice chat isn’t working at all in my game. I keep getting the message “This account is not eligible to use Spatial Voice” when I test in studio, and when I join the game nobody has voice chat enabled. The game has voice chat enabled but it still doesn’t work and I’ve tried everything. Can anyone help solve this bug? When I do print(game:GetService(“VoiceChatService”):IsVoiceEnabledForUserIdAsync(player.UserId)) in a script it gives me an error code “HTTP 403 (Forbidden)”