Python 如何计算;“标准化”;Mel频谱图的频率?
我用librosa计算了mel光谱图,如下所示:Python 如何计算;“标准化”;Mel频谱图的频率?,python,spectrogram,librosa,Python,Spectrogram,Librosa,我用librosa计算了mel光谱图,如下所示: self.Spectrogram = librosa.feature.melspectrogram(y=self.RawSignal, sr=self.sampling_frequency, n_mels=128, fmax=8000) 由于n_mels=128,我需要在标准化刻度[0127]中获得给定频率(比如4400 Hz)的对应值。
self.Spectrogram = librosa.feature.melspectrogram(y=self.RawSignal, sr=self.sampling_frequency,
n_mels=128, fmax=8000)
由于n_mels=128
,我需要在标准化刻度[0127]中获得给定频率(比如4400 Hz)的对应值。我已经看到103是4400 Hz的对应值,但我想要一个通用公式。
PS.这不是我要寻找的从Hz到mels的转换公式
提前感谢使用该函数计算mel过滤器的中心点。确保传递的参数与光谱图相同。一旦有了中心点,就可以通过查找最接近的值来找到特定频率所属的箱子
import numpy
import librosa
find = 4400
freqs = librosa.core.mel_frequencies(fmin=0.0, fmax=8000, n_mels=128)
bin = numpy.argmin(abs(freqs - find))
print(bin)
103