нормализует спектрограмму мела по амплитуде пиковой единицы? - PullRequest
0 голосов
/ 30 января 2019

Я новичок в 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)

Проблема заключается в том, что при применении librosa.util.Я ожидаю, что значения будут в диапазоне от 1 до -1, а это не так.Что мне не хватает?

1 Ответ

0 голосов
/ 12 апреля 2019

Если вы хотите, чтобы ваш вывод масштабировался и нормализировался в диапазоне от -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
...