---
title: Sound objects
description: Sound objects are legacy instances that emit sound within an experience.
---
| Location | How audio emits | How volume changes |
|---|---|---|
| Child of a block, sphere, or cylinder `Class.BasePart`. | Audio emits outward from the entire surface of the part. | Volume changes depending on the distance between the user's sound listener and the position of the part, as well as its size. |
| Child of an `Class.Attachment`, `Class.MeshPart`, `Class.TrussPart`, `Class.WedgePart`, or `Class.CornerWedgePart`. | Audio emits outward from the single attachment point or part center. | Volume changes depending on the distance between the user's sound listener and the attachment/part position. |
| Within `Class.SoundService` or `Class.Workspace`. | Audio emits throughout the experience. | Volume and pan position remain the same regardless of the user's sound listener position or rotation. |
Volumetric audio is useful for any audio that needs to be immersive around a user and change dynamically depending on the user's position, such as a concert stage or ambience zones like rainfall. When you experiment with placing a `Class.Sound` object on `Class.BasePart|BaseParts` of different sizes and positions from users, you can hear how immersive volumetric audio can be.
To create a `Class.Sound` object for volumetric audio:
1. In the **Explorer** window, select **SoundService**.
2. In the **Properties** window, navigate to the **VolumetricAudio** property, then set it to **Enabled**.
3. In the **Explorer** window, hover over a `Class.BasePart`, then click the ⊕ button. A contextual menu displays.
4. From the menu, insert a **Sound**.
5. In the **Properties** window, navigate to the **SoundId** property and input a valid [audio asset ID](../audio/assets.md).
6. **(Optional)** If you want the audio to start playing when the experience begins, enable the **Playing** property.
#### Point source
Contrary to volumetric audio, point source audio only emits from a single point source. This type of audio is useful for explosions, impact noises, electronic devices, and dialogue.
To create a `Class.Sound` object for point source audio:
1. In the **Explorer** window, hover over an attachment, truss, wedge, or corner wedge, then click the ⊕ button. A contextual menu displays.
2. From the menu, insert a **Sound**.
3. In the **Properties** window, navigate to the **SoundId** property and input a valid [audio asset ID](../audio/assets.md).
4. **(Optional)** If you want the audio to start playing when the experience begins, enable the **Playing** property.
### Background audio
Background audio plays at the same volume no matter where the user travels within your experience. This type of audio is useful for music that you want to play for users, especially when you want to create a soundtrack of multiple audio files.
It's best to keep all `Class.Sound` objects for background audio in a single location of the Workspace for organization purposes as you continue to add and edit audio within your experience. The following example stores the new `Class.Sound` object under the `Class.SoundService` container, as this service determines how `Class.Sound` objects play in experiences.
To create a `Class.Sound` object for background audio:
1. In the **Explorer** window, hover over **SoundService**, then click the ⊕ button. A contextual menu displays.
2. From the menu, insert a **Sound**.
3. In the **Properties** window, navigate to the **SoundId** property and input a valid [audio asset ID](../audio/assets.md).
4. **(Optional)** If you want the audio to start playing when the experience begins, enable the **Playing** property.
5. **(Optional)** If this `Class.Sound` object is the only track you want to play in the place, enable its **Looped** property.
## Customize sound objects
`Class.Sound` object properties work together to influence how users experience your audio, such as:
- How loud they hear specific audio individually and in relation to one another ([Volume](#volume)).
- How they perceive volume when they move away from the audio source ([RollOffMinDistance](#rolloffmindistance-and-rolloffmaxdistance), [RollOffMaxDistance](#rolloffmindistance-and-rolloffmaxdistance), and [RollOffMode](#rolloffmode))
- What part of the audio they can listen to ([TimePosition](#timeposition)).
- How fast and at what pitch they hear it ([PlaybackSpeed](#playbackspeed)).
- If the audio automatically replays upon completion ([Looped](#looped)).
### Volume
The `Class.Sound.Volume|Volume` property allows you to set the volume of your audio anywhere from `0` (silence) to `10` (booming). If you want to change the volume of multiple `Class.Sound` objects at once, parent them under a [sound group](../sound/groups.md).
For point source audio, `Class.Sound.RollOffMinDistance|RollOffMinDistance` and `Class.Sound.RollOffMaxDistance|RollOffMaxDistance` work similarly to volumetric audio, but the roll off distance these properties control doesn't surround the object, it only influences the distance outward from the point source.
### RollOffMode
The `Class.Sound.RollOffMode|RollOffMode` property allows you to decide how audio fades as the distance between the user's listener and the `Class.Sound` object's parent increases. You can set this property to one of four values of the `Enum.RollOffMode` enum.
| RollOffMode | Description |
|---|---|
| `Inverse` (default) | Volume initially fades abruptly from `Class.Sound.RollOffMinDistance|RollOffMinDistance`, but volume fading becomes more gradual the closer a user is to reaching the `Class.Sound.RollOffMaxDistance|RollOffMaxDistance`. Once they reach the `Class.Sound.RollOffMaxDistance|RollOffMaxDistance`, the audio falls silent. |
| `Linear` | Volume fades linearly between `Class.Sound.RollOffMinDistance|RollOffMinDistance` and `Class.Sound.RollOffMaxDistance|RollOffMaxDistance`. Once a user reaches the `Class.Sound.RollOffMaxDistance|RollOffMaxDistance`, the audio falls silent. |
| `InverseTapered` | Volume follows the inverse model when close to `Class.Sound.RollOffMinDistance|RollOffMinDistance` and the linear square model when a user is close to `Class.Sound.RollOffMaxDistance|RollOffMaxDistance`. Audio approaches silence at the maximum distance point. |
| `LinearSquare` | Volume fades between `Class.Sound.RollOffMinDistance|RollOffMinDistance` and `Class.Sound.RollOffMaxDistance|RollOffMaxDistance` with a linear squared relationship. Audio approaches silence at the maximum distance point. |
| `Class.Sound.PlaybackSpeed|PlaybackSpeed` = 0.5 | `Class.Sound.PlaybackSpeed|PlaybackSpeed` = 1.0 | `Class.Sound.PlaybackSpeed|PlaybackSpeed` = 2.0 |