Skip to main content

SerializedTypes

Types used to Serialize sounds into the Schema.

INFO
  • The library uses ReflectionService internally to apply and get properties so types may not be 100% accurate.
  • To save space and increase performance SoundDefinitions have default properties shaved off.
  • SoundGroup is applied directly on startup.

Types​

SoundDefinitions​

type SoundDefinitions = {[string]: SoundDefinition}

A dictionary of sound names for fetching SoundDefinitions.

SoundDefinition​

interface SoundDefinition {
Properties: SoundSerialized--

Properties of the sound.

Effects: SoundChildrenSerialized--

Individual SoundEffects and their Properties.

EffectsCount: number--

Amount of SoundEffects in the SoundDefinition.

}

Fully Serialized Sound.

SoundChildrenSerialized​

interface SoundChildrenSerialized {
ChorusSoundEffect: ChorusSoundEffectSerialized?
CompressorSoundEffect: CompressorSoundEffectSerialized?
DistortionSoundEffect: DistortionSoundEffectSerialized?
EchoSoundEffect: EchoSoundEffectSerialized?
EqualizerSoundEffect: EqualizerSoundEffectSerialized?
FlangeSoundEffect: FlangeSoundEffectSerialized?
PitchShiftSoundEffect: PitchShiftSoundEffectSerialized?
ReverbSoundEffect: ReverbSoundEffectSerialized?
TremoloSoundEffect: TremoloSoundEffectSerialized?
}

Table of serialized SoundEffects for the SoundDefinition.

SoundSerialized​

interface SoundSerialized {
Name: string
SoundGroup: SoundGroup?
AcousticSimulationEnabled: boolean?
Looped: boolean?
LoopRegion: NumberRange?
PlaybackRegion: NumberRange?
PlaybackRegionsEnabled: boolean?
PlaybackSpeed: number?
Playing: boolean?
PlayOnRemove: boolean?
RollOffMaxDistance: number?
RollOffMinDistance: number?
RollOffMode: Enum.RollOffMode?
SoundId: string?
TimePosition: number?
Volume: number?
}

The properties of a Sound. Only Name is always present; every other property is left out when it equals the class default. Parent, Archivable, attributes, tags, read-only state and deprecated properties are never stored.

ChorusSoundEffectSerialized​

interface ChorusSoundEffectSerialized {
Depth: number
Mix: number
Rate: number
Enabled: boolean
Priority: number
Name: string
}

Serialized ChorusSoundEffect Instance.

CompressorSoundEffectSerialized​

interface CompressorSoundEffectSerialized {
Attack: number
GainMakeup: number
Ratio: number
Release: number
Threshold: number
Enabled: boolean
Priority: number
Name: string
}

Serialized CompressorSoundEffect Instance.

DistortionSoundEffectSerialized​

interface DistortionSoundEffectSerialized {
Level: number
Enabled: boolean
Priority: number
Name: string
}

Serialized DistortionSoundEffect Instance.

EchoSoundEffectSerialized​

interface EchoSoundEffectSerialized {
Delay: number
Feedback: number
WetLevel: number
DryLevel: number
Enabled: boolean
Priority: number
Name: string
}

Serialized EchoSoundEffect Instance.

EqualizerSoundEffectSerialized​

interface EqualizerSoundEffectSerialized {
HighGain: number
LowGain: number
MidGain: number
Enabled: boolean
Priority: number
Name: string
}

Serialized EqualizerSoundEffect Instance.

FlangeSoundEffectSerialized​

interface FlangeSoundEffectSerialized {
Depth: number
Mix: number
Rate: number
Enabled: boolean
Priority: number
Name: string
}

Serialized FlangeSoundEffect Instance.

PitchShiftSoundEffectSerialized​

interface PitchShiftSoundEffectSerialized {
Octave: number
Enabled: boolean
Priority: number
Name: string
}

Serialized PitchShiftSoundEffect Instance.

ReverbSoundEffectSerialized​

interface ReverbSoundEffectSerialized {
DecayTime: number
Density: number
Diffusion: number
DryLevel: number
WetLevel: number
Enabled: boolean
Priority: number
Name: string
}

Serialized ReverbSoundEffect Instance.

TremoloSoundEffectSerialized​

interface TremoloSoundEffectSerialized {
Depth: number
Duty: number
Frequency: number
Enabled: boolean
Priority: number
Name: string
}

Serialized TremoloSoundEffect Instance.

