> For the complete documentation index, see [llms.txt](https://mango-5m.gitbook.io/mango5m-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mango-5m.gitbook.io/mango5m-docs/free-resources/mango-notify/configuration/sounds.md).

# Sounds

Built-in synthesized sounds, custom sound files, and volume control.

```lua
Config.SoundEnabled  = true
Config.DefaultVolume = 0.35     -- 0.0 – 1.0
```

## Built-in sounds

Six sounds ship **with zero audio files** — they are synthesized in the UI at play time:

`notify` · `success` · `error` · `warning` · `dispatch` · `money`

Each notification type plays its matching sound by default (configurable per type in `Config.Types`). Any call can override with `sound = 'success'`, silence itself with `sound = false`, or adjust loudness with `volume = 0.6`.

## Custom sounds

{% stepper %}
{% step %}

### Add the file

Drop your sound into `mango_notify/html/sounds/` — e.g. `alert.mp3`. Supported formats: `.ogg`, `.mp3`, `.wav`.
{% endstep %}

{% step %}

### List it in fxmanifest.lua

```lua
files {
    'html/index.html',
    'html/css/style.css',
    'html/js/app.js',
    'html/sounds/alert.mp3',   -- add this line
}
```

Then `restart mango_notify` so the file is streamed to clients.
{% endstep %}

{% step %}

### Use it by name

```lua
-- extension optional: finds alert.ogg / alert.mp3 / alert.wav
exports.mango_notify:Notify({ title = 'Robbery', sound = 'alert' })

-- or the exact file
TriggerEvent('notify:show', { title = 'Robbery', sound = 'alert.mp3' })

-- or make it a type default in config.lua
Config.Types.dispatch.sound = 'alert'

-- or play a sound with no notification at all
exports.mango_notify:PlaySound('alert', 0.5)
```

{% endstep %}
{% endstepper %}

## Resolution order

When `sound` is a bare name (no extension):

1. A **built-in preset** with that name plays first, if one exists.
2. Otherwise the UI looks for `html/sounds/<name>.ogg`, then `.mp3`, then `.wav` — and remembers which one worked, so the lookup happens only once.

Use the full filename (`sound = 'dispatch.mp3'`) to force a file even when a built-in preset shares the name.

{% hint style="warning" %}
If a custom sound doesn't play, the usual cause is a missing `files { ... }` entry in `fxmanifest.lua` — the file has to be streamed to clients. See [Troubleshooting](/mango5m-docs/free-resources/mango-notify/reference/troubleshooting.md).
{% endhint %}
