2

我想知道是否可以使用 NumPy 获取文件中存在的频率,然后更改这些频率并从中创建一个新的 WAV 文件?我想对文件进行一些过滤,但我还没有看到一种将 WAV 文件读入 NumPy、过滤它,然后输出过滤后的版本的方法。如果有人可以提供帮助,那就太好了。

4

1 回答 1

4

SciPy提供了对 NumPy 数组进行 FFT的函数,还提供了将它们读取写入WAV 文件的函数。例如

from scipy.io.wavfile import read, write
from scipy.fftpack import rfft, irfft
import np as numpy

rate, input = read('input.wav')

transformed = rfft(input) 

filtered = function_that_does_the_filtering(transformed)
output = irfft(filtered)

write('output.wav', rate, output)

( input,transformed并且output都是 numpy 数组)

于 2012-04-11T08:18:34.757 回答