2014-10-14 3 views
1

Я хотел бы объединить все .mp3s в одном каталоге с pydub. файлы нумеруются последовательно file0.mp3, file1.mp3 и т.д.Pydub concatenate mp3 в каталоге

этот код из примера кода:

playlist_songs = [AudioSegment.from_mp3(mp3_file) for mp3_file in glob("*.mp3")] 

дает мне все файлы, и теперь я хотел бы конкатенации, как в псевдокоде:

for i in playlist_songs: 
    append i to finalfile 

Есть ли способ достичь этого или я приближаюсь к нему неправильно?

Спасибо за помощь!

ответ

2

вы можете начать с пустым звуком, как так:

combined = AudioSegment.empty() 
for song in playlist_songs: 
    combined += song 

combined.export("/path/to/output.mp3", format="mp3") 

или если вы хотите, чтобы получить немного фантазии и использовать в течение 5 секунд кроссфейдов вы должны совать первую песню из списка

combined = playlist_songs[0] 

for song in playlist_songs[1:]: 
    combined = combined.append(song, crossfade=5000) 

combined.export("/path/to/output.mp3", format="mp3")