Caution

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

librosa.load

librosa.load(path, *, sr=22050, mono=True, offset=0.0, duration=None, dtype=<class 'numpy.float32'>, res_type='kaiser_best')[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 or file-like object

path to the input file.

Any codec supported by soundfile or audioread 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.

On the contrary, if the codec is not supported by soundfile (for example, MP3), then path must be a file path (string or pathlib.Path).

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 resampy’s high-quality mode (‘kaiser_best’).

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