两种方法实现
方法1: 借助librosa音频库
方法2: 借助ffmpeg-python库
方法1 代码如下
import librosa
num = 2
audio, sr = librosa.load(f'audio.wav', sr=None)
print(type(audio), audio.dtype)
print(f'sr: {sr}')
audio_24k = librosa.resample(audio, sr, 24000)
print(audio.shape, audio_24k.shape)
librosa.output.write_wav(f'audio.24000.wav', audio_24k, 24000)
print('*'*150)
audio2, sr2 = librosa.load(f'audio.24000.wav', sr=None)
print(audio2.shape)
print(f'----sr2: {sr2}')
方法2 代码如下
import ffmpeg
num = 2
wave_path = f'audio.wav'
wave_file = wave.open(wave_path)
sr = wave_file.getframerate()
print(f'before sr: {sr}')
save_path = f'audio.24000.wav'
ffmpeg.input(wave_path).output(str(save_path), ar=24000).run()
# audio, sr = librosa.load(f'audio.wav')
wave_file = wave.open(save_path)
sr = wave_file.getframerate()
print(f'later sr: {sr}')