簡體   English   中英

增加/降低WAV文件Python的播放速度

[英]Increase/Decrease Play Speed of a WAV file Python

我想用python wave模塊改變某個WAV音頻文件的播放速度(增加或減少)。

我嘗試下面的事情:

  1. 讀取輸入文件的幀率。
  2. 幀速率加倍。
  3. 使用output_wave.setparams()函數編寫具有增加幀速率的新波形文件。

但它沒有成功。

請建議。

提前致謝,

哇!

如果你在增加或減少速度時改變音高,你可以改變采樣率!

使用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()

增加或減少變量Change_RATE

現在,如果你需要保持音高不變,你需要做同樣類型的重疊添加方法!

如果更改采樣頻率,則不會影響可聽回放速度。 你可以使用SoX Sound eXchange,這是瑞士軍刀的音頻操作

python的pySonic庫看一下Song對象的UserSpeed方法。 FMOD聲音庫的pySonic Python包裝器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM