1
我想重叠1个wav文件的结尾,并在下一个文件的开始处有20%。像这样,可以覆盖的文件数量是可变的(通常在5-6左右)。Python - 覆盖超过3个WAV文件的端到端
我一直在使用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
存储在每个组合的不同文件中。第一个wave文件是最后一个:它只显示前两个wave文件,而不是整个文件。此外,我预计每个迭代的len(partial_wav)
会逐渐增加。 Hoever,这仍然是第一组合后的相同:
partial_wave : 237
partial_wave : 237
partial_wave : 237
partial_wave : 237
partial_wave : 237
主要问题
如何重叠的wav文件的末尾(约近30%)与下月初进行超过3个波形文件?