Caution

You're reading the documentation for a development version. For the latest released version, please have a look at 0.9.1.

librosa.feature.zero_crossing_rate

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.

Parameters
ynp.ndarray [shape=(…, n)]

Audio time series. Multi-channel is supported.

frame_lengthint > 0

Length of the frame over which to compute zero crossing rates

hop_lengthint > 0

Number of samples to advance for each frame

centerbool

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

**kwargsadditional keyword arguments

See librosa.zero_crossings

Note

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

Returns
zcrnp.ndarray [shape=(…, 1, t)]

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

See also

librosa.zero_crossings

Compute zero-crossings in a time-series

Examples

>>> y, sr = librosa.load(librosa.ex('trumpet'))
>>> librosa.feature.zero_crossing_rate(y)
array([[0.044, 0.074, ..., 0.488, 0.355]])