音频格式–MP3格式介绍


发展背景MP3 技术的起源在 Hans Musmann 教授的一篇论文中进行了全面描述。在 80 年代末和 1990 年代初由德国弗劳恩霍夫协会的一组工程师在 Karlheinz Brandenburg 的领导下开始研究数字音乐压缩,专注于人们如何感知音乐该项目的目标是创建一种数字音频格式,可以将其压缩到比现有格式小得多的大小,而不会牺牲太多音质。

MP3 格式使用一种称为感知编码的技术来实现这一目标。感知编码利用了人耳对所有声音频率的敏感度不同这一事实。通过去除听不见的频率,MP3 格式可以在不显着影响音质的情况下减小音频文件的大小。

Suzanne Vega的歌曲“ Tom’s Diner ”是 Karlheinz Brandenburg 用来开发 MP3 格式的第一首歌曲。MP3 格式于 1991 年首次发布,并迅速成为世界上最流行的数字音频格式。现在有数百万人使用它来存储和收听音乐、播客和其他音频文件。

MP3 格式的发展对音乐产业产生了重大影响。它使在线分发音乐成为可能,这导致了 iTunes 和 Spotify 等数字音乐商店和服务的兴起。MP3 格式还使创建便携式音乐播放器成为可能,如 iPod,彻底改变了人们听音乐的方式。

MP3 格式至今仍在广泛使用,尽管它已被 AAC 和 FLAC 等较新的格式所取代。这是因为 MP3 格式是一种行之有效且得到广泛支持的格式,可以在音质和文件大小之间实现良好的平衡。

以下是 MP3 格式的一些主要功能:

  • 高压缩比:MP3 文件可以压缩到比未压缩的音频文件小得多的大小,而不会牺牲太多音质。
  • 广泛的兼容性:MP3 文件与多种设备兼容,包括计算机、智能手机和 MP3 播放器。
  • 良好的音质:MP3 文件提供良好的音质,即使以高比率压缩也是如此。
  • 开放格式:MP3 格式是一种开放格式,这意味着它不受任何一家公司控制。这使它成为一种比专有格式更实惠、更易于访问的格式。

MP3 格式对我们听音乐的方式产生了重大影响。它使在各种设备上存储和收听音乐成为可能,并有助于使数字音乐更加实惠和易于访问。

文件结构

音频格式--MP3格式介绍

MP3 文件格式是一种包含音频数据和元数据的容器格式。音频数据以 MPEG-1 Layer III 音频帧的形式存储,元数据存储在 ID3 标签中。

音频格式--MP3格式介绍

帧头 FRAMEHEADER 格式如下:AAAAAAAA AAABBCCD EEEEFFGH IIJJKLMM

音频格式--MP3格式介绍

比特率

零值表示“自由格式”条件,其中可以使用不需要在列表中的固定比特率。固定意味着一个帧包含 N 个或 N+1 个时隙,这取决于填充位的值。比特率索引是表的索引,对于不同的层是不同的。

“free” 表示免费格式。如果正确的固定比特率(此类文件不能使用可变比特率)与下表中显示的不同,则必须由应用程序确定。“bad”意味着这不是一个允许的值。

音频格式--MP3格式介绍

对于 Layer II,有一些比特率和模式的组合是不允许的。这是允许的组合列表。

音频格式--MP3格式介绍

MPEG 文件可能具有可变比特率 (VBR)。这意味着文件中的比特率可能会改变。我了解了两种使用的方法:

  • 比特率切换。每个帧都可以用不同的比特率创建。它可以用于所有层。Layer III 解码器必须支持这种方法。Layer I & II 解码器可能支持它。
  • bit reservoir。可以从之前的帧中借用(在限制范围内)比特率,以便为输入信号的要求部分提供更多比特。但是,这会导致帧不再独立,这意味着您不应剪切此文件。这仅在第 III 层中受支持

音频格式--MP3格式介绍

Xing

Xing MP3 编码器是由 Xing Technology Corporation 开发的免费开源 MP3 编码器。它于 1995 年首次发布,是最古老和最受欢迎的 MP3 编码器之一。Xing MP3 编码器以其速度和兼容性着称,可用于为各种设备和应用程序编码音频文件,一款功能强大且用途广泛的工具,可用于为各种目的对音频文件进行编码。对于正在寻找快速且兼容的 MP3 编码器的用户来说,这是一个不错的选择。

Xing MP3 编码器使用专有算法,旨在实现速度和质量之间的良好平衡。以下是 Xing MP3 编码器的一些功能:

  • 编码速度快
  • 优质音频
  • 与各种设备和应用程序的兼容性
  • 免费和开源软件

XING Header

XING Header的起始位置,相对于第一帧帧头的位置,单位是字节

  • 36-39 “Xing” 文件为MPEG1并且不是单声道(大多数VBR的mp3文件都是如此)
  • 21-24 “Xing” 文件为MPEG1并且是单声道
  • 21-24 “Xing” 文件为MPEG2并且不是单声道
  • 13-16 “Xing” 文件为MPEG2并且是单声道

音频格式--MP3格式介绍

LAME

LAME 是一种免费的开源软件编码器,可将数字音频转换为 MP3 音频编码格式。它于 1998 年由 Mike Cheng 首次发布,此后一直由开发团队维护。LAME 被认为是最好的 MP3 编码器之一,并被许多流行的音频播放器和编码器使用。

