Pydub - How to change frame rate without changing playback speed

Daniel Möller picture Daniel Möller · May 17, 2017 · Viewed 7.5k times · Source

I have a couple audio files that I open in Pydub with AudioSegment.

I want to decrease the audio quality from frame rate 22050 to 16000 Hz. (One channel files)

If I simply change the frame rate of AudioSegment, what I get is the exact same wave played in slower speed. Well, fair enough.

But how do I actually change the waves to fit a lower quality, same speed playback?

(Manual interpolation is the only thing I can think of, but I don't want to get into that trouble)

Answer

Jiaaro picture Jiaaro · May 19, 2017

You can use:

sound = AudioSegment.from_file(…)
sound = sound.set_frame_rate(16000)