通过python自带的librosa库将采样率为48kHz的音频数据转换为8kHz,代码如下。
original_file = r"dukou.wav"#放在py程序同路径
new_file = r"dukou_48k_to_8k.wav"
signal, sr = librosa.load(original_file, sr = None)#如果不设定sr的值,会按照采样率20250进行解析
new_signal = librosa.resample(signal, orig_sr = sr, target_sr = 8000)
soundfile.write(new_file, new_signal, 8000)
注意
在使用load和resample两个方法时,不可将参数写成如下形式,否则会报错误。
signal, sr = librosa.load(original_file, None)
错误log:
TypeError: load() takes 1 positional argument but 2 were given
new_signal = librosa.resample(signal, sr, 8000)
错误log:
TypeError: resample() takes 1 positional argument but 3 were given