nomusic
Key RequiredUniversal

nomusic

Universal Scriptvincent009vincent009 13.5K views 1.7K executesUpdated Jul 25, 2025
5.0/ 5(2 votes)
20100% Positive
Lua Script•137 lines (3701 chars)
--add us on roblox vincentplayz9356
if not game:IsLoaded() then
    game.Loaded:Wait()
end

local Players = game:GetService("Players")
local SoundService = game:GetService("SoundService")
local Workspace = game:GetService("Workspace")
local Lighting = game:GetService("Lighting")

local player = Players.LocalPlayer
if not player then
    Players.PlayerAdded:Wait()
    player = Players.LocalPlayer
end

local playerGui = player:WaitForChild("PlayerGui")

local musicKeywords = {
    "music", "bgm", "soundtrack", "theme", "background", "ambient",
    "song", "melody", "score", "ost", "main theme", "loop", "atmosphere"
}

local processedSounds = {}
local musicDetected = false

local function processSound(sound)
    if not sound:IsA("Sound") then return false end
    if processedSounds[sound] then return false end

    local name = sound.Name:lower()
    local parentName = (sound.Parent and sound.Parent.Name or ""):lower()
    local isMusic = false

    for _, keyword in ipairs(musicKeywords) do
        if name:find(keyword) or parentName:find(keyword) then
            isMusic = true
            break
        end
    end

    if not isMusic and sound.Looped then
        isMusic = true
    end

    if not isMusic and sound.TimeLength and sound.TimeLength > 30 then
        isMusic = true
    end

    if not isMusic and sound:IsDescendantOf(SoundService) then
        isMusic = true
    end

    if isMusic then
        if sound:GetAttribute("OriginalVolume") == nil then
            sound:SetAttribute("OriginalVolume", sound.Volume)
        end

        sound.Volume = 0
        sound:Stop()

        if not sound:GetAttribute("VolumeLocked") then
            sound:SetAttribute("VolumeLocked", true)
            sound:GetPropertyChangedSignal("Volume"):Connect(function()
                if sound.Volume > 0 then
                    sound.Volume = 0
                end
            end)
        end

        processedSounds[sound] = true
        musicDetected = true
        return true
    end
    return false
end

local function scanContainer(container, depth)
    if depth > 10 then return end
    for _, child in ipairs(container:GetChildren()) do
        if processSound(child) then
            musicDetected = true
        end
        if child:IsA("Folder") or child:IsA("Model") or child:IsA("BasePart") or child:IsA("ScreenGui") then
            scanContainer(child, depth+1)
        end
    end
end

local function connectDescendantAdded(instance)
    instance.DescendantAdded:Connect(function(child)
        if processSound(child) then
            musicDetected = true
        end
    end)
end

connectDescendantAdded(SoundService)
connectDescendantAdded(Workspace)
connectDescendantAdded(Lighting)
connectDescendantAdded(playerGui)

player.CharacterAdded:Connect(function(char)
    char:WaitForChild("HumanoidRootPart", 5)
    connectDescendantAdded(char)
    scanContainer(char, 0)
end)

scanContainer(SoundService, 0)
scanContainer(Workspace, 0)
scanContainer(Lighting, 0)
scanContainer(playerGui, 0)
if player.Character then
    scanContainer(player.Character, 0)
end

spawn(function()
    while not musicDetected do
        scanContainer(SoundService, 0)
        scanContainer(Workspace, 0)
        scanContainer(Lighting, 0)
        scanContainer(playerGui, 0)
        if player.Character then
            scanContainer(player.Character, 0)
        end
        
        if musicDetected then
            break
        end
        
        wait(2)
    end
    print("Recurring scans stopped (music detected)")
end)

print("Music auto-muter activated XD - background music will be silenced ☺👍")
warn("Note: Games with custom audio systems may require additional tweaks")

Features & Information

This Roblox Lua script automatically detects and mutes background music in a game by scanning for sounds that match common music-related patterns. It helps players who prefer to listen to their own music or play in silence by suppressing in-game background tracks while keeping other sound effects (like jumping or gunshots) inactive. Good for: Playing your downloaded music you like (e.g., phonk, freestyle music, etc.) while still hearing npc screaming nearby. Probably recommended to auto execute. Key Features: 1. Automatic Music Detection - Uses keywords (e.g., "music," "bgm," "loop") to identify potential background tracks. - Detects looped sounds and long-duration audio (over 30 seconds). - Checks if sounds are under SoundService (a common location for game music). 2. Persistent Muting - Saves original volume before muting (allows for potential restoration). - Locks volume at 0 (prevents games from re-enabling music). - Stops playback of detected music immediately. 3. Comprehensive Scanning - Scans SoundService, Workspace, Lighting, and PlayerGui for existing sounds. - Continuously monitors for new sounds using `DescendantAdded` events. - Recursively checks character models (in case of dynamic sound attachments). 4. Performance Optimized - Uses event-based detection (efficiently hooks into sound additions). - Includes optional periodic scans (every 2 seconds) for missed sounds. - Limits recursion depth to prevent lag. Use Cases: - Players who disable in-game music for a better experience. - Streamers/content creators who want clean audio without background tracks. - Games with obnoxious or repetitive music that can't be muted via settings. Limitations: - probably not good for hangout games Output: - Prints a confirmation when activated. - Warns about potential edge cases. This script is revised for reliability and covers most common cases where games place background music. Adjustments may be needed for specific games with unusual audio setups. Enjoy the script!
#Antimusic#Anti music#No music#Legit#Trending

Community Comments (1)

rizkigaming586rizkigaming586Jul 25, 2025

can this turn off music for everyone in the game?

More Scripts for Universal Scripts