AudioHelper is a small, easy-to-use module that provides the easiest way to make your Roblox parts or characters talk in-game using AudioTextToSpeech
Get AudioHelper
Features
- Super simple to start – create a speech object in one line
- Full control – change voice, speed, pitch, volume, playback speed, looping, and max distance
- Audio effects – add Reverb, Echo, Chorus, Distortion, and more
- Text bubbles – display a chat bubble above your parts or characters
- Events – get notified when speech ends or loops
- Getters – check what’s currently playing, the text, or the audio settings
Quick Start
local AudioHelper = require(game.ReplicatedStorage.AudioHelper)
local tts = AudioHelper:TextToSpeech("AudioDeviceOutput", workspace.Part)
tts:SetText("Hello")
tts:SetVoice(3)
tts:Play()
"AudioEmitter"plays audio in the 3D world."AudioDeviceOutput"plays directly on the player’s device.Source(optional) is the object the audio attaches to
AudioHelper Functions
1. Creating a TextToSpeech object
local tts = AudioHelper:TextToSpeech("AudioDeviceOutput", workspace.Part)
-
TextToSpeech(Type, Source): creates a new speech object.
Type:"AudioEmitter"or"AudioDeviceOutput"Source: object the audio is attached to (optional)
2. Playback
tts:Play() -- start speaking
tts:Pause() -- pause
tts:Stop() -- stop
3. Text & Voice Settings
tts:SetText("Hello!")
tts:SetVoice(3)
tts:SetSpeed(1.2)
tts:SetPitch(0.9)
tts:SetVolume(0.8)
tts:SetPlaybackSpeed(1.1)
tts:SetLooping(true)
tts:SetMaxDistance(150)
SetText– set what will be spokenSetVoice– choose voice 1–10SetSpeed– adjust speech speedSetPitch– change pitchSetVolume– adjust volumeSetPlaybackSpeed– speed up/slow down playbackSetLooping– repeat the audioSetMaxDistance– max distance sound can be heard (for AudioEmitter)
4. Audio Effects
tts:ApplyEffect("AudioReverb")
tts:ClearEffect()
ApplyEffect– add an effect like Reverb, Echo, ChorusClearEffect– remove the effect
5. Display Bubble
tts:DisplayBubble("Hello!", workspace.NPC)
- Shows a chat-style bubble above the object.
- Lets players see what’s being said visually.
6. Events
tts:Ended(function() print("Done!") end)
tts:Looped(function() print("Looped!") end)
Ended– runs when speech finishesLooped– runs when looping speech repeats
7. Getters
tts:IsPlaying()
tts:GetText()
tts:GetVoice()
tts:GetVolume()
tts:GetPitch()
tts:GetPlaybackSpeed()
tts:GetSpeed()
tts:GetTimePosition()
tts:GetTimeLength()