This item is not replicated across Roblox’s server/client boundary.
This property can only be read from. Attempting to write to it will cause an error.
A number between 0 and 1000 indicating how loud the
Sound is currently playing back.
This property reflects the amplitude of the
Sound's playback in the instance of time it is read. Therefore, for most sounds it will fluctuate constantly. Due to this it can appear in the Roblox Studio properties window as 0, however when read by code in the command bar or
Scripts it will return the correct value.
Volume Amplitude Bar
In this sample Sound.PlaybackLoudness is used to create an amplitude bar that shows the amplitude of a sound playing.
This code sample should be placed in StarterPlayerScripts.
A simple GUI is created, a frame holding that bar and a frame containing the bar. A Sound is then played and the size of the bar is set to reflect the Sound.PlaybackLoudness on a loop.
-- to be placed in StarterPlayer > StarterPlayerScripts local Players = game:GetService("Players") -- wait for local player PlayerGui local LocalPlayer = Players.LocalPlayer local playerGui = LocalPlayer:WaitForChild("PlayerGui") -- create a ScreenGui local screenGui = Instance.new("ScreenGui", playerGui) -- create a holder for our bar local frame = Instance.new("Frame", screenGui) frame.AnchorPoint = Vector2.new(0.5, 0.5) frame.Position = UDim2.new(0.5, 0, 0.5, 0) frame.Size = UDim2.new(0.3, 0, 0.05, 0) -- create a bar local bar = Instance.new("Frame", frame) bar.Position = UDim2.new(0, 0, 0, 0) bar.Size = UDim2.new(1, 0, 1, 0) bar.BackgroundColor3 = Color3.new(0, 1, 0) -- create a sound local sound = Instance.new("Sound", screenGui) sound.SoundId = "rbxassetid://301964312" sound.Looped = true sound:Play() -- define a max loudness local maxLoudness = 30 -- animate the amplitude bar while true do local amplitude = math.clamp(sound.PlaybackLoudness / maxLoudness, 0, 1) bar.Size = UDim2.new(amplitude, 0, 1, 0) wait(0.05) end