在python中提高组合wav文件的播放速度?

时间:2017-01-10 13:44:59

标签: python audio pydub

我试图使用pydub在python中组合多个wav文件,但输出歌曲的播放速度有点慢于我想要的。所以我提到了这个question并尝试了同样的方法。

import os, glob 
import random
from pydub import AudioSegment 

FRAMERATE = 44100 # The frequency of default wav file 
OUTPUT_FILE = 'MySong/random.wav'

audio_data = [AudioSegment.from_wav(wavfile) 
                for wavfile in glob.glob(os.path.join('wav_files/', '*.wav'))]

my_music = sum([random.choice(audio_data)for i in range(100)])

my_music = my_music.set_frame_rate(FRAMERATE * 4)
my_music.export(OUTPUT_FILE, format='wav') 

但这不起作用。我有什么技术原因没有意识到,或者有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

在不改变音高的情况下增加速度,你需要做一些比改变帧速率更有趣的东西(这将给你一个“花栗鼠”效果)。

如果您正在处理口头语言,您可以尝试使用pydub.silence中的(遗憾的未记录的)函数来消除沉默。

您还可以查看AudioSegment().speedup()这是一次天真的重新取样尝试。您也可以制作该功能的副本并尝试改进它(并回馈到pydub?)