librosa.feature.zero_crossing_rate(y, frame_length=2048, hop_length=512, center=True, **kwargs)[source]

Compute the zero-crossing rate of an audio time series.


y : np.ndarray [shape=(n,)]

Audio time series

frame_length : int > 0

Length of the frame over which to compute zero crossing rates

hop_length : int > 0

Number of samples to advance for each frame

center : bool

If True, frames are centered by padding the edges of y. This is similar to the padding in librosa.core.stft, but uses edge-value copies instead of reflection.

kwargs : additional keyword arguments

See librosa.core.zero_crossings


By default, the pad parameter is set to False, which differs from the default specified by librosa.core.zero_crossings.


zcr : np.ndarray [shape=(1, t)]

zcr[0, i] is the fraction of zero crossings in the i th frame

See also

Compute zero-crossings in a time-series


>>> y, sr = librosa.load(librosa.util.example_audio_file())
>>> librosa.feature.zero_crossing_rate(y)
array([[ 0.134,  0.139, ...,  0.387,  0.322]])