当前位置:  开发笔记 > 编程语言 > 正文

Python库无需转码即可修改MP3音频

如何解决《Python库无需转码即可修改MP3音频》经验,为你挑选了2个好方法。

在我开始一个小项目之前,我正在寻找关于mp3格式的一些一般性建议,以确保我没有疯狂追逐.

我对mp3格式内部的理解很少.理想情况下,我正在寻找一个可以抽象出这些细节的库.我更喜欢使用Python(但可以说服不然).

我想以一种相当简单的方式修改一组mp3文件.我对ID3标签不是很感兴趣,而是对音频本身感兴趣.我希望能够删除部分(例如,从第3分钟开始减少10秒),并插入部分(例如,将信用添加到结尾.)

我的理解是mp3格式是有损的,因此将其解码为(例如)PCM格式,进行修改,然后再将其编码为MP3将降低音频质量.(我很想听到我说错了.)

猜想如果我保持mp3格式,将会有某种最小帧或数据包大小来处理,因此操作的粒度可能更粗糙.只要我在几秒钟内获得准确度,我就可以忍受.

我看过PyMedia,但它需要我迁移到PCM来处理数据.同样,LAME希望帮助我编码,但不能访问数据.我见过其他几个只处理ID3标签的库.

任何人都可以推荐一个Python MP3库吗?另外,你能不能理解我的假设,那就是去PCM和背部是坏的和可以避免的?



1> iconoplast..:

如果你想做低级别的事情,请使用pymad.它将MP3转换为样本数据的缓冲区.

如果你想要一些更高级别的东西,请使用Echo Nest Remix API(披露:我为我的dayjob写了部分内容).它包括一些例子.如果你看一下牛铃的例子(即MoreCowbell.dj),你会看到pymad的一个分支,让你一NumPy的阵列,而不是一个缓冲区.该数据类型可以更容易地切出部分并对它们进行数学运算.



2> Oddthinking..:

我得到了三个高质量的答案,我感谢你们所有人(并为所有人提供了支持).我没有选择任何可接受的答案,因为每个都解决了一个方面,所以我想写一个总结.

你需要在MP3工作吗?

转码为PCM并返回MP3不太可能导致质量下降.

不要过早地优化音频质量; 用一个简单的原型测试它并听取它.

使用MP3

维基百科有MP3文件格式的摘要.

MP3帧很短(1152个样本,或者只有几毫秒),允许在该级别获得中等精度.

但是,维基百科警告说"帧不是独立的项目("字节库"),因此不能在任意帧边界上提取."

如果我真的想避免解码,现有的库不太可能有用.

在PCM工作

这个级别有几个库:

LAME(最新发布:2017年10月)

PyMedia(最新发布:2006年2月)

PyMad(仅限Linux?仅解码器?最新版本:2007年1月)

在更高层次上工作

Echo Nest Remix API (目前仅限Mac或Linux)是支持非常复杂操作的Web服务的API(例如,查找音乐节拍和节奏的位置等)

mp3DirectCut(仅限Windows)是一个显然执行我想要的操作的GUI,但是作为一个应用程序.它不是开源的.(我试图运行它,得到一个Access Denied安装程序错误,并没有跟进.一个GUI不适合我,因为我想在不断变化的文件库上重复运行这些操作.)

我的计划现在是从PyMedia开始,使用PCM.谢谢大家的帮助.

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有