local plr = game.Players.LocalPlayer local mouse = plr:GetMouse() local rs = game:GetService("RunService") local uis = game:GetService("UserInputService") local pitchShiftEnabled = false local minSpeed = 0.5 local maxSpeed = 2 local pitchDelay = 3 local sounds = {} local originals = {} local phase = 0 local sg = Instance.new("ScreenGui") sg.Name = "PitchShiftGUI" sg.ResetOnSpawn = false sg.Parent = plr:WaitForChild("PlayerGui") local main = Instance.new("Frame") main.Name = "Main" main.Size = UDim2.new(0, 300, 0, 210) main.Position = UDim2.new(0, 50, 0, 100) main.BackgroundColor3 = Color3.fromRGB(30, 30, 35) main.BorderSizePixel = 0 main.Active = true main.Draggable = true main.Parent = sg local uc = Instance.new("UICorner") uc.CornerRadius = UDim.new(0, 6) uc.Parent = main local topbar = Instance.new("Frame") topbar.Name = "TopBar" topbar.Size = UDim2.new(1, 0, 0, 35) topbar.BackgroundColor3 = Color3.fromRGB(40, 40, 45) topbar.BorderSizePixel = 0 topbar.Parent = main local topcorner = Instance.new("UICorner") topcorner.CornerRadius = UDim.new(0, 6) topcorner.Parent = topbar local title = Instance.new("TextLabel") title.Name = "Title" title.Size = UDim2.new(1, -60, 1, 0) title.Position = UDim2.new(0, 10, 0, 0) title.BackgroundTransparency = 1 title.Text = "Pitch Shift Mod" title.TextColor3 = Color3.fromRGB(255, 255, 255) title.TextXAlignment = Enum.TextXAlignment.Left title.Font = Enum.Font.GothamSemibold title.TextSize = 16 title.Parent = topbar local minimize = Instance.new("TextButton") minimize.Name = "Minimize" minimize.Size = UDim2.new(0, 25, 0, 25) minimize.Position = UDim2.new(1, -55, 0, 5) minimize.BackgroundColor3 = Color3.fromRGB(255, 200, 0) minimize.Text = "−" minimize.TextColor3 = Color3.fromRGB(255, 255, 255) minimize.TextSize = 20 minimize.Font = Enum.Font.GothamBold minimize.BorderSizePixel = 0 minimize.Parent = topbar local mincorner = Instance.new("UICorner") mincorner.CornerRadius = UDim.new(0, 4) mincorner.Parent = minimize local close = Instance.new("TextButton") close.Name = "Close" close.Size = UDim2.new(0, 25, 0, 25) close.Position = UDim2.new(1, -25, 0, 5) close.BackgroundColor3 = Color3.fromRGB(255, 50, 50) close.Text = "×" close.TextColor3 = Color3.fromRGB(255, 255, 255) close.TextSize = 20 close.Font = Enum.Font.GothamBold close.BorderSizePixel = 0 close.Parent = topbar local closecorner = Instance.new("UICorner") closecorner.CornerRadius = UDim.new(0, 4) closecorner.Parent = close local container = Instance.new("Frame") container.Name = "Container" container.Size = UDim2.new(1, -20, 1, -45) container.Position = UDim2.new(0, 10, 0, 40) container.BackgroundTransparency = 1 container.BorderSizePixel = 0 container.Parent = main local toggleBtn = Instance.new("TextButton") toggleBtn.Name = "ToggleBtn" toggleBtn.Size = UDim2.new(1, 0, 0, 40) toggleBtn.Position = UDim2.new(0, 0, 0, 0) toggleBtn.BackgroundColor3 = Color3.fromRGB(200, 0, 0) toggleBtn.Text = "DISABLED" toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255) toggleBtn.TextSize = 16 toggleBtn.Font = Enum.Font.GothamSemibold toggleBtn.BorderSizePixel = 0 toggleBtn.Parent = container local togglecorner = Instance.new("UICorner") togglecorner.CornerRadius = UDim.new(0, 4) togglecorner.Parent = toggleBtn local minLabel = Instance.new("TextLabel") minLabel.Name = "MinLabel" minLabel.Size = UDim2.new(0.3, 0, 0, 30) minLabel.Position = UDim2.new(0, 0, 0, 50) minLabel.BackgroundTransparency = 1 minLabel.Text = "Min Speed" minLabel.TextColor3 = Color3.fromRGB(200, 200, 200) minLabel.TextXAlignment = Enum.TextXAlignment.Left minLabel.Font = Enum.Font.Gotham minLabel.TextSize = 14 minLabel.BorderSizePixel = 0 minLabel.Parent = container local minInput = Instance.new("TextBox") minInput.Name = "MinInput" minInput.Size = UDim2.new(0.65, 0, 0, 30) minInput.Position = UDim2.new(0.35, 0, 0, 50) minInput.BackgroundColor3 = Color3.fromRGB(50, 50, 55) minInput.PlaceholderText = "0.5" minInput.Text = "0.5" minInput.TextColor3 = Color3.fromRGB(255, 255, 255) minInput.PlaceholderColor3 = Color3.fromRGB(150, 150, 150) minInput.Font = Enum.Font.Gotham minInput.TextSize = 14 minInput.BorderSizePixel = 0 minInput.Parent = container local mincorner = Instance.new("UICorner") mincorner.CornerRadius = UDim.new(0, 4) mincorner.Parent = minInput local maxLabel = Instance.new("TextLabel") maxLabel.Name = "MaxLabel" maxLabel.Size = UDim2.new(0.3, 0, 0, 30) maxLabel.Position = UDim2.new(0, 0, 0, 90) maxLabel.BackgroundTransparency = 1 maxLabel.Text = "Max Speed" maxLabel.TextColor3 = Color3.fromRGB(200, 200, 200) maxLabel.TextXAlignment = Enum.TextXAlignment.Left maxLabel.Font = Enum.Font.Gotham maxLabel.TextSize = 14 maxLabel.BorderSizePixel = 0 maxLabel.Parent = container local maxInput = Instance.new("TextBox") maxInput.Name = "MaxInput" maxInput.Size = UDim2.new(0.65, 0, 0, 30) maxInput.Position = UDim2.new(0.35, 0, 0, 90) maxInput.BackgroundColor3 = Color3.fromRGB(50, 50, 55) maxInput.PlaceholderText = "2" maxInput.Text = "2" maxInput.TextColor3 = Color3.fromRGB(255, 255, 255) maxInput.PlaceholderColor3 = Color3.fromRGB(150, 150, 150) maxInput.Font = Enum.Font.Gotham maxInput.TextSize = 14 maxInput.BorderSizePixel = 0 maxInput.Parent = container local maxcorner = Instance.new("UICorner") maxcorner.CornerRadius = UDim.new(0, 4) maxcorner.Parent = maxInput local delayLabel = Instance.new("TextLabel") delayLabel.Name = "DelayLabel" delayLabel.Size = UDim2.new(0.3, 0, 0, 30) delayLabel.Position = UDim2.new(0, 0, 0, 130) delayLabel.BackgroundTransparency = 1 delayLabel.Text = "Input Delay" delayLabel.TextColor3 = Color3.fromRGB(200, 200, 200) delayLabel.TextXAlignment = Enum.TextXAlignment.Left delayLabel.Font = Enum.Font.Gotham delayLabel.TextSize = 14 delayLabel.BorderSizePixel = 0 delayLabel.Parent = container local delayInput = Instance.new("TextBox") delayInput.Name = "DelayInput" delayInput.Size = UDim2.new(0.65, 0, 0, 30) delayInput.Position = UDim2.new(0.35, 0, 0, 130) delayInput.BackgroundColor3 = Color3.fromRGB(50, 50, 55) delayInput.PlaceholderText = "3" delayInput.Text = "3" delayInput.TextColor3 = Color3.fromRGB(255, 255, 255) delayInput.PlaceholderColor3 = Color3.fromRGB(150, 150, 150) delayInput.Font = Enum.Font.Gotham delayInput.TextSize = 14 delayInput.BorderSizePixel = 0 delayInput.Parent = container local delaycorner = Instance.new("UICorner") delaycorner.CornerRadius = UDim.new(0, 4) delaycorner.Parent = delayInput local function addSound(v) if (v:IsA("Sound") or v:IsA("AudioPlayer")) and not originals[v] then table.insert(sounds, v) if v:IsA("Sound") then originals[v] = v.PlaybackSpeed elseif v:IsA("AudioPlayer") then originals[v] = v.PlaybackSpeed or 1 end end end for _, v in game:GetDescendants() do addSound(v) end game.DescendantAdded:Connect(addSound) rs.RenderStepped:Connect(function(dt) if not pitchShiftEnabled then return end phase = phase + (dt / pitchDelay) local speed = minSpeed + (maxSpeed - minSpeed) * (math.sin(phase) * 0.5 + 0.5) for _, s in pairs(sounds) do if s and s.Parent then if s:IsA("Sound") then s.PlaybackSpeed = speed elseif s:IsA("AudioPlayer") then s.PlaybackSpeed = speed end end end end) game.DescendantRemoving:Connect(function(v) if v:IsA("Sound") or v:IsA("AudioPlayer") then for i, s in ipairs(sounds) do if s == v then table.remove(sounds, i) originals[v] = nil break end end end end) toggleBtn.MouseButton1Click:Connect(function() pitchShiftEnabled = not pitchShiftEnabled if pitchShiftEnabled then toggleBtn.Text = "ENABLED" toggleBtn.BackgroundColor3 = Color3.fromRGB(0, 200, 0) else toggleBtn.Text = "DISABLED" toggleBtn.BackgroundColor3 = Color3.fromRGB(200, 0, 0) for sound, originalSpeed in pairs(originals) do if sound and sound.Parent then if sound:IsA("Sound") then sound.PlaybackSpeed = originalSpeed elseif sound:IsA("AudioPlayer") then sound.PlaybackSpeed = originalSpeed end end end end end) minInput.FocusLost:Connect(function() local num = tonumber(minInput.Text) if num and num >= 0.01 and num <= 10 then minSpeed = num minInput.Text = tostring(num) else minInput.Text = tostring(minSpeed) end end) maxInput.FocusLost:Connect(function() local num = tonumber(maxInput.Text) if num and num >= 0.01 and num <= 10 then maxSpeed = num maxInput.Text = tostring(num) else maxInput.Text = tostring(maxSpeed) end end) delayInput.FocusLost:Connect(function() local num = tonumber(delayInput.Text) if num and num >= 0.5 then pitchDelay = num delayInput.Text = tostring(num) else delayInput.Text = tostring(pitchDelay) end end) minimize.MouseButton1Click:Connect(function() container.Visible = not container.Visible if container.Visible then main.Size = UDim2.new(0, 300, 0, 210) minimize.Text = "−" else main.Size = UDim2.new(0, 300, 0, 35) minimize.Text = "+" end end) close.MouseButton1Click:Connect(function() sg:Destroy() for sound, originalSpeed in pairs(originals) do if sound and sound.Parent then if sound:IsA("Sound") then sound.PlaybackSpeed = originalSpeed elseif sound:IsA("AudioPlayer") then sound.PlaybackSpeed = originalSpeed end end end end)