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: - y : np.ndarray [shape=(n,) or shape=(2, n)]
audio time series. Can be mono or stereo.
- orig_sr : number > 0 [scalar]
original sampling rate of y
- target_sr : number > 0 [scalar]
target sampling rate
- res_type : str
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=’scipy’.- fix : bool
adjust the length of the resampled signal to be of size exactly ceil(target_sr * len(y) / orig_sr)
- scale : bool
Scale the resampled signal so that y and y_hat have approximately equal total energy.
- kwargs : additional keyword arguments
If fix==True, additional keyword arguments to pass to
librosa.util.fix_length
.
Returns: - y_hat : np.ndarray [shape=(n * target_sr / orig_sr,)]
y resampled from orig_sr to target_sr
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,))