Increase/Decrease Play Speed of a WAV file Python

强颜欢笑 提交于 2019-12-05 14:24:04

WOW!

if you no matter to change the pitch when you increase or decrease the speed, you can just change the sample rate !

Can be very simple using python:

import wave

CHANNELS = 1
swidth = 2
Change_RATE = 2

spf = wave.open('VOZ.wav', 'rb')
RATE=spf.getframerate()
signal = spf.readframes(-1)

wf = wave.open('changed.wav', 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(swidth)
wf.setframerate(RATE*Change_RATE)
wf.writeframes(signal)
wf.close()

increase or decrease the variable Change_RATE !

Now if you need keep the pitch untouched, you need do same type of overlap-add method !

If you change the sampling frequency it has no influence on audiable playback speed. You can play around with this using SoX Sound eXchange, the Swiss Army knife of audio manipulation

There is pySonic library for python look at UserSpeed method of the Song object. pySonic Python wrapper of FMOD Sound library

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!