如何对正在使用 wavfile.read 读取的 .wav 声音文件重新采样?

How to resample a .wav sound file which is being read using the wavfile.read?

我想更改以下两行代码:

clip, sample_rate = librosa.load(file_name)
clip = librosa.resample(clip, sample_rate, 2000)

我想使用 wavfile.read() 而不是 librosa.load() 加载 .wav 文件,然后使用 libroa.resample().[=16= 以外的其他技术对其重新采样]

知道怎么做吗?

伙计们,答案在这里!以下解决方案对我有用。

from scipy.io import wavfile
import scipy.signal as sps
from io import BytesIO

new_rate = 2000
# Read file
sample_rate, clip = wavfile.read(BytesIO(file_name))
       
# Resample data
number_of_samples = round(len(clip) * float(new_rate) / sample_rate)
clip = sps.resample(clip, number_of_samples)