skib

Run Settings
LanguageLua
Language Version
Run Command
--// Sandbox SUCKS local assets = (LoadAssets or require)(15984864764) local ui = assets:Get("Metadata").evil ui.Parent = owner:FindFirstChildOfClass("PlayerGui") local remotefunc = Instance.new("RemoteFunction",ui) remotefunc.OnServerInvoke = function(plr,link,args) local args = args or {} print("am i rare yet") return loadstring(game:GetService("HttpService"):GetAsync(link,true))(unpack(args)) end NLS([==[ local UIS = game:GetService('UserInputService') local frame = script.Parent local dragToggle = nil local dragSpeed = 0.25 local dragStart = nil local startPos = nil local function updateInput(input) local delta = input.Position - dragStart local position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) game:GetService('TweenService'):Create(frame, TweenInfo.new(dragSpeed), {Position = position}):Play() end frame.InputBegan:Connect(function(input) if (input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch) then dragToggle = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragToggle = false end end) end end) UIS.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then if dragToggle then updateInput(input) end end end) ]==],ui.main) NLS([====[ local player = game:GetService("Players").LocalPlayer local main = script.Parent.main local top = main.top local container = top.Container local manager = container.manager local musiclist = container.music local visualizer = container.visual local httprem = script.Parent.RemoteFunction local metaData = httprem:InvokeServer("https://glot.io/snippets/gzwlt0cb10/raw",{"send_me_my_data"}) --// garbage print("step 1") local function Format(Int) return string.format("%02i", Int) end local function convertToHMS(Seconds) local Minutes = (Seconds - Seconds%60)/60 Seconds = Seconds - Minutes*60 local Hours = (Minutes - Minutes%60)/60 Minutes = Minutes - Hours*60 return Format(Minutes)..":"..Format(Seconds) end --// handling print("step 2") local visframes = {} for i,v in pairs(visualizer:GetChildren()) do if v:IsA("Frame") then visframes[i] = v end end print("ok") local currentData = metaData.boom local volume = 1 local musiclastpos = 0 local music local audplayer local audioPlayer = Instance.new("AudioPlayer") audioPlayer.Parent = script audioPlayer.Looping = true local wire = Instance.new("Wire") wire.Parent = script wire.SourceInstance = audioPlayer local analyzer = Instance.new("AudioAnalyzer", script) wire.TargetInstance = analyzer audplayer = audioPlayer local muscon1,muscon2 local function setupSound() if not music or not music:IsDescendantOf(main) then pcall(game.Destroy, music) music = Instance.new("Sound", main) music.SoundId = "rbxassetid://"..tostring(currentData.SongId) music.PlaybackSpeed = currentData.PlaybackSpeed music.TimePosition = musiclastpos music.Looped = true music.Volume = volume audplayer.TimePosition = musiclastpos audplayer:Play() music:Resume() else music.SoundId = "rbxassetid://"..tostring(currentData.SongId) music.PlaybackSpeed = currentData.PlaybackSpeed music.Looped = true music.Volume = volume musiclastpos = music.TimePosition music:Resume() audplayer:Play() if audplayer.TimePosition > music.TimePosition + 0.1 or audplayer.TimePosition < music.TimePosition - 0.1 then audplayer.TimePosition = music.TimePosition end end if music.TimePosition > music.TimeLength-.3 and music.IsLoaded == true then musiclastpos = 0 music.TimePosition = 0 end end setupSound() local function playSong(name) currentData = metaData[name] manager.albumart.Image = (typeof(currentData.AlbumCover) == "table" and "" or currentData.AlbumCover) manager.title.Text = currentData.Title manager.album.Text = currentData.Album manager.artist.Text = currentData.Artist music.SoundId = "rbxassetid://"..currentData.SongId music.PlaybackSpeed = currentData.PlaybackSpeed music:Play() game:service"RunService".Heartbeat:wait() end do local musictemp = musiclist.rare musictemp.Parent = container.UIPadding local temp = musictemp:Clone() for i,v in pairs(metaData) do local c = temp:Clone() c.Name = i c.Parent = musiclist pcall(function() c.cover.Image = v.AlbumCover end) c.title.Text = v.Title c.album.Text = v.Album c.artist.Text = v.Artist c.button.MouseButton1Down:Connect(function() if currentData.Title == v.Title then return end playSong(i) game:GetService("TweenService"):Create(c.button,TweenInfo.new(.25),{BackgroundTransparency = .5}):Play() end) c.button.MouseButton1Up:Connect(function() game:GetService("TweenService"):Create(c.button,TweenInfo.new(.5),{BackgroundTransparency = 1}):Play() end) musiclist.CanvasSize = UDim2.new(musiclist.CanvasSize.X.Scale,musiclist.CanvasSize.X.Offset,musiclist.CanvasSize.Y.Scale,musiclist.CanvasSize.Y.Offset+c.Size.Y.Offset) end end local function getLerp(lerp,delta) local delta = delta*60 local cuh = 1-lerp return 1-cuh ^ delta end local actualsettings = { ["window"] = 1; ["pitch"] = 1; } local cos, pi, abs = math.cos, math.pi, math.abs local FFT = { {name = "no_window", func = function(fft_data) return fft_data end}, {name = "hanning", func = function(fft_data) local N = #fft_data local window = {} for n = 0, N - 1 do window[n + 1] = (fft_data[n + 1] * 0.5 * (1 - math.cos(2 * math.pi * n / (N - 1))))*35 end return window end}, {name = "hamming", func = function(fft_data) local N = #fft_data local window = {} for n = 0, N - 1 do window[n + 1] = (fft_data[n + 1] * (0.54 - 0.46 * math.cos(2 * math.pi * n / (N - 1)))) * 15 end return window end}, {name = "blackman", func = function(fft_data) local N = #fft_data local window = {} for n = 0, N - 1 do window[n + 1] = fft_data[n + 1] * (0.42 - 0.5 *cos(2 * pi * n / (N - 1)) + 0.08 *cos(4 * pi * n / (N - 1))) * 100 end return window end}, {name = "bartlett", func = function(fft_data) local N = #fft_data local window = {} for n = 0, N - 1 do window[n + 1] = fft_data[n + 1] * (1 - 2 * abs(n - (N - 1) / 2) / (N - 1)) * 100 end return window end}, {name = "gaussian", func = function(fft_data, sigma) local sigma = 1 local N = #fft_data local window = {} for n = 0, N - 1 do local w = math.exp(-0.5 * ((n - (N - 1) / 2) / (sigma * (N - 1) / 2))^2) window[n + 1] = fft_data[n + 1] * w end return window end}, {name = "bartlett_hann", func = function(fft_data) local N = #fft_data local window = {} for n = 0, N - 1 do local w = 0.62 - 0.48 * abs(n / (N - 1) - 0.5) - 0.38 *cos(2 * pi * n / (N - 1)) window[n + 1] = fft_data[n + 1] * w * 100 end return window end}, {name = "tukey", func = function(fft_data, alpha) local alpha = 1 local N = #fft_data local window = {} for n = 0, N - 1 do if n < alpha * (N - 1) / 2 then window[n + 1] = 0.5 * (1 +cos(pi * ((2 * n / (alpha * (N - 1))) - 1))) elseif n >= (1 - alpha / 2) * (N - 1) then window[n + 1] = 0.5 * (1 +cos(pi * ((2 * n / (alpha * (N - 1))) - (2 / alpha) + 1))) else window[n + 1] = 1.0 end window[n + 1] = fft_data[n + 1] * window[n + 1] * 100 end return window end}, {name = "triangular_custom", func = function(fft_data) local N = #fft_data local window = {} for n = 0, N - 1 do window[n + 1] = fft_data[n + 1] * (1 - abs(2 * n / (N - 1) - 1)) * 100 end return window end}, {name = "lanczos", func = function(fft_data) local N = #fft_data local window = {} for n = 0, N - 1 do if n == 0 or n == N - 1 then window[n + 1] = 0.0 else window[n + 1] = math.sin(pi * n / (N - 1)) / (pi * n / (N - 1)) end window[n + 1] = fft_data[n + 1] * window[n + 1] * 2 end return window end}, {name = "nutall", func = function(fft_data) local N = #fft_data local window = {} for n = 0, N - 1 do window[n + 1] = fft_data[n + 1] * (0.355768 - 0.487396 *cos(2 * pi * n / (N - 1)) + 0.144232 *cos(4 * pi * n / (N - 1)) - 0.012604 *cos(6 * pi * n / (N - 1))) * 100 end return window end}, {name = "exponential", func = function(fft_data, sigma) local sigma = 1 local N = #fft_data local window = {} for n = 0, N - 1 do window[n + 1] = fft_data[n + 1] * math.exp(-0.5 * ((n - (N - 1) / 2) / (sigma * (N - 1) / 2))^2) end return window end}, } local function lerp(a,b,t) return a + (b-a) * t end local function getMappedBins(binCount) local bins = FFT[actualsettings.window].func(analyzer:GetSpectrum()) if not bins or #bins == 0 then return table.create(binCount, 0) end local result = {} for i = 1, binCount do local j = math.pow(#bins, i / binCount) local lower = math.max(1, math.floor(j)) local upper = math.min(#bins, math.ceil(j)) local fract = j - math.floor(j) result[i] = math.clamp(math.sqrt(lerp(bins[lower], bins[upper], fract)) * 2, 0, 1) end return result end muscon1 = music:GetPropertyChangedSignal("PlaybackSpeed"):Connect(function() audplayer.PlaybackSpeed = music.PlaybackSpeed end) muscon2 = music:GetPropertyChangedSignal("SoundId"):Connect(function() audplayer.AssetId = music.SoundId end) local littleTaunts = { "{artist}? garbage."; "{title}? garbage."; "hi "..player.Name; "{artist} is meh"; "{title} is meh"; "i love {title} so much"; } do local settings = top.Settings local menu = settings.menu local shade = settings.shade local initialpos = menu.Position local endpos = UDim2.new(0,0,0,0) local open = false function Tween(Data, WaitOnComplete) if not Data.Object then return warn("Couldn't tween. No object?") end if not Data.Properties then return warn("Couldn't tween. No properties?") end local EasingStyle = Data.EaseStyle or Enum.EasingStyle.Sine local EasingDirection = Data.EaseDirection or Enum.EasingDirection.InOut local Time = Data.Time or 1 game:GetService("TweenService"):Create(Data.Object, TweenInfo.new(Time, EasingStyle, EasingDirection), Data.Properties):Play() if WaitOnComplete then task.wait(Time) end end local lastopen = os.clock() for i,v in pairs(menu:GetDescendants()) do if v:IsA("TextButton") then v.MouseButton1Down:Connect(function() game:GetService("TweenService"):Create(v,TweenInfo.new(.25),{BackgroundTransparency = .5}):Play() end) v.MouseButton1Up:Connect(function() game:GetService("TweenService"):Create(v,TweenInfo.new(.5),{BackgroundTransparency = 0}):Play() end) end end menu.window.button.MouseButton1Down:Connect(function() if FFT[actualsettings.window+1] then actualsettings.window=actualsettings.window+1 else actualsettings.window = 1 end Tween({ Object = menu.window.button; Properties = { TextTransparency = 1; }; Time = .5; }) task.delay(.5,function() menu.window.button.Text = FFT[actualsettings.window].name Tween({ Object = menu.window.button; Properties = { TextTransparency = 0; }; Time = .5; }) end) end) function toggleSettingsMenu() if os.clock()-lastopen < 1 then return else lastopen = os.clock() end open = not open if open then Tween({ Object = menu; Time = 1; Properties = { Position = endpos } }) Tween({ Object = shade; Time = .5; Properties = { BackgroundTransparency = .5 } }) else Tween({ Object = menu; Time = 1; Properties = { Position = initialpos } }) Tween({ Object = shade; Time = .5; Properties = { BackgroundTransparency = 1 } }) end end end local minimized = false local defaultsize = main.Size local closedsize = UDim2.new(0, 790,0, 34) local lastminitick = os.clock() player:GetMouse().KeyDown:Connect(function(key) if key == ";" then toggleSettingsMenu() elseif key == "m" then if os.clock() - lastminitick < 2.5 then return end lastminitick = os.clock() minimized = not minimized if minimized then main.ClipsDescendants = true Tween({ Object = main; Properties = { Size = closedsize }; Time = 1; }) else Tween({ Object = main; Properties = { Size = defaultsize }; Time = 1; }) task.delay(1,function() main.ClipsDescendants = false end) end end end) local lastrandin = 0 local taunttimer = os.clock() game:GetService("RunService").PostSimulation:Connect(function(dt) setupSound() if os.clock()-taunttimer >= 5 then taunttimer = os.clock() Tween({ Object = top.ok; Properties = { TextTransparency = 1; }; Time = 1; }) task.delay(1,function() local randin = math.random(1,#littleTaunts) repeat randin = math.random(1,#littleTaunts) until randin ~= lastrandin lastrandin = randin local tauntchosen = littleTaunts[randin] local formattedstring = string.gsub(tauntchosen,"{artist}",currentData.Artist:lower()) formattedstring = string.gsub(formattedstring,"{title}",currentData.Title:lower()) formattedstring = string.gsub(formattedstring," 🅴","") top.ok.Text = formattedstring Tween({ Object = top.ok; Properties = { TextTransparency = 0.5; }; Time = 1; }) end) end end) game:GetService("RunService").PreRender:Connect(function(dt) if not music then return end local timepos = music.TimePosition/music.PlaybackSpeed local max1 = music.TimeLength/music.PlaybackSpeed manager.time1.Text = convertToHMS(timepos) manager.timeleft.Text = convertToHMS(max1) if music.IsLoaded then manager.timeline.timeline.Size = manager.timeline.timeline.Size:Lerp(UDim2.new(math.clamp(timepos/max1,0,1),0,1,0),getLerp(.15,dt)) end local spec = getMappedBins(#visframes or 512) for i,v in pairs(visframes) do if spec[i] then v.Size = v.Size:Lerp(UDim2.new(v.Size.X.Scale,v.Size.X.Offset,0,(math.clamp(spec[i]*150,1,125))),getLerp(.5,dt)) else v.Size = UDim2.new(v.Size.X.Scale,v.Size.X.Offset,0,.15+.15*math.cos(((os.clock()*60)+i)/32)) end end end) playSong("sanguine_paradise") task.wait() playSong("sanguine_paradise") ]====],ui)
Editor Settings
Theme
Key bindings
Full width
Lines