1

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

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') 

但这行不通。有什么我不知道的技术原因,还是有更好的方法?

4

1 回答 1

0

要在不改变音高的情况下提高速度,您需要做一些比改变帧速率更有趣的事情(这会给您“花栗鼠”效果)。

如果您正在处理口语,您可以尝试使用pydub.silence中的(不幸的是未记录的)函数去除静音。

您还可以查看AudioSegment().speedup()哪个是重采样的幼稚尝试。您还可以复制该功能并尝试改进它(并回馈给 pydub?)

于 2017-01-10T17:20:06.163 回答