Services and enums¶
SoundService¶
The audio-relevant members for the new system. Legacy-only members (RolloffScale, DopplerScale, AmbientReverb, RespectFilteringEnabled, VolumetricAudio, SetListener and so on) affect Sound only.
| Member | Notes |
|---|---|
DefaultListenerLocation |
Studio-only setting (shown as ListenerLocation): Default, None, Character or Camera. See Concepts. |
AcousticSimulationEnabled |
Master switch for occlusion, diffraction and reverb. Off by default. |
CharacterSoundsUseNewApi |
Enabled makes default character sounds (footsteps and so on) use AudioPlayer + AudioEmitter, so you can process and simulate them. |
GetMixerTime() → seconds |
Sample-accurate audio clock since the mixer started. Base every Play(atTime) / Stop(atTime) on it. |
GetListenerWorldCFrame() |
Where the player is hearing from |
GetAudioInstances() / AudioInstanceAdded |
Enumerate or observe audio objects |
GetInputDevices(), SetInputDevice(), GetOutputDevices(), SetOutputDevice(), DeviceListChanged |
The player's hardware choices |
VoiceChatService¶
Most of these are Studio properties (Plugin security). Set them in the Properties window; scripts can't change them at runtime.
| Member | Notes |
|---|---|
UseAudioApi |
Enabled means voice is built from AudioDeviceInput / AudioEmitter / AudioListener objects you can script. Disabled means an internal, unscriptable system. Automatic currently behaves like Disabled and will become Enabled later. New experiences default to Enabled. |
EnableDefaultVoice |
With UseAudioApi Enabled: on means Roblox builds proximity voice for you; off means you get only the AudioDeviceInputs and wire them yourself. With it Disabled, turning this off turns voice off. |
DefaultDistanceAttenuation |
Curve for the auto-made voice emitters: Inverse (inverse-square, the default) or Legacy (linear-squared, 7–80 studs, the old voice range) |
IsVoiceEnabledForUserIdAsync(userId) |
Client: only the local player. Server: players in that server. It can throw. |
GetChatGroupsAsync(players) |
Server-only. Groups players who are allowed to voice chat with each other (age-check, settings). Turn on Chat & Voice Groups APIs in Experience Settings first. Don't store the result after a player leaves. |
AssetService audio search¶
AssetService:SearchAudioAsync(AudioSearchParams) returns AudioPages. Search params: SearchKeyword, Title, Artist, Album, Tag (exact matches), MinDuration, MaxDuration, and AudioSubType (Music by default, or SoundEffect).
AudioFocusService¶
It appears in the engine API with focus contexts and voice deafen and undeafen events. It is not covered by the Creator Hub audio guides. Treat it as platform plumbing, not something to build on yet.
Enums¶
| Enum | Values |
|---|---|
AudioFilterType |
Peak, LowShelf, HighShelf, Lowpass6dB, Lowpass12dB, Lowpass24dB, Lowpass48dB, Highpass12dB, Highpass24dB, Highpass48dB, Bandpass, Notch |
AudioChannelLayout |
Mono, Stereo, Quad, Surround_5, Surround_5_1, Surround_7_1, Surround_7_1_4 |
AudioWindowSize |
Small, Medium, Large |
DistanceAttenuationMode |
Custom, Inverse, InverseTapered, Linear, LinearSquared |
EmitterPositionType / ListenerPositionType |
Parent, Instance |
SimulationMode |
Default, Enabled, Disabled |
ListenerLocation |
Default, None, Character, Camera |
AccessModifierType |
Allow, Deny |
AudioApiRollout |
Disabled, Automatic, Enabled |
VoiceChatDistanceAttenuationType |
Inverse, Legacy |
AudioSubType |
Music, SoundEffect |
Not released yet¶
These are in the engine but hidden from the Studio browser. Don't ship on them.
AudioRecorder: a 60-second in-session recorder. See Routing.AudioWindSynthesizer: procedural wind withProfile(Turbulence,Whistle,Foliage),Volume,Enabledand a position.