7
要確定聲音的豐富度,我想確定音樂樣本中的諧波數量。爲此,我正在使用處理與Minim庫,它給我一個全譜FFT。我想知道如何計算由FFT產生的頻譜中的所有峯值,我對基頻沒有興趣。音樂樣本中的諧波計數
要確定聲音的豐富度,我想確定音樂樣本中的諧波數量。爲此,我正在使用處理與Minim庫,它給我一個全譜FFT。我想知道如何計算由FFT產生的頻譜中的所有峯值,我對基頻沒有興趣。音樂樣本中的諧波計數
根據您的需求,有很多方法可以完成此操作。
如果你想計算每個峯值,那麼你應該遍歷頻譜中的所有頻率,記住強度是增加還是減少。每當您注意到從增加到減少的方向改變時,您都會增加峯值計數器。但請注意,這將包括非常微弱的峯值,這可能會或可能不會成爲您需要的。您可以設置一個最小限制,以確定要登記的峯值的增減量。或者,您可以找到信號強度的基線(使用最簡單情況下的平均值),然後計算正面異常值的數量(與基線有一些可配置的最小偏差)。如果您修改此方法以使用頻率相關基線和最小值來說明較高頻率下的強度逐漸下降(再次取決於您的特定信號和需要這是否有用),您可能會獲得更好的結果。這樣做的一個簡單方法是將您的頻譜劃分爲多個頻段(足夠小以便能夠在每個頻段中假設更多或更少的平坦能量分佈),併爲每個頻段使用不同的基線和最小值。