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

kwargsadditional keyword arguments.

See librosa.decompose.hpss for 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

harmonic

Extract only the harmonic component

percussive

Extract only the percussive component

librosa.decompose.hpss

HPSS 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))