soxr_stream_resampler

SoX-based audio resampler stream implementation.

This module provides an audio resampler that uses the SoX ResampleStream library for very high quality audio sample rate conversion.

When to use the SOXRStreamAudioResampler: 1. For real-time processing scenarios 2. When dealing with very long audio signals 3. When processing audio in chunks or streams 4. When you need to reuse the same resampler configuration multiple times, as it saves initialization overhead

class pipecat.audio.resamplers.soxr_stream_resampler.SOXRStreamAudioResampler(**kwargs)[source]

Bases: BaseAudioResampler

Audio resampler implementation using the SoX ResampleStream library.

This resampler uses the SoX ResampleStream library configured for very high quality (VHQ) resampling, providing excellent audio quality at the cost of additional computational overhead. It keeps an internal history which avoids clicks at chunk boundaries.

Notes

  • Only supports mono audio (1 channel).

  • Input must be 16-bit signed PCM audio as raw bytes.

__init__(**kwargs)[source]

Initialize the resampler.

Parameters:

**kwargs – Additional keyword arguments (currently unused).

async resample(audio: bytes, in_rate: int, out_rate: int) bytes[source]

Resample audio data using soxr.ResampleStream resampler library.

Parameters:
  • audio – Input audio data as raw bytes (16-bit signed integers).

  • in_rate – Original sample rate in Hz.

  • out_rate – Target sample rate in Hz.

Returns:

Resampled audio data as raw bytes (16-bit signed integers).