Python librosa.feature.melspectrogram的形状

Python librosa.feature.melspectrogram的形状,python,numpy,signal-processing,spectrogram,librosa,Python,Numpy,Signal Processing,Spectrogram,Librosa,我试图理解librosa.feature.melspectrogram的输出: >>> import numpy as np >>> from librosa.feature import melspectrogram >>> >>> >>> melspectrogram(np.random.randn(128), n_mels=128).shape (128, 1) >>> melspe

我试图理解librosa.feature.melspectrogram的输出:

>>> import numpy as np
>>> from librosa.feature import melspectrogram
>>>
>>>
>>> melspectrogram(np.random.randn(128), n_mels=128).shape
(128, 1)
>>> melspectrogram(np.random.randn(900), n_mels=128).shape
(128, 2)
>>> melspectrogram(np.random.randn(500), n_mels=128).shape
(128, 1)
>>> melspectrogram(np.random.randn(512), n_mels=128).shape
(128, 2)
>>> melspectrogram(np.random.randn(511), n_mels=128).shape
(128, 1)
>>> melspectrogram(np.random.randn(1023), n_mels=128).shape
(128, 2)
>>> melspectrogram(np.random.randn(1024), n_mels=128).shape
(128, 3)
>>> melspectrogram(np.random.randn(2055), n_mels=128).shape
(128, 5)
>>> melspectrogram(np.random.randn(2047), n_mels=128).shape
(128, 4)

什么决定其形状的第二个值?第一个很清楚,它是
n_mels
,但从我的角度看,我不明白第二个是从哪里来的。

它是以帧为单位的信号长度(不是样本),取决于窗口和跳长。看


具体来说:
1+len(y)//hop\u length

它是信号在帧中的长度(不是样本),取决于窗口和hop长度。请参阅以了解更多详细信息。是的,很有意义,谢谢,它是
1+len(y)//hop\u length