使用Python合并mp3音频文件的最简单方法

想把多个单独的英语单词MP3朗读音频文件合并在一起,开始找的方法一是下载专门的音频编辑合成软件,但是觉得太麻烦。二是使用免费的在线mp3音频合成服务,这种网站免费,使用也很简单。但是需要把文件一个个上传到网站上,还是有点麻烦。关键是我想让每个英语单词阅读 3遍,并帮所有这些单独的单词朗读音频合成为一个完整的文件,方便自己使用。于是就想看看能不能用Python来完成这个任务,经过查询和测试,发现方法非常简单:就是这样用Python的open()文件读写方法,把读取方式设置为二进制格式,然后将读取到的单词音频内容重复写入最后的合并文件3次就行了。这是合并2个单独的单词读音mp3,并将2个单词读音重复3遍的示例代码:

# 1.首先读取第1个mp3音频文件,打开方式为'rb',即二进制只读
with open(r'D:\音频\apple.mp3','rb') as f1:
    c1=f1.read()
# 2.然后读取第2个mp3音频文件,打开方式为'rb',即二进制只读
with open(r'D:\音频\orange.mp3','rb') as f2:
    c2=f2.read()
"""
3. 创建一个新文件,打开方式为'ab',即二进制读写追加,打开的时候文件指针停留在文件末尾,然后新写入的内容插入到文件末尾。这是关键。
"""
with open(r'D:\音频\合成.mp3','ab') as f3:
    f3.write(c1)
    f3.write(c1)
    f3.write(c1)
    f3.write(c2)
    f3.write(c2)
    f3.write(c2)

这里每个文件重复写了3次,所以每次会在原来的mp3末尾增加新音频,实现了每个单词读3遍的效果。

用播放器打开刚才合成的mp3文件,一切正常,实现了将2个单独的单词mp3文件合并在一起,并且每个朗读3遍的功能。

后续还测试发现了另外一个重复单词读音多次的方法,及直接用乘法,然后一次性写入文件。比如我想这段音频重复5遍,我就直接乘以5就好了。

with open(r'D:\音频\合成.mp3','ab') as f3:
    f3.write(c1*5)

这里只是作为一个演示,所以写的比较简单。如果结合os文件操作方法,可以自动实现大批量文件的自动合成,并可以任意重复多次。

不用安装专门的软件,也不用上传到网上,只要在Python里简单的几行代码就可以实现。

你可能感兴趣的:(经验分享,mp3合成,mp3音频合并,音频,Python二进制文件读写,mp3文件)