MCPcopy Create free account
hub / github.com/espnet/espnet / stft2logmelspectrogram

Function stft2logmelspectrogram

espnet2/legacy/transform/spectrogram.py:75–90  ·  view source on GitHub ↗

Convert STFT to LogMel.

(x_stft, fs, n_mels, n_fft, fmin=None, fmax=None, eps=1e-10)

Source from the content-addressed store, hash-verified

73
74
75def stft2logmelspectrogram(x_stft, fs, n_mels, n_fft, fmin=None, fmax=None, eps=1e-10):
76 """Convert STFT to LogMel."""
77 # x_stft: (Time, Channel, Freq) or (Time, Freq)
78 fmin = 0 if fmin is None else fmin
79 fmax = fs / 2 if fmax is None else fmax
80
81 # spc: (Time, Channel, Freq) or (Time, Freq)
82 spc = np.abs(x_stft)
83 # mel_basis: (Mel_freq, Freq)
84 mel_basis = librosa.filters.mel(
85 sr=fs, n_fft=n_fft, n_mels=n_mels, fmin=fmin, fmax=fmax
86 )
87 # lmspc: (Time, Channel, Mel_freq) or (Time, Mel_freq)
88 lmspc = np.log10(np.maximum(eps, np.dot(spc, mel_basis.T)))
89
90 return lmspc
91
92
93def spectrogram(x, n_fft, n_shift, win_length=None, window="hann"):

Callers 2

logmelspectrogramFunction · 0.85
__call__Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…