Pydub合并目录中的mp3文件

11 投票
2 回答
8239 浏览
提问于 2025-04-27 12:44

我想用pydub把一个文件夹里的所有.mp3文件合并在一起。 这些文件是按顺序编号的,比如file0.mp3、file1.mp3等等。

这是示例代码中的一段:

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

这段代码让我得到了所有的文件,现在我想把它们合并起来,像伪代码那样:

for i in playlist_songs:
    append i to finalfile

有没有办法做到这一点,还是我方法不对呢?

谢谢你的帮助!

暂无标签

2 个回答

3

只需将Python列表中的元素相加:

sum(playlist_songs)
27

你可以先从一个空的声音开始,像这样:

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

撰写回答