Please consider supporting us with disabling your AdBlock software and to gain access to thousands of free content!
Not sure how to disable AdBLock? Follow this tutorial: How to disable AdBlock
Get the Roblox Audio Logger
The Roblox Audio Logger code is below. Copy & inject it into the game. Enjoy!
aa = game:GetObjects("rbxassetid://01997056190")[1]
aa.Parent = game.CoreGui
wait(0.2)
GUI = aa.PopupFrame.PopupFrame
pos = 0
ignore = {
"rbxasset://sounds/action_get_up.mp3",
"rbxasset://sounds/uuhhh.mp3",
"rbxasset://sounds/action_falling.mp3",
"rbxasset://sounds/action_jump.mp3",
"rbxasset://sounds/action_jump_land.mp3",
"rbxasset://sounds/impact_water.mp3",
"rbxasset://sounds/action_swim.mp3",
"rbxasset://sounds/action_footsteps_plastic.mp3"
}
GUI.Close.MouseButton1Click:connect(function()
GUI:TweenSize(UDim2.new(0, 360, 0, 0),"Out","Quad",0.5,true) wait(0.6)
GUI.Parent:TweenSize(UDim2.new(0, 0, 0, 20),"Out","Quad",0.5,true) wait(0.6)
aa:Destroy()
end)
local min = false
GUI.Minimize.MouseButton1Click:connect(function()
if min == false then
GUI:TweenSize(UDim2.new(0, 360, 0, 20),"Out","Quad",0.5,true) min = true
else
GUI:TweenSize(UDim2.new(0, 360, 0, 260),"Out","Quad",0.5,true) min = false
end
end)
function printTable(tbl)
if type(tbl) ~= 'table' then return nil end
local depthCount = -15
local function run(val, inPrefix)
depthCount = depthCount + 15
-- if inPrefix then print(string.rep(' ', depthCount) .. '{') end
for i,v in pairs(val) do
if type(v) == 'table' then
-- print(string.rep(' ', depthCount) .. ' [' .. tostring(i) .. '] = {')
GUI.Store.Text = GUI.Store.Text..'\n'..string.rep(' ', depthCount) .. ' [' .. tostring(i) .. '] = {'
run(v, false)
wait()
else
-- print(string.rep(' ', depthCount) .. ' [' .. tostring(i) .. '] = ' .. tostring(v))
GUI.Store.Text = GUI.Store.Text..'\n'..string.rep(' ', depthCount) .. ' [' .. tostring(i) .. '] = ' .. tostring(v)
wait()
end
end
-- print(string.rep(' ', depthCount) .. '}')
depthCount = depthCount - 15
end
run(tbl, true)
end
function refreshlist()
pos = 0
GUI.Logs.CanvasSize = UDim2.new(0,0,0,0)
for i,v in pairs(GUI.Logs:GetChildren()) do
v.Position = UDim2.new(0,0,0, pos)
GUI.Logs.CanvasSize = UDim2.new(0,0,0, pos+20)
pos = pos+20
end
end
function FindTable(Table, Name)
for i,v in pairs(Table) do
if v == Name then
return true
end end
return false
end
function writefileExploit()
if writefile then
return true
end
end
writeaudio = {}
running = false
GUI.SS.MouseButton1Click:connect(function()
if writefileExploit() then
if running == false then
GUI.Load.Visible = true running = true
GUI.Load:TweenSize(UDim2.new(0, 360, 0, 20),"Out","Quad",0.5,true) wait(0.3)
for _, child in pairs(GUI.Logs:GetChildren()) do
if child:FindFirstChild('ImageButton') then local bttn = child:FindFirstChild('ImageButton')
if bttn.BackgroundTransparency == 0 then
writeaudio[#writeaudio + 1] = {NAME = child.NAME.Value, ID = child.ID.Value}
end
end
end
GUI.Store.Visible = true
printTable(writeaudio)
wait(0.2)
local filename = 0
local function write()
local file
pcall(function() file = readfile("Audios"..filename..".txt") end)
if file then
filename = filename+1
write()
else
local text = tostring(GUI.Store.Text)
text = text:gsub('\n', '\r\n')
writefile("Audios"..filename..".txt", text)
end
end
write()
for rep = 1,10 do
GUI.Load.BackgroundTransparency = GUI.Load.BackgroundTransparency + 0.1
wait(0.05)
end
GUI.Load.Visible = false
GUI.Load.BackgroundTransparency = 0
GUI.Load.Size = UDim2.new(0, 0, 0, 20)
running = false
GUI.Store.Visible = false
GUI.Store.Text = ''
writeaudio = {}
game:FindService('StarterGui'):SetCore('SendNotification', {
Title = 'Audio Logger',
Text = 'Saved audios\n(Audios'..filename..'.txt)',
Icon = 'http://www.roblox.com/asset/?id=176572847',
Duration = 5,
})
end
else
game:FindService('StarterGui'):SetCore('SendNotification', {
Title = 'Audio Logger',
Text = 'Exploit cannot writefile :(',
Icon = 'http://www.roblox.com/asset/?id=176572847',
Duration = 5,
})
end
end)
GUI.SA.MouseButton1Click:connect(function()
if writefileExploit() then
if running == false then
GUI.Load.Visible = true running = true
GUI.Load:TweenSize(UDim2.new(0, 360, 0, 20),"Out","Quad",0.5,true) wait(0.3)
for _, child in pairs(GUI.Logs:GetChildren()) do
writeaudio[#writeaudio + 1] = {NAME = child.NAME.Value, ID = child.ID.Value}
end
GUI.Store.Visible = true
printTable(writeaudio)
wait(0.2)
local filename = 0
local function write()
local file
pcall(function() file = readfile("Audios"..filename..".txt") end)
if file then
filename = filename+1
write()
else
local text = tostring(GUI.Store.Text)
text = text:gsub('\n', '\r\n')
writefile("Audios"..filename..".txt", text)
end
end
write()
for rep = 1,10 do
GUI.Load.BackgroundTransparency = GUI.Load.BackgroundTransparency + 0.1
wait(0.05)
end
GUI.Load.Visible = false
GUI.Load.BackgroundTransparency = 0
GUI.Load.Size = UDim2.new(0, 0, 0, 20)
running = false
GUI.Store.Visible = false
GUI.Store.Text = ''
writeaudio = {}
game:FindService('StarterGui'):SetCore('SendNotification', {
Title = 'Audio Logger',
Text = 'Saved audios\n(Audios'..filename..'.txt)',
Icon = 'http://www.roblox.com/asset/?id=176572847',
Duration = 5,
})
end
else
game:FindService('StarterGui'):SetCore('SendNotification', {
Title = 'Audio Logger',
Text = 'Exploit cannot writefile :(',
Icon = 'http://www.roblox.com/asset/?id=176572847',
Duration = 5,
})
end
end)
selectedaudio = nil
function getaudio(place)
if running == false then
GUI.Load.Visible = true running = true
GUI.Load:TweenSize(UDim2.new(0, 360, 0, 20),"Out","Quad",0.5,true) wait(0.3)
for _, child in pairs(place:GetDescendants()) do
spawn(function()
if child:IsA("Sound") and not GUI.Logs:FindFirstChild(child.SoundId) and not FindTable(ignore,child.SoundId) then
local id = string.match(child.SoundId, "rbxasset://sounds.+") or string.match(child.SoundId, "&hash=.+") or string.match(child.SoundId, "%d+")
if id ~= nil then
local newsound = GUI.Audio:Clone()
if string.sub(id, 1, 6) == "&hash=" or string.sub(id, 1, 7) == "&0hash=" then
id = string.sub(id, (string.sub(id, 1, 6) == "&hash=" and 7) or (string.sub(id, 1, 7) == "&0hash=" and 8), string.len(id))
newsound.ImageButton.Image = 'rbxassetid://1453863294'
end
newsound.Parent = GUI.Logs
newsound.Name = child.SoundId
newsound.Visible = true
newsound.Position = UDim2.new(0,0,0, pos)
GUI.Logs.CanvasSize = UDim2.new(0,0,0, pos+20)
pos = pos+20
local function findname()
Asset = game:GetService("MarketplaceService"):GetProductInfo(id)
end
local audioname = 'error'
local success, message = pcall(findname)
if success then
newsound.TextLabel.Text = Asset.Name
audioname = Asset.Name
else
newsound.TextLabel.Text = child.Name
audioname = child.Name
end
local data = Instance.new('StringValue') data.Parent = newsound data.Value = child.SoundId data.Name = 'ID'
local data2 = Instance.new('StringValue') data2.Parent = newsound data2.Value = audioname data2.Name = 'NAME'
local soundselected = false
newsound.ImageButton.MouseButton1Click:Connect(function()
if GUI.Info.Visible ~= true then
if soundselected == false then soundselected = true
newsound.ImageButton.BackgroundTransparency = 0
else soundselected = false
newsound.ImageButton.BackgroundTransparency = 1
end
end
end)
newsound.Click.MouseButton1Click:Connect(function()
if GUI.Info.Visible ~= true then
GUI.Info.TextLabel.Text = "Name: " ..audioname.. "\n\nID: " .. child.SoundId .. "\n\nWorkspace Name: " .. child.Name
selectedaudio = child.SoundId
GUI.Info.Visible = true
end
end)
end
end
end)
end
end
for rep = 1,10 do
GUI.Load.BackgroundTransparency = GUI.Load.BackgroundTransparency + 0.1
wait(0.05)
end
GUI.Load.Visible = false
GUI.Load.BackgroundTransparency = 0
GUI.Load.Size = UDim2.new(0, 0, 0, 20)
running = false
end
GUI.All.MouseButton1Click:connect(function() getaudio(game)end)
GUI.Workspace.MouseButton1Click:connect(function() getaudio(workspace)end)
GUI.Lighting.MouseButton1Click:connect(function() getaudio(game:GetService('Lighting'))end)
GUI.SoundS.MouseButton1Click:connect(function() getaudio(game:GetService('SoundService'))end)
GUI.Clr.MouseButton1Click:connect(function()
for _, child in pairs(GUI.Logs:GetChildren()) do
if child:FindFirstChild('ImageButton') then local bttn = child:FindFirstChild('ImageButton')
if bttn.BackgroundTransparency == 1 then
bttn.Parent:Destroy()
refreshlist()
end
end
end
end)
GUI.ClrS.MouseButton1Click:connect(function()
for _, child in pairs(GUI.Logs:GetChildren()) do
if child:FindFirstChild('ImageButton') then local bttn = child:FindFirstChild('ImageButton')
if bttn.BackgroundTransparency == 0 then
bttn.Parent:Destroy()
refreshlist()
end
end
end
end)
autoscan = false
GUI.AutoScan.MouseButton1Click:connect(function()
if autoscan == false then autoscan = true
GUI.AutoScan.BackgroundTransparency = 0.5
game:FindService('StarterGui'):SetCore('SendNotification', {
Title = 'Audio Logger',
Text = 'Auto Scan ENABLED',
Icon = 'http://www.roblox.com/asset/?id=176572847',
Duration = 5,
})
else autoscan = false
GUI.AutoScan.BackgroundTransparency = 0
game:FindService('StarterGui'):SetCore('SendNotification', {
Title = 'Audio Logger',
Text = 'Auto Scan DISABLED',
Icon = 'http://www.roblox.com/asset/?id=176572847',
Duration = 5,
})
end
end)
game.DescendantAdded:connect(function(added)
wait()
if autoscan == true and added:IsA('Sound') and not GUI.Logs:FindFirstChild(added.SoundId) and not FindTable(ignore,added.SoundId) then
local id = string.match(added.SoundId, "rbxasset://sounds.+") or string.match(added.SoundId, "&hash=.+") or string.match(added.SoundId, "%d+")
if id ~= nil then
local newsound = GUI.Audio:Clone()
if string.sub(id, 1, 6) == "&hash=" or string.sub(id, 1, 7) == "&0hash=" then
id = string.sub(id, (string.sub(id, 1, 6) == "&hash=" and 7) or (string.sub(id, 1, 7) == "&0hash=" and 8), string.len(id))
newsound.ImageButton.Image = 'rbxassetid://1453863294'
end
local scrolldown = false
newsound.Parent = GUI.Logs
newsound.Name = added.SoundId
newsound.Visible = true
newsound.Position = UDim2.new(0,0,0, pos)
if GUI.Logs.CanvasPosition.Y == GUI.Logs.CanvasSize.Y.Offset - 230 then
scrolldown = true
end
GUI.Logs.CanvasSize = UDim2.new(0,0,0, pos+20)
pos = pos+20
local function findname()
Asset = game:GetService("MarketplaceService"):GetProductInfo(id)
end
local audioname = 'error'
local success, message = pcall(findname)
if success then
newsound.TextLabel.Text = Asset.Name
audioname = Asset.Name
else
newsound.TextLabel.Text = added.Name
audioname = added.Name
end
local data = Instance.new('StringValue') data.Parent = newsound data.Value = added.SoundId data.Name = 'ID'
local data2 = Instance.new('StringValue') data2.Parent = newsound data2.Value = audioname data2.Name = 'NAME'
local soundselected = false
newsound.ImageButton.MouseButton1Click:Connect(function()
if GUI.Info.Visible ~= true then
if soundselected == false then soundselected = true
newsound.ImageButton.BackgroundTransparency = 0
else soundselected = false
newsound.ImageButton.BackgroundTransparency = 1
end
end
end)
newsound.Click.MouseButton1Click:Connect(function()
if GUI.Info.Visible ~= true then
GUI.Info.TextLabel.Text = "Name: " ..audioname.. "\n\nID: " .. added.SoundId .. "\n\nWorkspace Name: " .. added.Name
selectedaudio = added.SoundId
GUI.Info.Visible = true
end
end)
--230'
if scrolldown == true then
GUI.Logs.CanvasPosition = Vector2.new(0, 9999999999999999999999999999999999999999999, 0, 0)
end
end
end
end)
GUI.Info.Copy.MouseButton1Click:Connect(function()
if pcall(function() Synapse:Copy(selectedaudio) end) then
else
local clip = setclipboard or Clipboard.set
clip(selectedaudio)
end
game:FindService('StarterGui'):SetCore('SendNotification', {
Title = 'Audio Logger',
Text = 'Copied to clipboard',
Icon = 'http://www.roblox.com/asset/?id=176572847',
Duration = 5,
})
end)
GUI.Info.Close.MouseButton1Click:Connect(function()
GUI.Info.Visible = false
for _, sound in pairs(game:GetService('Players').LocalPlayer.PlayerGui:GetChildren()) do
if sound.Name == 'SampleSound' then
sound:Destroy()
end
end
GUI.Info.Listen.Text = 'Listen'
end)
GUI.Info.Listen.MouseButton1Click:Connect(function()
if GUI.Info.Listen.Text == 'Listen' then
local samplesound = Instance.new('Sound') samplesound.Parent = game:GetService('Players').LocalPlayer.PlayerGui
samplesound.Looped = true samplesound.SoundId = selectedaudio samplesound:Play() samplesound.Name = 'SampleSound'
samplesound.Volume = 5
GUI.Info.Listen.Text = 'Stop'
else
for _, sound in pairs(game:GetService('Players').LocalPlayer.PlayerGui:GetChildren()) do
if sound.Name == 'SampleSound' then
sound:Destroy()
end
end
GUI.Info.Listen.Text = 'Listen'
end
end)
function drag(gui)
spawn(function()
local UserInputService = game:GetService("UserInputService")
local dragging
local dragInput
local dragStart
local startPos
local function update(input)
local delta = input.Position - dragStart
gui:TweenPosition(UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y), "InOut", "Quart", 0.04, true, nil)
end
gui.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = gui.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
gui.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
dragInput = input
end
end)
UserInputService.InputChanged:Connect(function(input)
if input == dragInput and dragging then
update(input)
end
end)
end)
end
drag(aa.PopupFrame)