Speex Speech Audio
Speex is an open speech codec using code-excited linear prediction with narrowband, wideband, and ultra-wideband modes.
Speex wideband audio contains a low-band speech representation with additional upper-band information. This embedded-band structure makes its three sampling modes more meaningful than a list of rate numbers.
Speex is an open lossy speech codec based on CELP.
| Mode | Nominal input/output sample rate |
|---|---|
| Narrowband | 8 kHz |
| Wideband | 16 kHz |
| Ultra-wideband | 32 kHz |
Build the wideband representation
For 16 kHz wideband input, a quadrature-mirror filter bank separates lower and upper frequency regions. The lower band is encoded using the narrowband structure. Additional information describes the higher band.
The full decoder reconstructs both and recombines them. A supported embedded narrowband decode can use the low-band representation without recreating the high-band result.
This is a coding-layer relationship, not a command to relabel an 8 kHz source as 16 kHz. A true wideband encoding contains the additional band information.
Control bitrate and coding effort separately
Speex offers bitrate/quality decisions and a complexity control. Bitrate changes the coded data budget, while complexity changes how much work the encoder spends selecting its representation.
Voice-activity detection and discontinuous-transmission options can reduce data use during inactivity. Their state and framing affect how the timeline and background are reproduced. In packet communication, buffering and packet-loss handling add another layer around the codec.
Keep preprocessing outside the format definition
A Speex application may use the library's noise suppression, gain control, or echo cancellation before encoding. Those operations change the signal handed to the codec; a quiet background is not proof of a particular encoded mode.
Stored Speex commonly uses Ogg, while RFC 5574 defines its RTP carriage. Headers, framing, and timing tell the decoder how to obtain the coded representation.
The project's current guidance prefers Opus for new codec uses. Existing Speex recordings still need their own compatible decoding. In a legacy Emby voice collection, preserve the coded mode and full timing when making a listening copy; the embedded structure explains which frequency information that copy started with.