For the sake easy threading I wanted to connect your old feature request here to the release post
Feedback is a real thing in the real world too where a microphone picks up a sound from a speaker and the speaker replays an amplified version of it into the microphone creating a loop, where every replay is louder
Yup! In some sense, emitters and listeners exhibit the same behavior as real-world speakers and microphones – but in reality, speakers & microphones can get blown or damaged – in the digital world, things can just keep getting louder (barring floating point shenanigans)
The documentation told me that if an AudioEmitter is not part of a BasePart, Attachment, Camera or PVInstance, it cannot make any noise.
AudioEmitter
and AudioListener
infer their CFrame (position & orientation) from their parent – if they don’t have a 3d position & orientation, the audio engine doesn’t know where to emit or listen from
This new Audio API opens up a ton of new possibilities like a hypothetical PSTN/landline or an intercom
Hey I’ve recently changed it to use my own Voice setup how do I change my volume? I can hear people from far away I’ve search it a little better I found SetDistanceAttenuation which controls how an audio emitter’s volume changes with distance I just dont know if this is the right thing I need to use
Hey @rivenrd – that would work!
The default distance attenuation curve that AudioEmitter
s use looks something like
volume = 1 / math.max(distance, 1)
which gets quieter as distance gets bigger – but doesn’t ever fully hit zero.
If you want to keep the same general shape but silence the emitter after a certain MAX
distance, you could do something like
local curve = {}
for distance = 1, MAX do
curve[distance] = 1 / distance
end
curve[MAX] = 0
theEmitter:SetDistanceAttenuation(curve)
Hello, good morning/afternoon,
I’d like to report a bug with the new Audio API. I’m not sure if anyone has already noticed or mentioned it, but if so, I apologize in advance.
The issue happens with the AudioPlayer
instance, specifically with the AssetId
variable. When I input an ID, it doesn’t work because the rbxassetid://
prefix is missing. However, when I use the Sound
instance, I can input the ID, and it automatically adds the rbxassetid://
prefix.
Could you let me know if you’re planning to bring this feature back, or if it’s supposed to work but is currently bugged?
Thank you, and have a great day!
For some reason, the sound instance is not being picked up on audio listeners, while audio players are being picked up. This can be seen in this video.
I’ve uploaded the place file here for further inspection.
soundtest.rbxl (115.5 KB)
How do I mix two audio sources?
This new audio API, coupled with the EditableImage API opens for some new interesting gameplay mechanics previously not feasible in Roblox
Hey @kepiblop_house – this is unfortunately intended.
Sound
behaves like an AudioPlayer
+ AudioEmitter
+ AudioListener
+ AudioDeviceOutput
all in one; it does everything from playing to spatializing & rendering a file, making it difficult to ‘intercept’ the signal flow without accidentally breaking something.
We would have liked to make this compatible with AudioListener
s, but there are some subtle semantics especially when SoundEffect
s and SoundGroup
s are in the mix.
Currently, AudioListener
s can only hear AudioEmitter
s
Setting the attenuation as a flat curve does not ‘envelop’ the listener the same way as the classic sound instance does when coming from a base part. This isn’t a work around for the original behavior, unfortunately.
I would love to use the new audio APIs but volumetric sound from parts is an absolute must. Most developers use volumetric sounds because we want an ‘ambient’ for a particular room or region in a map, and its a simple, no-code solution. To achieve something similiar with audio emitters/listeners, a no-code solution is imperfect and clunky. A scripted solution involving moving the emitter based on the listeners position relative to the basepart’s volume would work better but it just adds a lot of technical bloat to achieve a behavior that was already possible with the legacy sound instance.
I know you mentioned its technically tricky with the new audio system, but is there any hope of some form of volumetric sound being look at for the future? @ReallyLongArms Thanks, I appreciate all the hard work that went into this!
I am having trouble enabling these features. For some reason, I can’t seem to find a way to enable them through the beta tab. I have closed and reopened my studio several times, and even reinstalled it, but the issue still isn’t fixed. Any help?
Hey @so1ehee, the new audio API isn’t in beta anymore – you should be free to insert the Audio instances anywhere in the explorer now
For working with voice chat, you’ll have to insert VoiceChatService
and set
UseAudioApi
to Enabled
Has anyone tried to set AudioDeviceInput
’s AccessType
property to Enum.AccessModifierType.Allow
while getting voice chat to work ?
I tried this and put the user ID of every player using the SetUserIdAccessList
method in the server, but no sound is produced at all. Even the player’s microphone button doesn’t have any green fill when talking to tell sound is being transmitted.
Or is that a bug ?
Hey @homermafia1, I tried making a small script and it seems to work on my end – one thing that might be surprising is that with Enum.AccessModifierType.Allow
, a Player must belong to their own device’s UserIDAccessList
in order to send audio up to the server – it’s not only a receiver-side access-control-list
Could you share sample code?
Hello,
I somehow missed the talking player in the list, now it works, thanks !
I saw that the setting to disable voice chat was moved to the Roblox menu (I'm no longer able to disable VC - #4 by letsgoroger), but it looks like it only shows on computer devices. Is that setting getting added to mobile devices anytime soon ? It is extremely annoying to have to mute everyone.