1 WAV 파일의 끝을 다음 파일의 시작 부분의 20 %로 겹치려고합니다. 이와 같이, overla (일반적으로 약 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')
을, 나는 마지막 웨이브 파일을 볼 때 목록의 처음 2 개 파일 만 실제로 결합되었고 나머지는 합성되지 않았습니다. 마지막으로 겹쳐진 사운드를 끝내기 위해 니어 엔드의 전체 wav 파일을 마지막으로 포함 할 때까지 partial_wav.wav
을 계속 재 작성했습니다. 이를 디버깅하기 위해 모든 조합에 대해 서로 다른 파일에 new_wave
을 저장했습니다. 첫 번째 웨이브 파일은 마지막 파일입니다. 전체 웨이브 파일 대신 처음 두 웨이브 파일 만 표시됩니다. 또한 모든 반복에 대해 len(partial_wav)
이 점차 증가 할 것으로 예상했습니다.
partial_wave : 237
partial_wave : 237
partial_wave : 237
partial_wave : 237
partial_wave : 237
주요 질문 내가 (마지막 30 %에 대해) 하나 개의 wav 파일의 끝을 겹쳐 어떻게
다음의 시작에와 : Hoever이 첫 번째 조합으로 동일하게 유지 3 개 이상의 웨이브 파일?