在处理音频文件的时候,经常会将原音频进行统一的重采样处理,设置为相同的采样率,本示例,就是将44100采样率的音频,重采样为16000.
安装对应的python 库:librosa 和 soundfile.
pip install soundfile
pip install librosa
示例中用到的音频文件下载地址:【免费】音频文件重采样-python实现-示例音频资源-CSDN文库
具体代码实现如下:
# -*- encoding: utf-8 -*-
import librosa
import soundfile as sf
# 音频重采样
def resample_audio(input_path, output_path, new_sample_rate):
# 读取:音频文件
signal, sr = librosa.load(input_path, sr=None)
print("原采样率 sr:{}".format(sr))
print("目标采样率 sr:{}".format(new_sample_rate))
# 重新采样
new_signal = librosa.resample(signal, orig_sr = sr, target_sr = new_sample_rate)
#保存为新的音频文件
sf.write(output_path, new_signal, new_sample_rate)
if __name__ == '__main__':
# input_path = 'test_44100.mp3'
input_path = 'test_44100.wav'
new_sample_rate = 16000 # 16000
output_path = 'out_{}.wav'.format(new_sample_rate)
print("原文件:{}".format(input_path))
resample_audio(input_path, output_path, new_sample_rate)
print('文件已保存到 {}'.format(output_path))
log 如下:
原文件: test_44100.wav
原采样率 sr: 44100
目标采样率 sr: 16000
文件已保存到 out_16000.wav
助力快速掌握数据集的信息和使用方式。