跳到主要内容
Convertube

MP3 文件:它怎么工作,以及为什么它还无处不在

MP3 到底丢掉了什么、码率多少才够、为什么一个三十年前的编码在兼容性上仍然赢。在浏览器里转换 MP3,不上传。

速览

类型
音频
压缩
有损
扩展名
.mp3
MIME 类型
audio/mpeg
常见编码
mp3
别称
MPEG-1 Audio Layer III

MP3——严格叫 MPEG-1 Audio Layer III,1993 年标准化——的工作方式是对「人耳注意不到什么」建模。它的心理声学模型会寻找那些在频率上或时间上被邻近更响的声音掩盖掉的成分,然后不为它们花费任何比特。这就是压缩为何如此有效,以及这个过程为何不可逆:被丢弃的信息从来不是舍入误差,而是一个「你不会想念它」的主动决定。

展开说明

后果是代际损失。每一次重新编码,都是把这个模型再一次施加到已经过它一遍的音频上,而第二遍的判断依据是「受损后的结果」而不是原始信号。所以把 MP3 转成更高码率毫无意义;所以正确的流程永远是留一份无损母带,需要新格式时从它重新编码。

MP3 在技术层面早就输了——同码率下 AAC 胜过它,而 Opus 又胜过 AAC,低码率语音上差距尤其大。它赢在无处不在。它的专利在 2017 年到期,而在那之前,硬件解码器已经装进了整整一代汽车、播放器和手机;结果是一个「别的格式碰都碰不了的设备上它能播」的格式。今天转成 MP3 的理由只有这一个,没有别的。

两条实际提醒。码率:普通设备上听音乐,192 kbps 已经足够透明;320 kbps 是值得付的天花板;语音用 128 kbps 甚至更低都可以。以及无缝播放:MP3 的帧是固定大小的,所以编码器会在开头和结尾补padding,这会在本该连续的曲目之间插入一段听得见的间隙。现场专辑和 DJ 混音会受影响;后来设计的格式会携带去掉这段 padding 所需的信息。

把 MP3 转成其他格式

把其他格式转成 MP3

MP3常见问题

该用什么码率?

音乐用 192 kbps,在普通设备上已经透明,也是本站默认值。如果源质量高且不在乎体积,选 320 kbps。语音类内容——播客、讲座、语音备忘录——128 kbps 甚至 96 kbps 就够,文件还小一半。

转成更高的码率能提升音质吗?

不能。第一次编码丢掉的信息不在文件里,所以更高的码率只是用更低的效率存储同样受损的音频。想要更好的音质,请从无损源重新编码。

MP3 比 AAC 或 Opus 差吗?

同码率下确实差——两者都更新更高效,而 Opus 在低码率语音上的优势尤其巨大。MP3 的优势在于:它能在那些从没听说过这些替代品的硬件上播放。

为什么我的曲目之间有间隙?

MP3 的帧是固定大小的,所以编码器会在文件首尾补 padding。如果没有描述这段 padding 的元数据,播放器就会插入一小段静音。这是格式固有的,也是为什么无缝专辑更适合用 AAC 或 FLAC 保存。

转换时标题、艺术家标签会保留吗?

源文件里的标签会带过去,除非你打开「移除元数据」。封面图不一定能保住,因为各格式存放内嵌图片的方式不同。

从哪种源格式转出的 MP3 最好?

无损的——WAV、FLAC 或 AIFF。那些是第一代编码,模型面对的是完整信号。而从 M4A 或视频原声这类有损格式转换,是第二代,代价总是更大。

本站最大能转多大的文件?

音频转音频约 1.4 GB;从视频提取时可到 2 GB,因为输出很小。超过 64 MB 的文件会在原地读取而不是拷进内存,正是这一点让这些上限在一个浏览器标签页里成为可能。

在这里转换会上传我的音频吗?

不会。编码是在你浏览器的后台线程里、通过 ffmpeg 的 WebAssembly 构建完成的。转换前打开网络面板:没有任何请求携带文件。