pyrubberband.pyrb.timemap_stretch¶
-
pyrubberband.pyrb.
timemap_stretch
(y, sr, time_map, rbargs=None)[source]¶ Apply a timemap stretch to an audio time series.
A timemap stretch allows non-linear time-stretching by mapping source to target sample frame numbers for fixed time points within the audio data.
This uses the time and timemap form for rubberband.
Parameters: - y : np.ndarray [shape=(n,) or (n, c)]
Audio time series, either single or multichannel
- sr : int > 0
Sampling rate of y
- time_map : list
Each element is a tuple t of length 2 which corresponds to the source sample position and target sample position.
If t[1] < t[0] the track will be sped up in this area.
time_map[-1] must correspond to the lengths of the source audio and target audio.
- rbargs
Additional keyword parameters for rubberband
See rubberband -h for details.
Returns: - y_stretch : np.ndarray
Time-stretched audio
Raises: - ValueError
if time_map is not monotonic if time_map is not non-negative if time_map[-1][0] is not the input audio length