librosa.feature.delta¶
-
librosa.feature.
delta
(data, width=9, order=1, axis=-1, trim=<DEPRECATED parameter>, mode=’interp’, **kwargs)[source]¶ Compute delta features: local estimate of the derivative of the input data along the selected axis.
Delta features are computed Savitsky-Golay filtering.
Parameters: - data : np.ndarray
the input data matrix (eg, spectrogram)
- width : int, positive, odd [scalar]
Number of frames over which to compute the delta features. Cannot exceed the length of data along the specified axis. If mode=’interp’, then width must be at least data.shape[axis].
- order : int > 0 [scalar]
the order of the difference operator. 1 for first derivative, 2 for second, etc.
- axis : int [scalar]
the axis along which to compute deltas. Default is -1 (columns).
- trim : bool [DEPRECATED]
This parameter is deprecated in 0.6.0 and will be removed in 0.7.0.
- mode : str, {‘interp’, ‘nearest’, ‘mirror’, ‘constant’, ‘wrap’}
Padding mode for estimating differences at the boundaries.
- kwargs : additional keyword arguments
Returns: - delta_data : np.ndarray [shape=(d, t)]
delta matrix of data at specified order
See also
Notes
This function caches at level 40.
Examples
Compute MFCC deltas, delta-deltas
>>> y, sr = librosa.load(librosa.util.example_audio_file()) >>> mfcc = librosa.feature.mfcc(y=y, sr=sr) >>> mfcc_delta = librosa.feature.delta(mfcc) >>> mfcc_delta array([[ 1.666e+01, 1.666e+01, ..., 1.869e-15, 1.869e-15], [ 1.784e+01, 1.784e+01, ..., 6.085e-31, 6.085e-31], ..., [ 7.262e-01, 7.262e-01, ..., 9.259e-31, 9.259e-31], [ 6.578e-01, 6.578e-01, ..., 7.597e-31, 7.597e-31]])
>>> mfcc_delta2 = librosa.feature.delta(mfcc, order=2) >>> mfcc_delta2 array([[ -1.703e+01, -1.703e+01, ..., 3.834e-14, 3.834e-14], [ -1.108e+01, -1.108e+01, ..., -1.068e-30, -1.068e-30], ..., [ 4.075e-01, 4.075e-01, ..., -1.565e-30, -1.565e-30], [ 1.676e-01, 1.676e-01, ..., -2.104e-30, -2.104e-30]])
>>> import matplotlib.pyplot as plt >>> plt.subplot(3, 1, 1) >>> librosa.display.specshow(mfcc) >>> plt.title('MFCC') >>> plt.colorbar() >>> plt.subplot(3, 1, 2) >>> librosa.display.specshow(mfcc_delta) >>> plt.title(r'MFCC-$\Delta$') >>> plt.colorbar() >>> plt.subplot(3, 1, 3) >>> librosa.display.specshow(mfcc_delta2, x_axis='time') >>> plt.title(r'MFCC-$\Delta^2$') >>> plt.colorbar() >>> plt.tight_layout()