【发布时间】:2021-11-03 19:50:53
【问题描述】:
我有一系列 wav 文件,我想使用 Pydub 合并并导出为单个 wav。我希望原始文件中的音频在导出文件中的不同时间播放,例如audio_1.wav 中的音频在导出文件中的 time=0 开始,而audio_2.wav 中的音频从 time=5 开始,而不是两者都从 time=0 开始,因为 overlay 函数具有它们。有没有办法做到这一点?下面是我目前用于导入、覆盖和导出音频文件的代码。
from pydub import AudioSegment
audio_1 = AudioSegment.from_file("audio_1.wav",
format="wav")
audio_2 = AudioSegment.from_file("audio_2.wav",
format="wav")
overlay = vln_audio_1.overlay(vla_audio_2)
file_handle = overlay.export("output2.wav", format="wav")
【问题讨论】:
-
你检查过文件中的内容吗?也许第二个文件在开始时有 5 秒的静音,这都是问题。
-
不,这就是我想要的。目前所有文件同时开始,没有静音。
-
也许你应该先在开头添加一些静音。
silence = AudioSegment.silent(duration=5000)和audio_2 = silence + audio_2 -
基于documentation可能需要
overlay(..., position=5000)
标签: python python-3.x audio pydub