librosa.feature.melspectrogram 的形状

我试图了解以下内容的输出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,但是从文档中我无法理解第二个来自哪里。


ibeautiful
浏览 114回答 1
1回答

宝慕林4294392

它是帧中信号的长度(不是样本),取决于窗口和跳长。具体来说:1 + len(y) // hop_length
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python