librosa.core.get_duration

librosa.core.get_duration(y=None, sr=22050, S=None, n_fft=2048, hop_length=512, center=True)

Compute the duration (in seconds) of an audio time series or STFT matrix.

Parameters:

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

audio time series

sr : number > 0 [scalar]

audio sampling rate of y

S : np.ndarray [shape=(d, t)] or None

STFT matrix, or any STFT-derived matrix (e.g., chromagram or mel spectrogram).

n_fft : int > 0 [scalar]

FFT window size for S

hop_length : int > 0 [ scalar]

number of audio samples between columns of S

center : boolean

  • If True, S[:, t] is centered at y[t * hop_length]
  • If False, then S[:, t] begins at y[t * hop_length]
Returns:

d : float >= 0

Duration (in seconds) of the input time series or spectrogram.

Examples

>>> # Load the example audio file
>>> y, sr = librosa.load(librosa.util.example_audio_file())
>>> librosa.get_duration(y=y, sr=sr)
61.44
>>> # Or compute duration from an STFT matrix
>>> y, sr = librosa.load(librosa.util.example_audio_file())
>>> S = librosa.stft(y)
>>> librosa.get_duration(S=S, sr=sr)
61.44
>>> # Or a non-centered STFT matrix
>>> S_left = librosa.stft(y, center=False)
>>> librosa.get_duration(S=S_left, sr=sr)
61.3471201814059