librosa.effects.split

librosa.effects.split(y, top_db=60, ref=<function amax>, frame_length=2048, hop_length=512)[source]

Split an audio signal into non-silent intervals.

Parameters
ynp.ndarray, shape=(n,) or (2, n)

An audio signal

top_dbnumber > 0

The threshold (in decibels) below reference to consider as silence

refnumber or callable

The reference power. By default, it uses np.max and compares to the peak power in the signal.

frame_lengthint > 0

The number of samples per analysis frame

hop_lengthint > 0

The number of samples between analysis frames

Returns
intervalsnp.ndarray, shape=(m, 2)

intervals[i] == (start_i, end_i) are the start and end time (in samples) of non-silent interval i.