Caution
You're reading an old version of this documentation. If you want up-to-date information, please have a look at 0.9.1.
librosa.core.resample¶
- librosa.core.resample(y, orig_sr, target_sr, res_type='kaiser_best', fix=True, scale=False, **kwargs)[source]¶
Resample a time series from orig_sr to target_sr
- Parameters
- ynp.ndarray [shape=(n,) or shape=(2, n)]
audio time series. Can be mono or stereo.
- orig_srnumber > 0 [scalar]
original sampling rate of y
- target_srnumber > 0 [scalar]
target sampling rate
- res_typestr
resample type (see note)
Note
By default, this uses
resampy
’s high-quality mode (‘kaiser_best’).To use a faster method, set res_type=’kaiser_fast’.
To use
scipy.signal.resample
, set res_type=’fft’ or res_type=’scipy’.To use
scipy.signal.resample_poly
, set res_type=’polyphase’.Note
When using res_type=’polyphase’, only integer sampling rates are supported.
- fixbool
adjust the length of the resampled signal to be of size exactly ceil(target_sr * len(y) / orig_sr)
- scalebool
Scale the resampled signal so that y and y_hat have approximately equal total energy.
- kwargsadditional keyword arguments
If fix==True, additional keyword arguments to pass to
librosa.util.fix_length
.
- Returns
- y_hatnp.ndarray [shape=(n * target_sr / orig_sr,)]
y resampled from orig_sr to target_sr
- Raises
- ParameterError
If res_type=’polyphase’ and orig_sr or target_sr are not both integer-valued.
See also
librosa.util.fix_length
scipy.signal.resample
resampy.resample
Notes
This function caches at level 20.
Examples
Downsample from 22 KHz to 8 KHz
>>> y, sr = librosa.load(librosa.util.example_audio_file(), sr=22050) >>> y_8k = librosa.resample(y, sr, 8000) >>> y.shape, y_8k.shape ((1355168,), (491671,))