Caution

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

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:
pathstr, int, pathlib.Path, soundfile.SoundFile, or file-like object

path to the input file.

Any codec supported by soundfile 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 existing soundfile.SoundFile object.

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).

If negative, it will be interpreted relative to the end of the file.

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

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)