librosa.feature.inverse.mel_to_audio
- librosa.feature.inverse.mel_to_audio(M, *, sr=22050, n_fft=2048, hop_length=None, win_length=None, window='hann', center=True, pad_mode='constant', power=2.0, n_iter=32, length=None, dtype=<class 'numpy.float32'>, **kwargs)[source]
Invert a mel power spectrogram to audio using Griffin-Lim.
This is primarily a convenience wrapper for:
>>> S = librosa.feature.inverse.mel_to_stft(M) >>> y = librosa.griffinlim(S)
- Parameters:
- Mnp.ndarray [shape=(…, n_mels, n), non-negative]
The spectrogram as produced by feature.melspectrogram
- srnumber > 0 [scalar]
sampling rate of the underlying signal
- n_fftint > 0 [scalar]
number of FFT components in the resulting STFT
- hop_lengthNone or int > 0
The hop length of the STFT. If not provided, it will default to
n_fft // 4
- win_lengthNone or int > 0
The window length of the STFT. By default, it will equal
n_fft
- windowstring, tuple, number, function, or np.ndarray [shape=(n_fft,)]
A window specification as supported by stft or istft
- centerboolean
If True, the STFT is assumed to use centered frames. If False, the STFT is assumed to use left-aligned frames.
- pad_modestring
If
center=True
, the padding mode to use at the edges of the signal. By default, STFT uses zero padding.- powerfloat > 0 [scalar]
Exponent for the magnitude melspectrogram
- n_iterint > 0
The number of iterations for Griffin-Lim
- lengthNone or int > 0
If provided, the output
y
is zero-padded or clipped to exactlylength
samples.- dtypenp.dtype
Real numeric type for the time-domain signal. Default is 32-bit float.
- **kwargsadditional keyword arguments for Mel filter bank parameters
- fminfloat >= 0 [scalar]
lowest frequency (in Hz)
- fmaxfloat >= 0 [scalar]
highest frequency (in Hz). If None, use
fmax = sr / 2.0
- htkbool [scalar]
use HTK formula instead of Slaney
- norm{None, ‘slaney’, or number} [scalar]
If ‘slaney’, divide the triangular mel weights by the width of the mel band (area normalization). If numeric, use
librosa.util.normalize
to normalize each filter by to unit l_p norm. Seelibrosa.util.normalize
for a full description of supported norm values (including +-np.inf). Otherwise, leave all the triangles aiming for a peak value of 1.0
- Returns:
- ynp.ndarray [shape(…, n,)]
time-domain signal reconstructed from
M