librosa.core.get_duration¶
-
librosa.core.
get_duration
(y=None, sr=22050, S=None, n_fft=2048, hop_length=512, center=True)[source]¶ 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