如何在 python3 中使用 FFT 将 wav 文件的频率范围从 20Hz 更改为 2KHz

问题描述 投票:0回答:0

我使用的是 44.1KHz 采样额定 wav 文件,所以我想使用 FFT 将我的 wav 文件的频率范围从 20Hz 更改为 2KHz

def db_fft(data, frequency):
    print('Data = ',data)
    print('Length of data = ',len(data))
    print('Frequency = ',frequency)
    data_length = len(data)
    win = np.hamming(data_length)
    data = data * win
    sp = np.fft.rfft(data)
    freq = np.arange((data_length / 2) + 1) / (float(data_length) / frequency)
    s_mag = np.abs(sp) * 2 / np.sum(win)
    s_dbfs = 20 * np.log10(s_mag)
    return freq, s_dbfs

数据 = [-0.00361633 0.00138855 -0.00193787 ... 0.13475037 0.02610779 -0.08901978] 数据长度 = 441000 频率 = 44100

As in the below figure its actually from 0Hz to 22.05KHz, So I want to change it from 20Hz to 2KHz(Not by setting x axis limit)

python signal-processing fft
© www.soinside.com 2019 - 2024. All rights reserved.