Caution

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

librosa.util.valid_audio

librosa.util.valid_audio(y, *, mono=<DEPRECATED parameter>)[source]

Determine whether a variable contains valid audio data.

The following conditions must be satisfied:

  • type(y) is np.ndarray

  • y.dtype is floating-point

  • y.ndim != 0 (must have at least one dimension)

  • np.isfinite(y).all() samples must be all finite values

If mono is specified, then we additionally require - y.ndim == 1

Parameters:
ynp.ndarray

The input data to validate

monobool

Whether or not to require monophonic audio

Warning

The mono parameter is deprecated in version 0.9 and will be removed in 0.10.

Returns:
validbool

True if all tests pass

Raises:
ParameterError

In any of the conditions specified above fails

See also

numpy.float32

Notes

This function caches at level 20.

Examples

>>> # By default, valid_audio allows only mono signals
>>> filepath = librosa.ex('trumpet', hq=True)
>>> y_mono, sr = librosa.load(filepath, mono=True)
>>> y_stereo, _ = librosa.load(filepath, mono=False)
>>> librosa.util.valid_audio(y_mono), librosa.util.valid_audio(y_stereo)
True, False
>>> # To allow stereo signals, set mono=False
>>> librosa.util.valid_audio(y_stereo, mono=False)
True