pythonでwavファイルのサンプリング周波数を変換する方法を記述します。
使うライブラリは「librosa」と「PySoundFile」なのでインストールします。
この記事は以下のバージョンでの実装を記述しています。
$ pip install librosa==0.8.0
$ pip install PySoundFile==0.9.0.post1
以下のように記述すると、48kHzのinput.wavを24kHzのoutput.wavとして出力できます。down samplingでもup samplingでも大丈夫です。
import librosa
import soundfile as sf
orig_sr = 48000
target_sr = 24000
wav, _ = librosa.load('input.wav', sr=orig_sr)
resampled_wav = librosa.resample(wav, orig_sr, target_sr)
sf.write('output.wav', resampled_wav, target_sr, 'PCM_16')