Skip to main content
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.

Equalizer

10-band parametric EQ — gain, centre frequency, Q per band.

DSP

Crossfeed, surround, PBE, AFR, compressor, dithering.

ReplayGain

Track / album normalisation with optional clipping protection.

Crossfade

Overlap track ends with the next track’s start.

Where settings live

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.

Channels & stereo

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.

Output sample rate

UI feedback