librosa.effects.hpss¶
- librosa.effects.hpss(y, **kwargs)[source]¶
Decompose an audio time series into harmonic and percussive components.
This function automates the STFT->HPSS->ISTFT pipeline, and ensures that the output waveforms have equal length to the input waveform
y.- Parameters
- ynp.ndarray [shape=(…, n)]
audio time series. Multi-channel is supported.
- **kwargsadditional keyword arguments.
See
librosa.decompose.hpssfor details.
- Returns
- y_harmonicnp.ndarray [shape=(…, n)]
audio time series of the harmonic elements
- y_percussivenp.ndarray [shape=(…, n)]
audio time series of the percussive elements
See also
harmonicExtract only the harmonic component
percussiveExtract only the percussive component
librosa.decompose.hpssHPSS on spectrograms
Examples
>>> # Extract harmonic and percussive components >>> y, sr = librosa.load(librosa.ex('choice')) >>> y_harmonic, y_percussive = librosa.effects.hpss(y)
>>> # Get a more isolated percussive component by widening its margin >>> y_harmonic, y_percussive = librosa.effects.hpss(y, margin=(1.0,5.0))