【发布时间】:2020-06-29 20:32:30
【问题描述】:
所以我使用 python wave 模块帧速率方法更改了 output.wav 文件的播放速度,并将先前的帧速率乘以 2,但我想保持新 output.wav 的音高相同,因为它听起来很高沥青。怎么做?这是我用于读取和写入 output.wav 的代码的 sn-p。我正在寻找简单的解决方案,尽量避免下载外部库。好的,波库。
谢谢。
import wave
wf = wave.open('output.wav', 'rb')
RATE = wf.getframerate()
signal = wf.readframes(-1)
channels = wf.getnchannels()
width = wf.getsampwidth()
wf.close()
spf = wave.open('output.wav', 'wb')
spf.setnchannels(channels)
spf.setsampwidth(width)
spf.setframerate(RATE*2)
spf.writeframes(signal)
spf.close()
【问题讨论】:
-
真的没有不使用其他库的简单解决方案,除非您认为自己进行数字信号处理很简单。如果可以的话,我建议按照answer 使用橡皮筋。
标签: python audio wav wave pitch