gpt4 book ai didi

Python - 端到端覆盖超过 3 个 WAV 文件

转载 作者:行者123 更新时间:2023-12-01 03:06:05 24 4
gpt4 key购买 nike

我试图将 1 个 wav 文件的末尾与下一个文件的开头的 20% 重叠。像这样,需要覆盖的文件数量可变(通常大约 5-6 个)。

我尝试使用 pydub 实现来扩展以下内容以覆盖 2 个 wav 文件:

from pydub import AudioSegment

sound1 = AudioSegment.from_wav("/path/to/file1.wav")
sound2 = AudioSegment.from_wav("/path/to/file1.wav")

# mix sound2 with sound1, starting at 70% into sound1)
output = sound1.overlay(sound2, position=0.7 * len(sound1))

# save the result
output.export("mixed_sounds.wav", format="wav")

并编写了以下程序:

for i in range(0,len(files_to_combine)-1):
if 'full_wav' in locals():
prev_wav = full_wav
else:
prev = files_to_combine[i]
prev_wav = AudioSegment.from_wav(prev)

next = files_to_combine[i+1]
next_wav = AudioSegment.from_wav(next)

new_wave = prev_wav.overlay(next_wav,position=len(prev_wav) - 0.3 * len(next_wav))
new_wave.export('partial_wav.wav', format='wav')

full_wav = AudioSegment.from_wav('partial_wav.wav')

但是,当我查看最终的波形文件时,实际上仅合并了列表 files_to_combine 中的前 2 个文件,而不是其余文件。这个想法是不断重写 partial_wav.wav 直到它最终包含近端到端重叠声音的完整 wav 文件。为了调试这个问题,我将每个组合的 new_wave 存储在不同的文件中。第一个波形文件是最后一个:它仅显示组合的前 2 个波形文件,而不是整个文件。此外,我预计每次迭代的 len(partial_wav) 都会逐渐增加。然而,在第一次组合后,这仍然保持不变:

partial_wave : 237
partial_wave : 237
partial_wave : 237
partial_wave : 237
partial_wave : 237

主要问题

对于 3 个以上的波形文件,如何将一个 wav 文件的结尾(大约最后 30%)与下一个 wav 文件的开头重叠?

最佳答案

我相信您可以继续级联音频片段,直到您的最终片段如下。

工作代码:

from pydub import AudioSegment
from pydub.playback import play

sound1 = AudioSegment.from_wav("SineWave_440Hz.wav")
sound2 = AudioSegment.from_wav("SineWave_150Hz.wav")
sound3 = AudioSegment.from_wav("SineWave_660Hz.wav")


# mix sound2 with sound1, starting at 70% into sound1)
tmpsound = sound1.overlay(sound2, position=0.7 * len(sound1))


# mix sound3 with sound1+sound2, starting at 30% into sound1+sound2)
output = tmpsound .overlay(sound3, position=0.3 * len(tmpsound))

play(output)
output.export("mixed_sounds.wav", format="wav")

关于Python - 端到端覆盖超过 3 个 WAV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43406129/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com