Show raw api
{
    "functions": [],
    "properties": [],
    "types": [
        {
            "name": "SoundDefinitions",
            "desc": "A dictionary of sound names for fetching `SoundDefinitions`.",
            "lua_type": "{[string]: SoundDefinition}",
            "source": {
                "line": 118,
                "path": "lib/Types.luau"
            }
        },
        {
            "name": "SoundDefinition",
            "desc": "Fully Serialized `Sound`.",
            "fields": [
                {
                    "name": "Properties",
                    "lua_type": "SoundSerialized",
                    "desc": "`Properties` of the sound."
                },
                {
                    "name": "Effects",
                    "lua_type": "SoundChildrenSerialized",
                    "desc": "Individual `SoundEffects` and their `Properties`."
                },
                {
                    "name": "EffectsCount",
                    "lua_type": "number",
                    "desc": "Amount of `SoundEffects` in the `SoundDefinition`."
                }
            ],
            "source": {
                "line": 130,
                "path": "lib/Types.luau"
            }
        },
        {
            "name": "SoundChildrenSerialized",
            "desc": "Table of serialized `SoundEffects` for the `SoundDefinition`.",
            "fields": [
                {
                    "name": "ChorusSoundEffect",
                    "lua_type": "ChorusSoundEffectSerialized?",
                    "desc": ""
                },
                {
                    "name": "CompressorSoundEffect",
                    "lua_type": "CompressorSoundEffectSerialized?",
                    "desc": ""
                },
                {
                    "name": "DistortionSoundEffect",
                    "lua_type": "DistortionSoundEffectSerialized?",
                    "desc": ""
                },
                {
                    "name": "EchoSoundEffect",
                    "lua_type": "EchoSoundEffectSerialized?",
                    "desc": ""
                },
                {
                    "name": "EqualizerSoundEffect",
                    "lua_type": "EqualizerSoundEffectSerialized?",
                    "desc": ""
                },
                {
                    "name": "FlangeSoundEffect",
                    "lua_type": "FlangeSoundEffectSerialized?",
                    "desc": ""
                },
                {
                    "name": "PitchShiftSoundEffect",
                    "lua_type": "PitchShiftSoundEffectSerialized?",
                    "desc": ""
                },
                {
                    "name": "ReverbSoundEffect",
                    "lua_type": "ReverbSoundEffectSerialized?",
                    "desc": ""
                },
                {
                    "name": "TremoloSoundEffect",
                    "lua_type": "TremoloSoundEffectSerialized?",
                    "desc": ""
                }
            ],
            "source": {
                "line": 154,
                "path": "lib/Types.luau"
            }
        },
        {
            "name": "SoundSerialized",
            "desc": "The properties of a `Sound`. Only `Name` is always present; every other property is left out when it equals the\nclass default. `Parent`, `Archivable`, attributes, tags, read-only state and deprecated properties are never\nstored.",
            "fields": [
                {
                    "name": "Name",
                    "lua_type": "string",
                    "desc": ""
                },
                {
                    "name": "SoundGroup",
                    "lua_type": "SoundGroup?",
                    "desc": ""
                },
                {
                    "name": "AcousticSimulationEnabled",
                    "lua_type": "boolean?",
                    "desc": ""
                },
                {
                    "name": "Looped",
                    "lua_type": "boolean?",
                    "desc": ""
                },
                {
                    "name": "LoopRegion",
                    "lua_type": "NumberRange?",
                    "desc": ""
                },
                {
                    "name": "PlaybackRegion",
                    "lua_type": "NumberRange?",
                    "desc": ""
                },
                {
                    "name": "PlaybackRegionsEnabled",
                    "lua_type": "boolean?",
                    "desc": ""
                },
                {
                    "name": "PlaybackSpeed",
                    "lua_type": "number?",
                    "desc": ""
                },
                {
                    "name": "Playing",
                    "lua_type": "boolean?",
                    "desc": ""
                },
                {
                    "name": "PlayOnRemove",
                    "lua_type": "boolean?",
                    "desc": ""
                },
                {
                    "name": "RollOffMaxDistance",
                    "lua_type": "number?",
                    "desc": ""
                },
                {
                    "name": "RollOffMinDistance",
                    "lua_type": "number?",
                    "desc": ""
                },
                {
                    "name": "RollOffMode",
                    "lua_type": "Enum.RollOffMode?",
                    "desc": ""
                },
                {
                    "name": "SoundId",
                    "lua_type": "string?",
                    "desc": ""
                },
                {
                    "name": "TimePosition",
                    "lua_type": "number?",
                    "desc": ""
                },
                {
                    "name": "Volume",
                    "lua_type": "number?",
                    "desc": ""
                }
            ],
            "source": {
                "line": 194,
                "path": "lib/Types.luau"
            }
        },
        {
            "name": "ChorusSoundEffectSerialized",
            "desc": "Serialized `ChorusSoundEffect` Instance.",
            "fields": [
                {
                    "name": "Depth",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Mix",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Rate",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Enabled",
                    "lua_type": "boolean",
                    "desc": ""
                },
                {
                    "name": "Priority",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Name",
                    "lua_type": "string",
                    "desc": ""
                }
            ],
            "source": {
                "line": 213,
                "path": "lib/Types.luau"
            }
        },
        {
            "name": "CompressorSoundEffectSerialized",
            "desc": "Serialized `CompressorSoundEffect` Instance.",
            "fields": [
                {
                    "name": "Attack",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "GainMakeup",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Ratio",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Release",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Threshold",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Enabled",
                    "lua_type": "boolean",
                    "desc": ""
                },
                {
                    "name": "Priority",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Name",
                    "lua_type": "string",
                    "desc": ""
                }
            ],
            "source": {
                "line": 232,
                "path": "lib/Types.luau"
            }
        },
        {
            "name": "DistortionSoundEffectSerialized",
            "desc": "Serialized `DistortionSoundEffect` Instance.",
            "fields": [
                {
                    "name": "Level",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Enabled",
                    "lua_type": "boolean",
                    "desc": ""
                },
                {
                    "name": "Priority",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Name",
                    "lua_type": "string",
                    "desc": ""
                }
            ],
            "source": {
                "line": 247,
                "path": "lib/Types.luau"
            }
        },
        {
            "name": "EchoSoundEffectSerialized",
            "desc": "Serialized `EchoSoundEffect` Instance.",
            "fields": [
                {
                    "name": "Delay",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Feedback",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "WetLevel",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "DryLevel",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Enabled",
                    "lua_type": "boolean",
                    "desc": ""
                },
                {
                    "name": "Priority",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Name",
                    "lua_type": "string",
                    "desc": ""
                }
            ],
            "source": {
                "line": 265,
                "path": "lib/Types.luau"
            }
        },
        {
            "name": "EqualizerSoundEffectSerialized",
            "desc": "Serialized `EqualizerSoundEffect` Instance.",
            "fields": [
                {
                    "name": "HighGain",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "LowGain",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "MidGain",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Enabled",
                    "lua_type": "boolean",
                    "desc": ""
                },
                {
                    "name": "Priority",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Name",
                    "lua_type": "string",
                    "desc": ""
                }
            ],
            "source": {
                "line": 282,
                "path": "lib/Types.luau"
            }
        },
        {
            "name": "FlangeSoundEffectSerialized",
            "desc": "Serialized `FlangeSoundEffect` Instance.",
            "fields": [
                {
                    "name": "Depth",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Mix",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Rate",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Enabled",
                    "lua_type": "boolean",
                    "desc": ""
                },
                {
                    "name": "Priority",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Name",
                    "lua_type": "string",
                    "desc": ""
                }
            ],
            "source": {
                "line": 299,
                "path": "lib/Types.luau"
            }
        },
        {
            "name": "PitchShiftSoundEffectSerialized",
            "desc": "Serialized `PitchShiftSoundEffect` Instance.",
            "fields": [
                {
                    "name": "Octave",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Enabled",
                    "lua_type": "boolean",
                    "desc": ""
                },
                {
                    "name": "Priority",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Name",
                    "lua_type": "string",
                    "desc": ""
                }
            ],
            "source": {
                "line": 314,
                "path": "lib/Types.luau"
            }
        },
        {
            "name": "ReverbSoundEffectSerialized",
            "desc": "Serialized `ReverbSoundEffect` Instance.",
            "fields": [
                {
                    "name": "DecayTime",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Density",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Diffusion",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "DryLevel",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "WetLevel",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Enabled",
                    "lua_type": "boolean",
                    "desc": ""
                },
                {
                    "name": "Priority",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Name",
                    "lua_type": "string",
                    "desc": ""
                }
            ],
            "source": {
                "line": 333,
                "path": "lib/Types.luau"
            }
        },
        {
            "name": "TremoloSoundEffectSerialized",
            "desc": "Serialized `TremoloSoundEffect` Instance.",
            "fields": [
                {
                    "name": "Depth",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Duty",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Frequency",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Enabled",
                    "lua_type": "boolean",
                    "desc": ""
                },
                {
                    "name": "Priority",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Name",
                    "lua_type": "string",
                    "desc": ""
                }
            ],
            "source": {
                "line": 350,
                "path": "lib/Types.luau"
            }
        }
    ],
    "name": "SerializedTypes",
    "desc": "Types used to `Serialize` sounds into the `Schema`.\n\n:::info\n- The library uses `ReflectionService` internally to apply and get properties so types may not be 100% accurate.\n- To save space and increase performance `SoundDefinitions` have default properties shaved off.\n- `SoundGroup` is applied directly on startup.\n:::",
    "source": {
        "line": 110,
        "path": "lib/Types.luau"
    }
}