sab*_*bri 2 python signal-processing spectrogram mfcc librosa
我是 python 和 librosa 的新手。我正在尝试按照这种方法进行语音识别:声学前端
我的代码:
import librosa
import librosa.display
import numpy as np
y, sr = librosa.load('test.wav', sr = None)
normalizedy = librosa.util.normalize(y)
stft = librosa.core.stft(normalizedy, n_fft = 256, hop_length=16)
mel = librosa.feature.melspectrogram(S=stft, n_mels=32)
melnormalized = librosa.util.normalize(mel)
mellog = np.log(melnormalized) - np.log(10**-5)
Run Code Online (Sandbox Code Playgroud)
问题是,当我将 librosa.util.normalize 应用于变量 mel 时,我希望值介于 1 和 -1 之间,但实际上并非如此。我错过了什么?
如果您希望对输出进行对数缩放并标准化为 -1 到 +1 之间,则应先对数缩放,然后再标准化:
import librosa
import librosa.display
import numpy as np
y, sr = librosa.load('test.wav', sr = None)
normalizedy = librosa.util.normalize(y)
stft = librosa.core.stft(normalizedy, n_fft = 256, hop_length=16)
mel = librosa.feature.melspectrogram(S=stft, n_mels=32)
mellog = np.log(mel + 1e-9)
melnormalized = librosa.util.normalize(mellog)
# use melnormalized
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4302 次 |
| 最近记录: |