Learn
Engine Class
AudioTextToSpeech

Code Samples
Outputting Text as Speech
local audioTextToSpeech: AudioTextToSpeech = Instance.new("AudioTextToSpeech")
audioTextToSpeech.Parent = workspace
audioTextToSpeech.Text = "Hello! Converting text into speech is fun!"
audioTextToSpeech.VoiceId = "1"
local deviceOutput = Instance.new("AudioDeviceOutput")
deviceOutput.Parent = workspace
local wire = Instance.new("Wire")
wire.Parent = workspace
wire.SourceInstance = audioTextToSpeech
wire.TargetInstance = deviceOutput
local count = 0
local connection = nil
connection = audioTextToSpeech.Ended:Connect(function()
audioTextToSpeech.Text = "I can count to " .. count .. " because I am very smart"
audioTextToSpeech.VoiceId = "2"
audioTextToSpeech.TimePosition = 0
audioTextToSpeech:Play()
count += 1
if count > 10 then
connection:Disconnect()
end
end)
audioTextToSpeech:Play()

API Reference
Properties
IsLoaded
Read Only
Not Replicated
Read Parallel
Capabilities: Audio
AudioTextToSpeech.IsLoaded:boolean

IsPlaying
Roblox Security
Read Parallel
Capabilities: Audio
AudioTextToSpeech.IsPlaying:boolean

Looping
Read Parallel
Capabilities: Audio
AudioTextToSpeech.Looping:boolean

Pitch
Read Parallel
Capabilities: Audio
AudioTextToSpeech.Pitch:number

PlaybackSpeed
Read Parallel
Capabilities: Audio
AudioTextToSpeech.PlaybackSpeed:number

Speed
Read Parallel
Capabilities: Audio
AudioTextToSpeech.Speed:number

Text
Read Parallel
Capabilities: Audio
AudioTextToSpeech.Text:string

TimeLength
Read Only
Not Replicated
Read Parallel
Capabilities: Audio
AudioTextToSpeech.TimeLength:number

TimePosition
Read Parallel
Capabilities: Audio
AudioTextToSpeech.TimePosition:number

VoiceId
Read Parallel
Capabilities: Audio
AudioTextToSpeech.VoiceId:string

Volume
Read Parallel
Capabilities: Audio
AudioTextToSpeech.Volume:number

Methods
GetConnectedWires
Capabilities: Audio
AudioTextToSpeech:GetConnectedWires(pin:string):{Wire}
Parameters
pin:string
Returns

GetWaveformAsync
Yields
Capabilities: Audio
AudioTextToSpeech:GetWaveformAsync(
timeRange:NumberRange, samples:number
Parameters
timeRange:NumberRange
samples:number
Returns

LoadAsync
Yields
Capabilities: Audio
AudioTextToSpeech:LoadAsync():Enum.AssetFetchStatus

Pause
Capabilities: Audio
AudioTextToSpeech:Pause():()
Returns
()

Play
Capabilities: Audio
AudioTextToSpeech:Play():()
Returns
()

Unload
Capabilities: Audio
AudioTextToSpeech:Unload():()
Returns
()

Events
Ended
Capabilities: Audio
AudioTextToSpeech.Ended():RBXScriptSignal

Looped
Capabilities: Audio
AudioTextToSpeech.Looped():RBXScriptSignal

WiringChanged
Capabilities: Audio
AudioTextToSpeech.WiringChanged(
connected:boolean, pin:string, wire:Wire, instance:Instance
Parameters
connected:boolean
pin:string
wire:Wire
instance:Instance

©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.