-- Audio Visualizer local player = game.Players.LocalPlayer local char = player.Character or player.CharacterAdded:Wait() local root = char:WaitForChild("HumanoidRootPart") local LMG2L = {}; LMG2L["ScreenGui_1"] = Instance.new("ScreenGui", game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui")); LMG2L["ScreenGui_1"]["ZIndexBehavior"] = Enum.ZIndexBehavior.Sibling; LMG2L["Frame_2"] = Instance.new("Frame", LMG2L["ScreenGui_1"]); LMG2L["Frame_2"]["BorderSizePixel"] = 0; LMG2L["Frame_2"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); LMG2L["Frame_2"]["Size"] = UDim2.new(0, 264, 0, 252); LMG2L["Frame_2"]["Position"] = UDim2.new(0, 584, 0, 30); LMG2L["UIGradient_3"] = Instance.new("UIGradient", LMG2L["Frame_2"]); LMG2L["UIGradient_3"]["Color"] = ColorSequence.new{ColorSequenceKeypoint.new(0.000, Color3.fromRGB(83, 120, 127)),ColorSequenceKeypoint.new(0.425, Color3.fromRGB(82, 120, 127)),ColorSequenceKeypoint.new(1.000, Color3.fromRGB(255, 255, 255))}; LMG2L["TextBox_4"] = Instance.new("TextBox", LMG2L["Frame_2"]); LMG2L["TextBox_4"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); LMG2L["TextBox_4"]["PlaceholderText"] = [[Sound Id]]; LMG2L["TextBox_4"]["Size"] = UDim2.new(0, 214, 0, 34); LMG2L["TextBox_4"]["Position"] = UDim2.new(0, 18, 0, 34); LMG2L["TextBox_4"]["Text"] = [[]]; LMG2L["lol_5"] = Instance.new("TextBox", LMG2L["Frame_2"]); LMG2L["lol_5"]["Name"] = [[lol]]; LMG2L["lol_5"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); LMG2L["lol_5"]["PlaceholderText"] = [[Pitch]]; LMG2L["lol_5"]["Size"] = UDim2.new(0, 104, 0, 30); LMG2L["lol_5"]["Position"] = UDim2.new(0, 8, 0, 74); LMG2L["lol_5"]["Text"] = [[]]; LMG2L["TextBox_6"] = Instance.new("TextBox", LMG2L["Frame_2"]); LMG2L["TextBox_6"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); LMG2L["TextBox_6"]["PlaceholderText"] = [[Distortion]]; LMG2L["TextBox_6"]["Size"] = UDim2.new(0, 118, 0, 30); LMG2L["TextBox_6"]["Position"] = UDim2.new(0, 124, 0, 74); LMG2L["TextBox_6"]["Text"] = [[]]; LMG2L["TextButton_7"] = Instance.new("TextButton", LMG2L["Frame_2"]); LMG2L["TextButton_7"]["TextSize"] = 10; LMG2L["TextButton_7"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); LMG2L["TextButton_7"]["Size"] = UDim2.new(0, 182, 0, 34); LMG2L["TextButton_7"]["Text"] = [[Play]]; LMG2L["TextButton_7"]["Position"] = UDim2.new(0, 26, 0, 120); LMG2L["TextLabel_8"] = Instance.new("TextLabel", LMG2L["Frame_2"]); LMG2L["TextLabel_8"]["BorderSizePixel"] = 0; LMG2L["TextLabel_8"]["TextSize"] = 12; LMG2L["TextLabel_8"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); LMG2L["TextLabel_8"]["TextColor3"] = Color3.fromRGB(110, 187, 195); LMG2L["TextLabel_8"]["BackgroundTransparency"] = 1; LMG2L["TextLabel_8"]["Size"] = UDim2.new(0, 146, 0, 22); LMG2L["TextLabel_8"]["Text"] = [[Music player]]; LMG2L["TextLabel_8"]["Position"] = UDim2.new(0, 48, 0, 6); LMG2L["Frame_9"] = Instance.new("Frame", LMG2L["Frame_2"]); LMG2L["Frame_9"]["BorderSizePixel"] = 0; LMG2L["Frame_9"]["BackgroundColor3"] = Color3.fromRGB(78, 113, 119); LMG2L["Frame_9"]["Size"] = UDim2.new(0, 18, 0, 252); LMG2L["Frame_9"]["Position"] = UDim2.new(0, -16, 0, 0); LMG2L["TextButton_a"] = Instance.new("TextButton", LMG2L["Frame_9"]); LMG2L["TextButton_a"]["BorderSizePixel"] = 0; LMG2L["TextButton_a"]["TextSize"] = 10; LMG2L["TextButton_a"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255); LMG2L["TextButton_a"]["BackgroundTransparency"] = 1; LMG2L["TextButton_a"]["Size"] = UDim2.new(0, 14, 0, 30); LMG2L["TextButton_a"]["Text"] = [[<<]]; LMG2L["TextButton_a"]["Position"] = UDim2.new(0, 2, 0, 102); LMG2L["TextLabel_b"] = Instance.new("TextLabel", LMG2L["Frame_2"]) LMG2L["TextLabel_b"]["BorderSizePixel"] = 0 LMG2L["TextLabel_b"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255) LMG2L["TextLabel_b"]["BackgroundTransparency"] = 1 LMG2L["TextLabel_b"]["Size"] = UDim2.new(0, 220, 0, 80) LMG2L["TextLabel_b"]["Text"] = "i didn't have so much time so I made this ahh gui\nMade by: yoolzz._(on tiktok!)" LMG2L["TextLabel_b"]["Position"] = UDim2.new(0, 14, 0, 170) LMG2L["TextLabel_b"]["TextWrapped"] = true local gui = LMG2L["ScreenGui_1"] local frame = LMG2L["Frame_2"] local TweenService = game:GetService("TweenService") local toggleButton = LMG2L["TextButton_a"] frame.AnchorPoint = Vector2.new(1, 0) frame.Position = UDim2.new(1, 0, 0, 30) local aberta = false local larguraBarra = 4 local function getPosicaoFechada() local larguraReal = frame.AbsoluteSize.X local parteVisivel = larguraBarra local offset = larguraReal - parteVisivel return UDim2.new(1, offset, 0, 30) end frame.Position = getPosicaoFechada() toggleButton.MouseButton1Click:Connect(function() local destino if aberta then destino = getPosicaoFechada() else destino = UDim2.new(1, 0, 0, 30) end local tween = TweenService:Create(frame, TweenInfo.new(0.35, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position = destino}) tween:Play() aberta = not aberta end) local musicBox = LMG2L["TextBox_4"] local pitchBox = LMG2L["lol_5"] local button = LMG2L["TextButton_7"] local distortionBox = LMG2L["TextBox_6"] --// Sound local sound = Instance.new("Sound", root) sound.Volume = 5 sound.Looped = true --// the settingszzz local VisualizerSettings = { TweenInfo = TweenInfo.new(0.15), NumSurroundingBars = 5, PolynomialDegree = 2.5, OriginalSize = Vector3.new(0.4, 0.4, 0), MaxSize = Vector3.new(0.5, 6, 0), OriginalColor = Color3.fromRGB(164, 84, 255), MaxColor = Color3.fromRGB(255, 255, 255), Cooldown = 0.025, RGB = true, ScaleLoudnessMax = 800, BaseRadius = 6, Height = 0.4, Quantity = 49, RadiusMultiplier = 2.5, HeightMultiplier = 3, } local losangos = {} local meshId = "rbxassetid://9756362" local losangosAtivos = true local VisualizeModel = Instance.new("Model") VisualizeModel.Name = "VisualizerModel" VisualizeModel.Parent = char for i = 1, VisualizerSettings.Quantity do local meshPart = Instance.new("MeshPart") meshPart.Name = tostring(i) meshPart.MeshId = meshId meshPart.Size = VisualizerSettings.OriginalSize meshPart.Anchored = false meshPart.CanCollide = false meshPart.Material = Enum.Material.Neon meshPart.Color = VisualizerSettings.OriginalColor meshPart.Reflectance = 0 meshPart.CastShadow = false meshPart.Parent = VisualizeModel local weld = Instance.new("Weld") weld.Part0 = root weld.Part1 = meshPart weld.Parent = meshPart losangos[i] = { part = meshPart, weld = weld, baseAngle = (i / VisualizerSettings.Quantity) * math.pi * 2, } end --// Services local RunService = game:GetService("RunService") local Debris = game:GetService("Debris") local Clamp = math.clamp local function ScaleTo(Current, Max, To) return math.round((Current * To) / Max) end local function PolynomialInterpolation(Alpha, Min, Max, Degree) return (Max - Min) * (Alpha ^ Degree) + Min end local Visualizer = {} Visualizer.__index = Visualizer function Visualizer.Create(VisualizeMain, Audio, Presets) local self = setmetatable({ VisualizeInstances = {}, VisualizeModel = VisualizeMain, Audio = Audio, Presets = Presets, NewScaleValue = Instance.new("NumberValue"), Main = nil, MaxLoudness = 10, AudioClock = 0, Hue = 0, CurrentScale = 1, }, Visualizer) for i = 1, Presets.Quantity do local part = VisualizeMain:FindFirstChild(tostring(i)) if part then self.VisualizeInstances[i] = part end end self.NewScaleValue.Value = 1 return self end function Visualizer:Start() local MaxLoudness = 10 local OriginalSize, MaxSize = self.Presets.OriginalSize, self.Presets.MaxSize local OriginalColor, MaxColor = self.Presets.OriginalColor, self.Presets.MaxColor local IsRGB = self.Presets.RGB local Clock = 0 self.Main = RunService.Heartbeat:Connect(function(DeltaTime) if not losangosAtivos then return end Clock += DeltaTime; if not (Clock >= self.Presets.Cooldown) then return end; Clock = 0 if IsRGB then OriginalColor = Color3.fromHSV(tick() % 3 / 3, 0.6, 0.9) end local CurrentLoudness = self.Audio.PlaybackLoudness if CurrentLoudness > MaxLoudness then MaxLoudness = CurrentLoudness end local Scaled = ScaleTo(CurrentLoudness, self.Presets.ScaleLoudnessMax, 0.8) local NewScale = Clamp(0.8 + (Scaled * 1), 0.8, 3) TweenService:Create(self.NewScaleValue, self.Presets.TweenInfo, {Value = NewScale}):Play() local CurrentScale = self.NewScaleValue.Value task.spawn(function() local ToChange = {} local MainNumber = ScaleTo(CurrentLoudness, MaxLoudness, #self.VisualizeInstances) + 1 MainNumber = Clamp(MainNumber, 1, #self.VisualizeInstances) ToChange[MainNumber] = 1 local PolynomialDegree = self.Presets.PolynomialDegree for i = 1, self.Presets.NumSurroundingBars do local Below, Above = MainNumber - i, MainNumber + i if Below < 1 then Below = (#self.VisualizeInstances - i) + 1 end if Above > #self.VisualizeInstances then Above = i end local Alpha = (self.Presets.NumSurroundingBars - i) / self.Presets.NumSurroundingBars local InterpolatedValue = PolynomialInterpolation(Alpha, 0, 1, PolynomialDegree) ToChange[Below], ToChange[Above] = InterpolatedValue, InterpolatedValue end for i = 1, #self.VisualizeInstances do local VisualizationBar = self.VisualizeInstances[i] if not VisualizationBar then continue end local Properties = {} local Alpha = 0 if ToChange[i] then Alpha = ToChange[i] end local baseSize = OriginalSize:Lerp(MaxSize, Alpha) local CurrentSize = Vector3.new( baseSize.X * CurrentScale, baseSize.Y * CurrentScale, baseSize.Z * CurrentScale ) local CurrentColor = OriginalColor:Lerp(MaxColor, Alpha) if VisualizationBar.Size ~= CurrentSize then Properties.Size = CurrentSize end if VisualizationBar.Color ~= CurrentColor then Properties.Color = CurrentColor local h = VisualizationBar:FindFirstChildOfClass("Highlight") if h then h.FillColor = CurrentColor end end if Properties.Size or Properties.Color then local Tween = TweenService:Create(VisualizationBar, self.Presets.TweenInfo, Properties) Tween:Play() Debris:AddItem(Tween, self.Presets.TweenInfo.Time) end end end) local radius = self.Presets.BaseRadius * CurrentScale local height = self.Presets.Height * CurrentScale for i, part in ipairs(self.VisualizeInstances) do if not part then continue end local data = losangos[i] local angle = data.baseAngle local posX = math.cos(angle) * radius local posZ = math.sin(angle) * radius local targetPos = Vector3.new(posX, height, posZ) local lookCFrame = CFrame.lookAt(targetPos, Vector3.new(0, targetPos.Y, 0)) data.weld.C0 = lookCFrame end end) end function Visualizer:PropertyChange(VisualizationBar, Properties) local Tween = TweenService:Create(VisualizationBar, self.Presets.TweenInfo, Properties) Tween:Play() Debris:AddItem(Tween, self.Presets.TweenInfo.Time) end function Visualizer:SetPreset(NewPreset) self.Presets = NewPreset self:Refresh() end function Visualizer:SetPresetSpecific(Property, Value) self.Presets[Property] = Value self:Refresh() end function Visualizer:Refresh() self.Main:Disconnect(); self.Main = nil self:Start() end function Visualizer:Stop() if self.Main then self.Main:Disconnect() self.Main = nil end end RunService.Heartbeat:Connect(function() if not losangosAtivos then return end for i, data in ipairs(losangos) do if data.part and data.part.Parent then if data.part.Material ~= Enum.Material.Neon then data.part.Material = Enum.Material.Neon end end end end) local function destruirLosangos() losangosAtivos = false if VisualizerInstance then VisualizerInstance:Stop() end for i, data in ipairs(losangos) do if data.part and data.part.Parent then data.part:Destroy() end end losangos = {} if VisualizeModel then VisualizeModel:Destroy() end end -- hi u found me, a random message :vvv local humanoid = char:WaitForChild("Humanoid") humanoid.Died:Connect(destruirLosangos) local VisualizerInstance = nil button.MouseButton1Click:Connect(function() local id = musicBox.Text local pitch = tonumber(pitchBox.Text) or 1 local distortionLevel = tonumber(distortionBox.Text) or 0 for _, v in ipairs(sound:GetChildren()) do if v:IsA("SoundEffect") then v:Destroy() end end local distortion = Instance.new("DistortionSoundEffect") distortion.Level = math.clamp(distortionLevel, 0, 1000) distortion.Parent = sound sound.SoundId = "rbxassetid://"..id sound.PlaybackSpeed = pitch if VisualizerInstance then VisualizerInstance:Stop() end task.wait(0.1) sound:Play() VisualizerInstance = Visualizer.Create(VisualizeModel, sound, VisualizerSettings) VisualizerInstance:Start() end)