在Python中组合多个音频文件(有延迟)

时间:2011-01-03 01:00:11

标签: audio

我希望在Python中结合一系列不同的音频文件(mp3)。其中一个要求是我需要能够在每个文件的末尾指定延迟。为了说明,例如:

[file1.mp3 -------- 3秒----------] [延迟--------- 2秒--------] [file2.mp3] ------------- 4秒] [延迟--------- 2秒] [file3.mp3 ---------- 3秒---------]

有没有人知道任何可以实现此目的的mp3库? Python在这里并不是必需品。如果用其他语言更容易,那就没问题。

2 个答案:

答案 0 :(得分:2)

我认为FFmpeg可以做到这一点,给出正确的论据。不需要使用库。

答案 1 :(得分:0)

要结合使用wav或aiff文件,您可以执行以下操作:(来自here的灵感)

import aifc

def concatenate(*items):
    data = []

    for item in items:
        f = aifc.open(item, 'rb')
        data.append([f.getparams(), f.readframes(f.getnframes())])
        f.close()

    output = aifc.open('output.aif', 'wb')
    output.setparams(data[0][0])

    for item in data:
        output.writeframes(item[1])

    output.close()

请参阅wav格式的链接(它几乎相同,但使用波形库)

为了增加沉默,我只需使用你最喜欢的音频编辑器制作一秒静音文件,然后在适当的沉默中连接。