guidox / Audio

Change the System Sounds and Turn Off the Startup Chime

TL;DR

Open **mmsys.cpl > Sounds**, pick the **No Sounds** scheme for silence, or set the **Windows Logon** event to **(None)** to kill only the chime.

Before you start

Requirements

  • Windows 11
  • 5 minutes
Step by step

Instructions

01

Identify the event that plays

The chime at sign-in is the **Windows Logon** event, not the startup sound from the firmware. The two are separate and fixed differently.

Start-Process mmsys.cpl
# Sounds tab > Program Events > Windows Logon
Get-ItemProperty 'HKCU:\AppEvents\Schemes\.Current' | Select-Object * -ExcludeProperty PS*
02

Switch the scheme

A scheme assigns a wav to many events at once. **No Sounds** clears them all, which is the fastest way to silence a machine without hunting each event.

# Sounds tab > Sound Scheme > No Sounds > Apply
Get-ItemProperty 'HKCU:\AppEvents\Schemes' -ErrorAction SilentlyContinue | Select-Object '(default)'
Get-ItemProperty 'HKCU:\AppEvents\Schemes\.Current' | Select-Object '(default)'
03

Silence only the logon sound

Per-event silence sets the wav path to empty for that event. The rest of the scheme stays intact, which keeps error sounds audible.

New-Item 'HKCU:\AppEvents\EventLabels\WindowsLogon' -Force | Out-Null
Set-ItemProperty 'HKCU:\AppEvents\EventLabels\WindowsLogon' -Name '(default)' -Value 'Windows Logon'
Set-ItemProperty 'HKCU:\AppEvents\Schemes\.Current' -Name 'WindowsLogon' -Value ''
Get-ItemProperty 'HKCU:\AppEvents\Schemes\.Current' | Select-Object WindowsLogon
04

Test before you sign out

The sound plays at logon, so the test requires a sign-out. A short lock and unlock cycle confirms the change without closing your session.

rundll32.exe user32.dll,LockWorkStation
# sign back in and listen
Get-ItemProperty 'HKCU:\AppEvents\Schemes\.Current' | Select-Object WindowsLogon,WindowsLogoff,Notification
05

Set a custom wav for one event

Any wav file works as long as it is local and readable. A network path fails at logon, because the share is not connected yet.

$wav = 'C:\Windows\Media\Windows Notify System Generic.wav'
Set-ItemProperty 'HKCU:\AppEvents\Schemes\.Current' -Name 'Notification.Looping.Alarm' -Value $wav
Test-Path $wav
Get-ItemProperty 'HKCU:\AppEvents\Schemes\.Current' | Select-Object 'Notification.Looping.Alarm'
06

Check the separate notification sounds

App notifications have their own toggle in Settings. A scheme change does not silence those, which is why a machine can stay noisy after the fix.

Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings' -ErrorAction SilentlyContinue | Select-Object NOC_GLOBAL_SETTING_ALLOW_NOTIFICATION_SOUND
Start-Process ms-settings:notifications
Troubleshooting

Common issues

The chime still plays at sign-in

The change applies to the current user. The sign-in screen plays the system account's scheme, which needs a machine-wide setting.

The Sounds tab is greyed out

A policy removed the audio control panel. Check the Sounds policy under HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies.

No sound plays at all after the change

The No Sounds scheme is active. Pick Windows Default or one event at a time.

Error sounds are gone too

Those were cleared by the scheme. Restore the Default Beep and Critical Stop entries individually.

FAQ

Frequently asked

Does this remove the firmware beep?

No. A beep before Windows starts comes from the firmware, and only the firmware setup controls it.

Are custom wav files copied anywhere?

The registry stores the path. Move or delete the file and the event becomes silent.

Does it apply to other users?

No. Sound schemes are per user, which is also why the lock screen keeps its own sound.

How to undo this

Choose the Windows Default scheme in mmsys.cpl, or set the WindowsLogon value back to C:\Windows\Media\Windows Logon.wav.

Changelog · 1 entry
  1. 2026-11-01
    First version
Interactive version: checklist, feedback, related guides →

Free · no account needed · tracks your progress