Pitch Shifter mod
Key RequiredUniversal

Pitch Shifter mod

Universal ScriptItzPnsdgItzPnsdg 836 views 479 executesUpdated Mar 2, 2026
Unrated
00
Lua Script•323 lines (9749 chars)
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)

Features & Information

a Mod From Gta San called "Chaos Mod" That turning your sounds into goofy ahh capcut slideshow audio(i don't know why i made this)

Community Comments (1)

ItzPnsdgItzPnsdgMar 2, 2026

@MysteryLuck it's make your game sounds speed sloe down and speed up Repeatly

More Scripts for Universal Scripts