> ## Documentation Index
> Fetch the complete documentation index at: https://rockboxzig.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Audio settings

> Volume, EQ, DSP, ReplayGain, crossfade and the rest of the rbcodec pipeline.

The Rockbox DSP pipeline runs between the codec output and the active PCM
sink. Settings live in `global_settings` (in the C firmware) and are
mirrored in `settings.toml`. Most can also be changed at runtime via
GraphQL or gRPC and they persist on the next save cycle.

> [card] [Equalizer](https://rockboxzig.mintlify.site/audio-settings/equalizer.md)
>
> 10-band parametric EQ — gain, centre frequency, Q per band.

> [card] [DSP](https://rockboxzig.mintlify.site/audio-settings/dsp.md)
>
> Crossfeed, surround, PBE, AFR, compressor, dithering.

> [card] [ReplayGain](https://rockboxzig.mintlify.site/audio-settings/replaygain.md)
>
> Track / album normalisation with optional clipping protection.

> [card] [Crossfade](https://rockboxzig.mintlify.site/audio-settings/crossfade.md)
>
> Overlap track ends with the next track's start.

## Where settings live

| Layer | Lives in | Lifetime |
| - | - | - |
| Compiled-in defaults | `apps/settings_list.c` | Build-time |
| `settings.toml` | `~/.config/rockbox.org/settings.toml` | Read once at startup |
| Runtime (API) | In-memory `global_settings` | Persisted on save |

Hardware settings flow through `firmware/sound.c → sound_set_*()`. DSP
settings flow through `lib/rbcodec/dsp/*` and are applied in the PCM pipeline
before samples reach the sink.

## Volume

`global_status.volume` — decibels relative to the device's clipping point.
**0 dB** is the maximum undistorted level. Negative values reduce output;
positive values may distort. On the CPAL target, volume is implemented as a
software mixer.

```toml theme={"theme":{"light":"catppuccin-latte","dark":"min-dark"}}
volume_limit = 0   # ceiling in dB (default = device max)
```

## Channels & stereo

| Setting | Storage | Range / values |
| - | - | - |
| Balance | `balance` | −100..+100 |
| Channel config | `channel_config` | Stereo / Mono / Custom / Mono L / R / Karaoke / Swap |
| Stereo width (when Custom) | `stereo_width` | 0..255 % |

## Pitch & time-stretch

Persisted in `global_status` so they survive across restarts. Time-stretch
uses a TDHS algorithm — best for speech, may sound rough on dense music.

| Setting | Storage | Range |
| - | - | - |
| Pitch | `global_status.resume_pitch` | \~50..200 % |
| Speed | `global_status.resume_speed` | \~35..250 % |
| Time-stretch enable | `global_settings.timestretch_enabled` | bool |

## Output sample rate

```toml theme={"theme":{"light":"catppuccin-latte","dark":"min-dark"}}
play_frequency = 0   # 0=auto, 44100, 48000, 88200, 96000
```

## UI feedback

```toml theme={"theme":{"light":"catppuccin-latte","dark":"min-dark"}}
beep              = 0   # off / weak / moderate / strong
keyclick          = 0
keyclick_repeats  = false
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.