在 Python 中组合多个音频文件(有延迟)
Posted
技术标签:
【中文标题】在 Python 中组合多个音频文件(有延迟)【英文标题】:Combining multiple audio files in Python (with delay) 【发布时间】:2011-01-03 01:00:11 【问题描述】:我希望在 Python 中组合一系列不同的音频文件 (mp3)。要求之一是我需要能够在每个文件的末尾指定延迟。为了说明,类似:
[file1.mp3--------3秒---------][延迟---------2秒--------] [file2.mp3]-------------4 秒][延迟---------2 秒][file3.mp3----------3秒---------]
这里有没有人知道可以做到这一点的任何 mp3 库? Python在这里并不是真正的必需品。如果用另一种语言会更容易,那就没问题了。
【问题讨论】:
【参考方案1】:我认为FFmpeg 可以做到这一点,只要有正确的论点。不需要真正使用库。
【讨论】:
我还需要做其他事情(例如解析、重命名文件、根据音频文件的长度动态改变延迟等)。【参考方案2】:要合并 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 格式的链接(几乎相同,但使用 wave 库)
要添加静音,我只需使用您最喜欢的音频编辑器制作一秒钟的静音文件,然后以适当的静音连接。
【讨论】:
以上是关于在 Python 中组合多个音频文件(有延迟)的主要内容,如果未能解决你的问题,请参考以下文章
如何使用python将长音频(EX:1小时)文件拆分为多个短长度(5s)音频文件