SoundService¶
A service that determines various aspects of how the audio engine works. Most of its properties affect how Sounds play in the experience.
Description¶
A service that determines various aspects of how the audio engine works. Most of its properties affect how Sounds play in the experience, while others affect the behavior of instances in the advanced audio system such as AudioPlayers and AudioEmitters.
SoundService is also often used to store SoundGroups, although this is not mandatory for groups to work.
Inheritance¶
Object → Instance → SoundService
Nova inheritance: Instance → SoundService
Properties¶
AmbientReverb Supported Property The ambient sound environment preset applied to all Sounds.
The ambient sound environment preset applied to all Sounds.
A reverb preset that should be applied to all Sounds in the experience.
Each ReverbType option for this property corresponds to a preset available in the FMOD sound engine. For example, when AmbientReverb is set to ReverbType.Hangar, Sounds will have reverb applied to simulate being in a large enclosed space.
Note that this only affects Sounds and not instances in the advanced audio system such as AudioPlayers and AudioEmitters. See AudioReverb for a way to apply reverb in that system.
DistanceFactor Supported Property The number of studs to be considered a meter by SoundService when simulating the Doppler effect for Sounds.
The number of studs to be considered a meter by SoundService when simulating the Doppler effect for Sounds. This impacts any Sound parented to a BasePart or Attachment.
By default, this property is 3.33, meaning that a meter is considered
3.33 studs for the purposes of simulating the Doppler effect. The greater
the DistanceFactor, the faster the
listener has to travel relative to Sounds in order to
experience the same Doppler shift.
It's recommended that you only change this property if the objects in your experience are scaled differently from what they represent. For example, if your character is meant to be very small (but is normal-sized in the engine), you may want to increase SoundService.DistanceFactor.
Note that this does not impact the behavior of instances in the advanced audio system, such as AudioPlayer or AudioEmitter.
DopplerScale Supported Property Degree to which the pitch of a Sound varies due to the Doppler effect.
This property determines the degree to which the pitch of a Sound varies due to the Doppler effect. This impacts any Sound parented to a BasePart or Attachment.
The Doppler effect is a phenomenon whereby the pitch of a sound changes as
the source and observer of the sound move further away or closer together,
which is stronger the more quickly they are moving. Increasing
SoundService.DopplerScale exaggerates the impact of this effect,
whereas decreasing it minimizes it. By default, the value of this property
is 1.
Note that this does not impact the behavior of instances in the advanced audio system, such as AudioPlayer or AudioEmitter.
RolloffScale Supported Property Determines how fast the volume of a Sound attenuates beyond its Sound.RollOffMinDistance.
Determines how fast the volume of a Sound attenuates beyond its Sound.RollOffMinDistance.
Determines how fast the volume of a spatialized Sound attenuates. This impacts any Sound parented to a BasePart or Attachment.
A higher RolloffScale means the volume of a Sound will attenuate more rapidly as the distance between the listener and the Sound grows. More precisely, the volume of the Sound will still start attenuating at a distance equal to Sound.RollOffMinDistance, but the attenuation curve will be steeper or more gradual based on the value of RolloffScale. Note that the Sound will still be inaudible past its the Sound.RollOffMaxDistance regardless of the value of SoundService.RolloffScale.
Note that this property does not affect the behavior of instances in the advanced audio system, such as AudioEmitter. See AudioEmitter.SetDistanceAttenuation for a way to apply custom attenuation in that system.
Methods¶
GetListener Supported Function Returns the current listener type used by Sounds, as well as what that listener is currently set to.
Returns the current listener type used by Sounds, as well as what that listener is currently set to.
Returns the current listener type used by Sounds and what object or position that listener is currently set to. This is the point from which Sound audio in the experience is heard by the player. By default, the listener is set to Workspace.CurrentCamera. The listener can be changed using SetListener().
Note that this does not affect the listener location when using the advanced audio system. See AudioListener for a way to set the listener location in that system.
PlayStockSound Supported Function
No description available.
RobloxScriptSecuritySetListener Supported Function Sets the listener used by Sounds.
Sets the listener used by Sounds.
Sets the listener type for any Sounds in the experience, which defines the point from which Sound audio in the experience is heard by the player. For Sounds parented to a BasePart or Attachment, the listener influences the volume and left/right balance of a playing sound. By default, this listener is set to Workspace.CurrentCamera.
Note that this does not affect the listener location when using the advanced audio system. See AudioListener for a way to set the listener location in that system.
Roblox reference signature
Inherited members¶
Inherited from Instance: 8 properties, 36 methods, 7 events. They are documented on the base class page.
36 modern Roblox member(s) are not implemented yet — expand to inspect
Members declared by Roblox's SoundService class (or by a missing base class) that Nova does not expose. Use this list to scope a migration; the compatibility guide has the recommended workaround.
Properties¶
| Member | Signature | Status | Notes | Flags |
|---|---|---|---|---|
AcousticSimulationEnabled |
AcousticSimulationEnabled: bool |
Not yet | Determines whether acoustic simulation is enabled globally in the advanced audio system. | — |
CharacterSoundsUseNewApi |
CharacterSoundsUseNewApi: RolloutState |
Not yet | Determines whether the default character sounds will use instances in the advanced audio system vs. Sounds. | read None / write PluginSecurity |
DefaultListenerLocation |
DefaultListenerLocation: ListenerLocation |
Not yet | Determines where (if anywhere) to place an AudioListener by default. | PluginSecurity |
DiffractionEnabled |
DiffractionEnabled: bool |
Not yet | — | — |
ListenerCFrame |
ListenerCFrame: CFrame |
Not yet | The CFrame that is used as the listener's position if ListenerType is set to [ListenerType.CFrame](../enums/Lis… | — |
ListenerObject |
ListenerObject: Instance |
Not yet | The Instance whose translation or coordinate frame is used as the listener's position if ListenerType is set to [ListenerT… | — |
ListenerType |
ListenerType: ListenerType |
Not yet | The current listener type used by 3D Sounds to determine where they will be heard from. | — |
OcclusionEnabled |
OcclusionEnabled: bool |
Not yet | — | — |
RespectFilteringEnabled |
RespectFilteringEnabled: bool |
Not yet | Sets whether Sound playback from a client will replicate to the server. | — |
ReverbEnabled |
ReverbEnabled: bool |
Not yet | — | — |
Methods¶
| Member | Signature | Status | Notes | Flags |
|---|---|---|---|---|
BeginRecording |
SoundService:BeginRecording(): bool |
Not yet | — | RobloxScriptSecurity |
EndRecording |
SoundService:EndRecording(): Dictionary |
Not yet | — | Yields, RobloxScriptSecurity |
GetAudioApiByDefault |
SoundService:GetAudioApiByDefault(): bool |
Not yet | — | RobloxScriptSecurity |
GetAudioInstances |
SoundService:GetAudioInstances(): Array |
Not yet | — | RobloxScriptSecurity |
GetInputDevice |
SoundService:GetInputDevice(): Tuple |
Not yet | — | RobloxScriptSecurity |
GetInputDevices |
SoundService:GetInputDevices(): Tuple |
Not yet | — | RobloxScriptSecurity |
GetMixerTime |
SoundService:GetMixerTime(): double |
Not yet | Returns a number in seconds which increases as the audio engine mixes. | — |
GetOutputDevice |
SoundService:GetOutputDevice(): Tuple |
Not yet | — | RobloxScriptSecurity |
GetOutputDevices |
SoundService:GetOutputDevices(): Tuple |
Not yet | — | RobloxScriptSecurity |
GetRecordingDevices |
SoundService:GetRecordingDevices(): Dictionary |
Not yet | — | Yields, RobloxScriptSecurity |
GetSoundMemoryData |
SoundService:GetSoundMemoryData(): Dictionary |
Not yet | — | RobloxScriptSecurity |
InsertAsset |
SoundService:InsertAsset(assetId: ContentId, assetName: string, useSelection: bool = true): Instances |
Not yet | — | RobloxScriptSecurity |
OpenAttenuationCurveEditor |
SoundService:OpenAttenuationCurveEditor(selectedCurveObjects: Instances): null |
Not yet | Opens the attenuation curve editor in Studio for the provided AudioEmitter or AudioListener instances. | PluginSecurity |
OpenDirectionalCurveEditor |
SoundService:OpenDirectionalCurveEditor(selectedCurveObjects: Instances): null |
Not yet | Opens the directional curve editor in Studio for the provided AudioEmitter or AudioListener instances. | PluginSecurity |
PlayLocalSound |
SoundService:PlayLocalSound(sound: Instance): null |
Not yet | Plays a copy of a Sound locally, such that it will only be heard by the client calling this method. | — |
SetAudioApiByDefault |
SoundService:SetAudioApiByDefault(enabled: bool): null |
Not yet | — | RobloxScriptSecurity |
SetInputDevice |
SoundService:SetInputDevice(nameOrInstance: Variant, guidOrPin: string): null |
Not yet | — | — |
SetOutputDevice |
SoundService:SetOutputDevice(name: string, guid: string): null |
Not yet | — | RobloxScriptSecurity |
SetRecordingDevice |
SoundService:SetRecordingDevice(deviceIndex: int): bool |
Not yet | — | RobloxScriptSecurity |
SetSoundEnabled |
SoundService:SetSoundEnabled(enabled: bool): null |
Not yet | — | RobloxScriptSecurity |
Events¶
| Member | Signature | Status | Notes | Flags |
|---|---|---|---|---|
AudioInstanceAdded |
AudioInstanceAdded(instance: Instance) |
Not yet | — | RobloxScriptSecurity |
DeviceListChanged |
DeviceListChanged(newDevices: Tuple) |
Not yet | — | RobloxScriptSecurity |
OpenAttenuationCurveEditorSignal |
OpenAttenuationCurveEditorSignal(selectedCurveObjects: Instances) |
Not yet | — | RobloxScriptSecurity |
OpenAudioCompressorEditorSignal |
OpenAudioCompressorEditorSignal(selectedCompressorObjects: Instances) |
Not yet | — | RobloxScriptSecurity |
OpenAudioEqualizerEditorSignal |
OpenAudioEqualizerEditorSignal(selectedEqualizerObjects: Instances) |
Not yet | — | RobloxScriptSecurity |
OpenDirectionalCurveEditorSignal |
OpenDirectionalCurveEditorSignal(selectedCurveObjects: Instances) |
Not yet | — | RobloxScriptSecurity |
Roblox reference: SoundService
Generated from Nova's API dump and Roblox creator-docs. Nova-only members come from the engine's reflection metadata.