Run it
Copy the script and paste it into your executor.
Players = :()
UserInputService = :()
ContentProvider = :()
player = Players.LocalPlayer
MESH_ID =
TEXTURE_ID =
MESH_SCALE = .(, , )
BASE_OFFSET = .(, , )
SPEED_STEP =
SPEED_MIN, SPEED_MAX = ,
PITCH_STEP =
PITCH_MIN, PITCH_MAX = ,
COLOR_SWATCHES = {
.(, , ),
.(, , ),
.(, , ),
.(, , ),
.(, , ),
.(, , ),
}
boomboxPart =
boomboxWeld =
currentUpperTorso =
sound =
pitchEffect =
currentSoundId =
soundLoadedConn =
statusLabelRef =
yOffsetLabelRef =
speedLabelRef =
pitchLabelRef =
yOffset =
currentSpeed =
currentPitch =
currentColor = COLOR_SWATCHES[]
()
boomboxPart currentUpperTorso
boomboxWeld
boomboxWeld:()
boomboxWeld =
boomboxPart.CFrame = currentUpperTorso.CFrame * BASE_OFFSET * .(, yOffset, )
weld = .()
weld.Part0 = currentUpperTorso
weld.Part1 = boomboxPart
weld.Parent = boomboxPart
boomboxWeld = weld
()
sound
sound.PlaybackSpeed = currentSpeed
()
pitchEffect
pitchEffect.Octave = currentPitch
()
boomboxPart
boomboxPart.Color = currentColor
()
boomboxPart
boomboxPart:()
boomboxPart =
boomboxWeld =
sound =
pitchEffect =
(text)
digits = text:()
digits (digits)
(soundInstance, soundId, onResult)
soundLoadedConn
soundLoadedConn:()
soundLoadedConn =
soundInstance:()
soundInstance.SoundId = soundId
()
ok, err = (()
soundInstance:()
)
onResult
(ok, err)
soundInstance.IsLoaded
()
loaded =
soundLoadedConn = soundInstance.Loaded:(()
loaded =
()
soundLoadedConn
soundLoadedConn:()
soundLoadedConn =
)
.(, ()
loaded soundInstance soundInstance.Parent
()
)
(name, size, position, text, parent)
btn = .()
btn.Name = name
btn.Size = size
btn.Position = position
btn.BackgroundColor3 = .(, , )
btn.BorderSizePixel =
btn.BorderColor3 = .(, , )
btn.Text = text
btn.TextColor3 = .(, , )
btn.Font = .Font.SourceSans
btn.TextSize =
btn.Parent = parent
btn
(y, labelText, parent)
label = .()
label.Size = .(, , , )
label.Position = .(, , , y)
label.BackgroundColor3 = .(, , )
label.BorderSizePixel =
label.BorderColor3 = .(, , )
label.Text = labelText
label.TextColor3 = .(, , )
label.Font = .Font.SourceSans
label.TextSize =
label.Parent = parent
minusBtn = (, .(, , , ), .(, , , y), , parent)
plusBtn = (, .(, , , ), .(, , , y), , parent)
label, minusBtn, plusBtn
()
playerGui = player:()
playerGui
existing = playerGui:()
existing
existing:()
screenGui = .()
screenGui.Name =
screenGui.ResetOnSpawn =
screenGui.Parent = playerGui
frame = .()
frame.Name =
frame.Size = .(, , , )
frame.Position = .(, , , -)
frame.BackgroundColor3 = .(, , )
frame.BorderSizePixel =
frame.BorderColor3 = .(, , )
frame.Parent = screenGui
title = .()
title.Name =
title.Size = .(, , , )
title.BackgroundColor3 = .(, , )
title.BorderSizePixel =
title.BorderColor3 = .(, , )
title.Text =
title.TextColor3 = .(, , )
title.Font = .Font.SourceSans
title.TextSize =
title.Active =
title.Parent = frame
mainTabButton = (, .(, , , ), .(, , , ), , frame)
colorTabButton = (, .(, , , ), .(, , , ), , frame)
mainPage = .()
mainPage.Name =
mainPage.Size = .(, -, , )
mainPage.Position = .(, , , )
mainPage.BackgroundTransparency =
mainPage.Visible =
mainPage.Parent = frame
colorPage = .()
colorPage.Name =
colorPage.Size = .(, -, , )
colorPage.Position = .(, , , )
colorPage.BackgroundTransparency =
colorPage.Visible =
colorPage.Parent = frame
(tab)
mainPage.Visible = (tab == )
colorPage.Visible = (tab == )
mainTabButton.MouseButton1Click:(()
()
)
colorTabButton.MouseButton1Click:(()
()
)
textBox = .()
textBox.Name =
textBox.Size = .(, , , )
textBox.Position = .(, , , )
textBox.BackgroundColor3 = .(, , )
textBox.BorderSizePixel =
textBox.BorderColor3 = .(, , )
textBox.PlaceholderText =
textBox.Text =
textBox.TextColor3 = .(, , )
textBox.Font = .Font.SourceSans
textBox.TextSize =
textBox.ClearTextOnFocus =
textBox.Parent = mainPage
button = (, .(, , , ), .(, , , ), , mainPage)
yLabel, yDownButton, yUpButton = (, , mainPage)
yOffsetLabelRef = yLabel
speedLabel, speedDownButton, speedUpButton = (, , mainPage)
speedLabelRef = speedLabel
pitchLabel, pitchDownButton, pitchUpButton = (, , mainPage)
pitchLabelRef = pitchLabel
deleteButton = (, .(, , , ), .(, , , ), , mainPage)
status = .()
status.Name =
status.Size = .(, , , )
status.Position = .(, , , -)
status.BackgroundTransparency =
status.Text =
status.TextColor3 = .(, , )
status.Font = .Font.SourceSans
status.TextSize =
status.TextXAlignment = .TextXAlignment.Left
status.Parent = frame
statusLabelRef = status
Y_STEP =
(delta)
yOffset = yOffset + delta
yLabel.Text = .. .(, yOffset)
()
yDownButton.MouseButton1Click:(() (-Y_STEP) )
yUpButton.MouseButton1Click:(() (Y_STEP) )
(delta)
currentSpeed = .(currentSpeed + delta, SPEED_MIN, SPEED_MAX)
speedLabel.Text = .. .(, currentSpeed)
()
speedDownButton.MouseButton1Click:(() (-SPEED_STEP) )
speedUpButton.MouseButton1Click:(() (SPEED_STEP) )
(delta)
currentPitch = .(currentPitch + delta, PITCH_MIN, PITCH_MAX)
pitchLabel.Text = .. .(, currentPitch)
()
pitchDownButton.MouseButton1Click:(() (-PITCH_STEP) )
pitchUpButton.MouseButton1Click:(() (PITCH_STEP) )
deleteButton.MouseButton1Click:(()
()
status.Text =
status.TextColor3 = .(, , )
)
swatchSize =
perRow =
gap =
i, color (COLOR_SWATCHES)
row = .((i - ) / perRow)
col = (i - ) % perRow
swatch = .()
swatch.Name = .. i
swatch.Size = .(, swatchSize, , swatchSize)
swatch.Position = .(, col * (swatchSize + gap), , row * (swatchSize + gap))
swatch.BackgroundColor3 = color
swatch.BorderSizePixel =
swatch.BorderColor3 = .(, , )
swatch.Text =
swatch.Parent = colorPage
swatch.MouseButton1Click:(()
currentColor = color
()
)
dragging =
dragStart =
startPos =
title.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
dragging =
dragStart = input.Position
startPos = frame.Position
)
title.InputEnded:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
dragging =
)
UserInputService.InputChanged:((input)
dragging (input.UserInputType == .UserInputType.MouseMovement input.UserInputType == .UserInputType.Touch)
delta = input.Position - dragStart
frame.Position = .(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
)
submitting =
()
submitting
submitting =
soundIdNum = (textBox.Text)
soundIdNum
currentSoundId = .. (soundIdNum)
sound
(sound, currentSoundId, (ok, err)
ok
status.Text = .. (soundIdNum)
status.TextColor3 = .(, , )
status.Text =
status.TextColor3 = .(, , )
(, currentSoundId, err)
)
button.Text =
status.Text =
status.TextColor3 = .(, , )
button.Text =
.(, ()
button.Text =
submitting =
)
button.MouseButton1Click:(submitSong)
textBox.FocusLost:((enterPressed)
enterPressed
()
)
(character)
boomboxPart
boomboxPart:()
boomboxPart =
upperTorso = character:() character:()
upperTorso
()
part = .()
part.Name =
part.Size = .(, , )
part.Transparency =
part.CanCollide =
part.CanQuery =
part.Massless =
part.Color = currentColor
mesh = .()
mesh.MeshType = .MeshType.FileMesh
mesh.MeshId = MESH_ID
TEXTURE_ID ~=
mesh.TextureId = TEXTURE_ID
mesh.Scale = MESH_SCALE
mesh.Parent = part
part.Parent = character
(()
ContentProvider:({ part })
)
boomboxPart = part
currentUpperTorso = upperTorso
()
sound = .()
sound.Volume =
sound.Looped =
sound.RollOffMaxDistance =
sound.PlaybackSpeed = currentSpeed
sound.Parent = part
pitchEffect = .()
pitchEffect.Octave = currentPitch
pitchEffect.Parent = sound
currentSoundId ~=
(sound, currentSoundId, (ok, err)
statusLabelRef
ok
statusLabelRef.Text =
statusLabelRef.TextColor3 = .(, , )
statusLabelRef.Text =
statusLabelRef.TextColor3 = .(, , )
(, currentSoundId, err)
)
(character)
character:(, )
(character)
()
player.Character
(player.Character)
player.CharacterAdded:(onCharacterAdded)works basically in any game

Universal