7

太赞了!Python竟可以轻松实现音频格式无损转换

 3 years ago
source link: https://my.oschina.net/u/4638454/blog/5068969
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

太赞了!Python竟可以轻松实现音频格式无损转换 - Python研究者的个人空间 - OSCHINA - 中文开源技术交流社区

大家好,我是辰哥

辰哥在平时处理音频格式的时候,需要去下载各种音频处理软件(专业一点的软件还要收费),掌握Python技术的我们,知道Python是万能的(哈哈哈,开个玩笑)。今天辰哥就来教大家用Python去实现音频格式无损转换-pydub

pydub支持音频的各种格式之间进行相互转换。演示效果如下(这里只演示3种格式,下面会介绍各种常用音频格式):

e02b9de9-0912-4341-94cb-0bb6880afdbd.gif

安装pydub库

通过下面的命令安装Python库-pydub

pip install pydub

845a1ff2-36b2-45ea-9397-54d7a2987d1b.png

安装好之后,在Python中引入pydub

from pydub import AudioSegment


介绍常见音频格式

3eb4ce77-ae12-430e-b013-e8fa9c592758.png

图上就是以上几种常见的音频格式,每一种音频都各具特色。下面开始通过程序对音频格式之间进行转换。

1.mp3->wav、ogg、flag等

from pydub import AudioSegment#转化函数方法def trans_mp3_to_wav(filepath,hz):    song = AudioSegment.from_mp3(filepath)    song.export("Python研究者."+str(hz), format=str(hz))### 参数1:音频路径, 参数2:转换后的格式trans_mp3_to_wav("轻音乐.mp3","wav")trans_mp3_to_wav("轻音乐.mp3","ogg")trans_mp3_to_wav("轻音乐.mp3","flac")

转化结果:

7924c59d-46da-4e68-8b38-ccf571174086.png

轻音乐.mp3 转为wav、ogg、flac等格式,并命名为Python研究者。转化后均为无损高音质,没有任何的失真。

2.wav、ogg、flac->mp3

song = AudioSegment.from_wav("Python研究者.wav")song.export("Python研究者_wav-mp3.mp3", format="mp3")song = AudioSegment.from_ogg("Python研究者.ogg")song.export("Python研究者_ogg-mp3.mp3", format="mp3")AudioSegment.from_file("Python研究者.flac")song.export("Python研究者_flac-mp3.mp3", format="mp3")

经过测试,wav、ogg和flac也可以成功损失转换为MP3,证明不同音频格式之间可以直接转换。

2654cbda-3a68-4134-917f-961af6065295.png

这里就只演示了mp3、flac、wav、ogg这四种格式,剩下的其他格式大家可以动手试试,这里就不重复啰嗦了。

最后说一声:原创不易,求给个赞907eafe2-e75d-4189-8b09-03d4157960dc.png、在看b3018a5f-a9f5-4916-bdeb-573aa88b27ba.png、评论ba193427-3db2-4c65-9834-85165ccb0123.png

本文分享自微信公众号 - Python研究者(zyzx3344)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK