librosa.load
- librosa.load(path, *, sr=22050, mono=True, offset=0.0, duration=None, dtype=<class 'numpy.float32'>, res_type='soxr_hq')[source]
Load an audio file as a floating point time series.
Audio will be automatically resampled to the given rate (default
sr=22050
).To preserve the native sampling rate of the file, use
sr=None
.- Parameters:
- pathstring, int, pathlib.Path, soundfile.SoundFile, audioread object, or file-like object
path to the input file.
Any codec supported by
soundfile
oraudioread
will work.Any string file paths, or any object implementing Python’s file interface (e.g.
pathlib.Path
) are supported as path.If the codec is supported by
soundfile
, then path can also be an open file descriptor (int) or an existingsoundfile.SoundFile
object.Pre-constructed audioread decoders are also supported here, see the example below. This can be used, for example, to force a specific decoder rather than relying upon audioread to select one for you.
Warning
audioread support is deprecated as of version 0.10.0. audioread support be removed in version 1.0.
- srnumber > 0 [scalar]
target sampling rate
‘None’ uses the native sampling rate
- monobool
convert signal to mono
- offsetfloat
start reading after this time (in seconds)
- durationfloat
only load up to this much audio (in seconds)
- dtypenumeric type
data type of
y
- res_typestr
resample type (see note)
Note
By default, this uses
soxr
’s high-quality mode (‘HQ’).For alternative resampling modes, see
resample
Note
audioread
may truncate the precision of the audio data to 16 bits.See Advanced I/O Use Cases for alternate loading methods.
- Returns:
- ynp.ndarray [shape=(n,) or (…, n)]
audio time series. Multi-channel is supported.
- srnumber > 0 [scalar]
sampling rate of
y
Examples
>>> # Load an ogg vorbis file >>> filename = librosa.ex('trumpet') >>> y, sr = librosa.load(filename) >>> y array([-1.407e-03, -4.461e-04, ..., -3.042e-05, 1.277e-05], dtype=float32) >>> sr 22050
>>> # Load a file and resample to 11 KHz >>> filename = librosa.ex('trumpet') >>> y, sr = librosa.load(filename, sr=11025) >>> y array([-8.746e-04, -3.363e-04, ..., -1.301e-05, 0.000e+00], dtype=float32) >>> sr 11025
>>> # Load 5 seconds of a file, starting 15 seconds in >>> filename = librosa.ex('brahms') >>> y, sr = librosa.load(filename, offset=15.0, duration=5.0) >>> y array([0.146, 0.144, ..., 0.128, 0.015], dtype=float32) >>> sr 22050
>>> # Load using an already open SoundFile object >>> import soundfile >>> sfo = soundfile.SoundFile(librosa.ex('brahms')) >>> y, sr = librosa.load(sfo)
>>> # Load using an already open audioread object >>> import audioread.ffdec # Use ffmpeg decoder >>> aro = audioread.ffdec.FFmpegAudioFile(librosa.ex('brahms')) >>> y, sr = librosa.load(aro)