LAME 在许多方面改变了 MP3 的发展进程:

  • 首先,它让更广泛的用户更容易获得 MP3 编码。LAME 可用于多种平台,并且可以在大多数计算机上编译和安装。这使得任何人都可以创建自己的 MP3 文件,而无需购买昂贵的软件。
  • 其次,LAME 提高了 MP3 文件的质量。LAME 使用多种先进技术在不牺牲质量的情况下减小音频文件的大小。这使得创建听起来与 CD 一样好甚至更好的 MP3 文件成为可能,同时占用更少的空间。
  • 第三,LAME 使 MP3 编码更加高效。LAME 是最快的 MP3 编码器之一。这使得快速编码音频文件成为可能,而无需等待很长时间。

LAME 以多种方式提高 MP3 文件的质量,使用多种先进技术在不牺牲质量的情况下减小音频文件的大小。 这些技术包括:

心理声学建模:LAME 使用心理声学模型 GPSYCHO 来预测音频信号的哪些部分对人类听觉最重要。这允许 LAME 去除信号中不太重要的部分,而不影响音频的整体质量。GPSYCHO 增加了中/侧立体声、真实比特储存器控制、大大改进的临界频带比特分配例程、可变比特率(可选)和非常好的预回声控制。在 128kbs 时,质量明显优于 ISO psy 模型(几乎所有其他免费编码器中都有)产生的质量

频率掩蔽:LAME 使用频率掩蔽来减少需要存储的数据量。频率掩蔽是当其他频率存在时耳朵对某些频率不太敏感的现象。LAME 通过仅存储对人类听力最重要的频率的数据来利用这种现象。

量化:LAME 使用量化来减少每个样本需要存储的位数。量化是将数字四舍五入到一定位数的过程。LAME 使用量化来减少每个样本需要存储的位数,而不影响音频的整体质量。

除了这些技术之外,LAME 还使用许多其他技术来提高 MP3 文件的质量。这些技术包括:

纠错:LAME 使用纠错来减少传输或存储过程中发生错误的机会。

VBR 编码:LAME 支持 VBR 编码,它允许您控制音频的质量。使用 VBR 编码,您可以选择牺牲质量以获得更小的文件大小,或者牺牲文件大小以获得更好的质量。

编解码算法

MP3 编解码器算法工作原理是利用人耳对所有声音频率的敏感度不同这一事实。通过去除听不见的频率,MP3 编解码器可以在不显着影响音质的情况下减小音频文件的大小。

音频格式--MP3格式介绍

MP3编解码算法分为四个主要步骤:

Frame splitting:音频信号被分成小帧,每个小帧长 1152 个样本。

频率变换:使用改进的离散余弦变换 (MDCT) 将每个帧中的样本变换到频域。

量化:频率系数被量化,这意味着它们被四舍五入到一定的比特数。用于量化的位数决定了音频的质量。

熵编码:量化的频率系数使用熵编码进行编码,这是一种利用数据的统计特性来压缩数据的技术。

然后将压缩的音频数据存储在 MP3 文件中。

MP3的大概内容先整理这些,其他部分后续文章中会深入介绍。

参考文献

http://mpgedit.org/mpgedit/mpeg_format/MP3Format.html

http://mpgedit.org/mpgedit/mpeg_format/mpeghdr.htm

http://www.multiweb.cz/twoinches/mp3inside.htm

http://blog.chinaunix.net/uid-20792001-id-1841011.html

https://cloud.tencent.com/developer/article/1006224

http://www.mp3-tech.org/programmer/decoding.html

https://lame.sourceforge.io/index.php

https://teslabs.com/openplayer/docs/docs/specs/mp3_structure2.pdf

https://lame.sourceforge.io/download/samples/

作者信息:我是一枚爱跑步的程序猿,维护公众号和知乎专栏《MediaStack》,有兴趣可以关注,一起学习音视频知识,时不时分享实战经验。

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

  • 音频文件格式–M4A格式介绍

    背景介绍 M4A 文件格式是使用 AAC(高级音频编码)创建的音频文件,称为有损压缩。M4A 一词缩写为 MPEG 4 音频。这些音频文件通常具有 .m4a 文件扩展名。对于未受保…

    2024年1月3日
  • 音频文件格式–MP3 代码走读

    上一篇《音频格式–MP3格式介绍》我们大概了解了MP3的发展历程,文件结构和关键点等内容,本文我们在FFMPEG中进行代码走读,更加全面和深入的学习和掌握MP3。 FFPlay&n…

    2023年7月14日
  • 音频文件格式–OGG介绍

    OGG介绍 Ogg 是一种免费、开放且免版税的数字音频和视频容器格式。它由 Xiph.org 基金会开发,用于多种用途,包括流式音频和视频、播客和存档。Ogg 文件使用 Vorbi…

    2023年7月25日
  • 音频文件PCM代码走读

    紧接上篇文章音频格式PCM介绍,本文介绍PCM代码相关内容,废话不多说,干活奉上。 PCM采集 首先需要了解模拟信号采集过程。通过ADC(模数转换器)将模拟信号转换成数字信号。然后…

    2023年6月9日
  • 音频格式PCM介绍

    PCM指的是脉冲编码调制(Pulse Code Modulation),是一种数字信号处理技术,将由波形表示的模拟音频信号转换为由1和0表示的数字音频信号。这个过程涉及对模拟信号进…

    2023年6月2日
  • 音频文件格式 Vorbis 编解码

    上一篇介绍了OGG音频文件格式,其中涉及到Vorbis编解码,有网友反馈需要介绍一下,所以就查找了一些资料,本文做一下相关内容介绍。 Vorbis 介绍 Ogg Vorbis 是由…

    2023年8月1日

发表回复

登录后才能评论