使用 Pydub 在不同的开始时间覆盖 wav 文件

Overlay wav files at different start times using Pydub

我有一系列 wav 文件,我想使用 Pydub 合并并导出为单个 wav。我希望原始文件中的音频在导出文件中的不同时间播放,例如audio_1.wav 中的音频在导出文件中从 time=0 开始,而 audio_2.wav 中的音频从 time=5 开始,而不是像 overlay 函数那样都从 time=0 开始。有什么办法吗?下面是我目前用于导入、叠加和导出音频文件的代码。

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

我没有测试,但基于 documentation 它可能需要 overlay(..., position=5000)


顺便说一句:

你也可以在开头加上silence来移动音频

silence_5_seconds = AudioSegment.silent(duration=5000)

audio_2 = silence_5_seconds + audio_2