大家都知道声音是一种机械波,通过空气之类的介质传播到我们的耳朵里,通过耳膜的振动传递给听觉系统,最终传递到大脑。

声音的三要素

学过初中物理的都知道声音的组成有三要素,这三要素确定了,声音就是一致的。

1
2
3
音调由声波的频率决定,频率越高音调越高。(波形有很密集的波动,人耳能听到的频率在 20Hz-20000Hz)
响度由声波的振幅决定,振幅越高响度越大。(波形很大的起伏)
音色是由波形的形状决定的。方波的声音听起来像是“嗒——”;三角波的声音听起来像是“嘟——”。而歌手的音色也是由这种形决定的。

从喉咙到电脑

众所周知,计算机是通过电平高低存储 01 数据的,而这种数据有个很明显的特征就是–离散性。了解三要素后,不难发现三要素在计算机中是非常好建模的。只需要记录每个时间点的振幅就能粗略还原一个波。就像这样
数字化音频

采样率

但是这种离散的信号与原始的波形相比明显丢失了很多信息,这就需要不断提高采样率(也就是一秒钟采集多少次数据,也就是我们常说的曲线就是无数的点组成的),理论上采样率越高,波就能越精准的还原。但是这显然是不现实的,但是我们能否找到一个采样频率用于生成足够好的数字呈现效果?答案是肯定的。我们称其为尼奎斯特频率(Nyquist frequency)。

1927 年,奈奎斯特确定了如果对某一带宽的有限时间连续信号(模拟信号)进行抽样,且在抽样率达到一定数值时,根据这些抽样值可以在接收端准确地恢复原信号。为不使原波形产生“半波损失”,采样率至少应为信号最高频率的两倍,这就是著名的奈奎斯特采样定理。奈奎斯特 1928 年发表了《电报传输理论的一定论题》。因此为了能使得满足人耳可听最高频率,需要有至少 40000Hz 的采样率。使用 CD 录制的音频采样率为 44.1kHz,这就意味着能捕捉到的最大频率为 22.05kHz,刚刚高过人耳能够识别的频率范围(20kHz)。

然而这只是理论上的理想情况,现实是如今越来越多的高采样率也说明了对声音处理的细腻程度越来越高,越来越精密。

位深

位深描述的是用来存储采样点 y 值(振幅)所使用的二进制位个数。位深常见的有 8bit、16bit 和 24bit 等,当然最常见的还是 16bit。如 8bit 的位深最多能记录 2 的 8 次方-1=255 个幅值。这有什么影响呢,因为在采样的时候并不会获取到一个明确的数值,因此需要人量化这个幅值,所以位深便代表了采样的精度。(如理论上采样到 1.5 的幅值却把它因为精度不够量化成 1 便会损失音频信息)。

声道

由于现在立体声的普及,单声道乃至双声道不再满足我们的日常需求,所以音频会分声道进行合并。

码率(比特率)

知道了上面那些,这会可以来说这个经常被听到的词:码率。码率是指在音频文件中,每秒钟传输或存储的音频数据量的度量。这个参数反映了音频数据的压缩程度(后面会说),从而影响音频文件的音质和文件大小。按照上述方法采样所得的文件大小不难看出一份音频文件的内容应该=声道数 x 采样率(Hz) x 位深(bit)的二进制位。按照 CD 的采样率(44.1KHz/16Bit),单声道的比特率在 44100x16x1=705600bit/s 也就是 705kb/s,而通常我们的蓝牙耳机起码也是双声道的,也就是需要约 1.4Mb/s 的传输速率(这基本是达不到的)。

电脑存储

由上述的采样得到的一份文件,这样的采样过程叫做脉冲编码调制(PCM)。在 windows 计算机里通常是以.wav 为后缀的文件。也是最接近元声音的文件。按照上面的 CD 码率进行一个双声道的采集,一首三分钟的歌曲便可以计算出来需要约 3x60x1.4Mb/8=31.5MB 的存储空间。

音频压缩

31.5MB 一首歌,对于现在的存储成本来说好像还可以,但是考虑在网络上分发其实是不利的。这就得考虑对音频的压缩了。

提到压缩就要说到编码与解码,编码方式有很多,如采用有损压缩的,也就是通过算法删掉一部分人耳不敏感的声音(当然删掉哪部分全是工程师说了算),常见的有

  1. MP3(MPEG Audio Layer III): 最常见的有损压缩格式之一,去除音频中的一些数据以减小文件大小。可调整压缩比例以平衡文件大小和音质。
  2. AAC(Advanced Audio Coding): 类似于 MP3,但相同文件大小下通常提供更好的音质,有着最高的压缩比。
  3. OGG Vorbis: 一个开放、免费的有损压缩格式,通常用于互联网上的音频流。
  4. WMA(Windows Media Audio): 由微软开发的有损压缩格式,常用于 Windows 平台。

说完有损编码,再来说说无损编码。所谓无损编码就是不丢失任何源音源的细节,常见的编码方式有

  1. FLAC(Free Lossless Audio Codec): 无损压缩格式,可以保持音频质量完全不变,但文件大小相对较小。
  2. ALAC(Apple Lossless Audio Codec): 由苹果开发的无损压缩格式,用于 iTunes 和 iOS 设备。
  3. APE(Monkey’s Audio):一种无损压缩格式,提供了更高的压缩比,但通常不太流行。

音频传输

音频压缩完了,可以在互联网上传输了,下载到手机里可以各种播放了。然而这个时候,蓝牙耳机跑出来说:且慢!还要过我这关。怎么回事呢,就拿 CD 级音质来说,对于现在的存储成本来说好像还可以,但是对蓝牙耳机这种近场低速通信是无法满足 1.4Mb/s 这样的比特率的,最新的蓝牙 5.0 的理论最大传输速度也就 2.0Mbps,实际的传输速率可能会受到设备和环境条件的影响而有所不同。例如,障碍物、干扰和设备之间的距离都可能影响蓝牙的性能。假设压缩后的音频比特率也比较低,手机和耳机的蓝牙通信速率也够,还需要满足低延时的使用需求(不能让用户看个视频,音画不同步),这就对小小的蓝牙耳机里的芯片的解码速度提出了要求。

蓝牙对音频的处理逻辑

蓝牙耳机音频的传输过程
目前的蓝牙设备在无线传输的过程都离不开名为 A2DP 的音频发送配置协议。但即便在蓝牙技术已经升级到 5.2 技术的情况下,A2DP 协议也依旧没有得到升级。庆幸的是支持厂商去扩展,厂商可以在蓝牙协议里实现自己的编码方案。在这一协议下,目前有两种比较常见的编码有 SBC 和 AAC。

蓝牙的音频编码

  1. SBC

    SBC 全称 Subband Coding,子带编码。SBC 是专为蓝牙设计的音频编码,复杂度低,可在中等比特率下实现较高音频质量。SBC 编码规格是蓝牙协议的一部分,所有的经典蓝牙(Classic Bluetooth,区别于 BLE -Bluetooth Low Energy) 都支持 SBC,保证了所有蓝牙设备的语音互联互通。也就是说,所有支持经典蓝牙的手机和耳机都至少可以使用 SBC 编码互相传输音频。对于其他音频编码,则需要手机和耳机的同时支持,如不满足,那还是使用 SBC 编码。

  2. AAC

    AAC 全称 Advanced Audio Coding,高级音频编码,1997 年诞生,基于 MPEG-2 技术。2000 年在 MPEG-4 基础上更新。

    AAC 在蓝牙中常用的比特率是 256Kbps。即使使用 AAC 音频源,蓝牙并不能直接传输其原数据流,而是先将 AAC 解码成 PCM,然后再编码成蓝牙支持的 AAC 编码再传输。应用上,AAC 编码最大的支持者是苹果,iPhone、iPad 和 AirPods 等设备都支持 AAC,iTunes 软件里的音乐很多也是以 AAC 编码格式存储的。

    值得一提的是目前在售的 AirPods 以及 Beats 系列蓝牙耳机中,无一不是采用的 AAC 蓝牙音频编码。所以即使用 iPhone 播放无损音乐,使用苹果家的耳机都会被有损压缩。其中的限制因素就是目前的蓝牙音频传输技术以及苹果没有相应的符合要求的蓝牙音频编码。为了更好的传输效率,SBC 编码的码率较低,压缩率较高,损失了细节,音质也一般;而 AAC 编码得益于 PNS、SBR 技术的引入,在相同的码率下,能还原更多的数据和细节,实际音质听感、延迟都优于 SBC 编码。

  3. aptX

    aptX 是一种基于子带 ADPCM(SB-ADPCM)技术的数字音频压缩算法,最早由 Stephen Smyth 博士与上世纪 80 年代提出,后由 CSR 公司进一步发展,并命名为 aptX。本质上,aptX 和上面 SBC、AAC 一样,也是一种音频编码格式,但是因为其低延时性,渐渐在蓝牙传输领域表现出其出色的一面。此后,CSR 被高通收购,所以如今看到宣传的时候,往往会写作 Qualcomm aptX。并且得益于高通的大力宣传,aptX 在安卓手机里面得到了大力的推广。aptX LL,即 aptx Low Latency,它的主要特点就是低延时,延迟可以达到 40ms 以下,而人耳可以感受到的延迟极限是 70ms,能够达到 40ms 基本就等于感觉不到延迟。这样的特点,对于玩游戏、看视频来说是相当有利的。

    aptX HD 则主打高清音频,它基于经典 aptX 增加了通道,支持 24bit 48KHz 的音频格式,传输速率大幅增加,并且有着更低的信噪比和更少的失真,提供“优于 CD”的聆听体验,可以让你在使用无线蓝牙设备的时候,也能享受无与伦比的聆听体验。

    而 aptX Adaptive,就如同它名字一样,自适应,集成了 aptX LL 与 aptX HD,可以按需自动进行切换。

  4. LDAC

    LDAC 是由索尼推出的无线音频编码技术,在 2015 年 CES 展上亮相,索尼非常粗暴地提高了信道,传输速率最高可达 990kbps,相比 SBC 编码高出三倍多,可以说是目前无线传输中最接近无损编码的方式。

    SONY官网LDAC对比图
    通过官方对比图也可以看到,Hi-Res 音频经过 LDAC 的传输,还可以较好的还原高音质,而如果通过 SBC 传输,结果自然是惨不忍睹。2017 年,从安卓 8.0 开始, LDAC 加入了安卓开放源代码项目,以后安卓用户也可以用上原本索尼专属的技术了,不过使用 LADC 解码器(耳机侧)还需要索尼的专利授权。

  5. LHDC

    LHDC 全称 Low-Latency Hi-Definition Audio Codec,是一种高音质蓝牙编解码方案,由台湾厂商 Savitech 盛微先进科技开发。LHDC 支持通过速度最高达 900kbps 的蓝牙连接传输 24bit/96kHz 的串流音频(也称高解析度音频)。与 LDAC 会先把原始音频进行升/降频到 24bit/96kHz 不同,LHDC 则可依照原始取样率输出,减少 SRC 过程的延迟。2019 年 9 月,LHDC 通过了 JRS 的 Hi-Res Audio Wireless 标准认证。 LHDC 根据信号情况支持 400/560/900 kbps 的比特率。此外还有低延迟音频编解码器(LLAC)版本,也称为 LHDC LL,端到端延迟约为 30 毫秒。安卓 10 开始,LDAC 加入了安卓开放源代码项目。

音频认证

  1. Hi-Res Audio 认证标准

    Hi-Res Audio 全称为 High-Resolution Audio,一般翻译为高解析度音频,最开始是音乐和音响设备商的营销术语,通常表示指比 CD 音质更好(采样率高于 44.1KHz 或位深高于 16bit)的音频。

    2014 年,日本电子信息技术产业协会(Japan Electronics and Information Technology Industries Association, JEITA)定义了 Hi-Res Audio 术语,含义为一种采样频率或量化位数超过 CD 规范的音频。

    日本音响学会(Japan Audio Society, JAS)根据 JEITA 的定义,提出了 “Hi-Res Audio”认证标准,要求麦克风,放大电路与喇叭的频响大于 40KHz,数字过程都需要 96KHz/24bit 及以上的规格,是针对产品的一系列规定。对于无线产品,还要附加满足其他条件,比如必须使用 JAS 认定的音频编码,目前只有 LDAC 和 LHDC 两种。

  2. HWA 认证标准

    HWA 的全称是 Hi-Res Wireless Audio,中文是高清无线音频。它是一项基于 LHDC 音频编码技术的认证标准,并非蓝牙音频编码。其性质与日本音响协会(JAS)所主导的 Hi-Res Audio Wireless 标准是相同的。由于 HWA 有点像 Huawei audio 的缩写,很多人误以为是华为的音频协议,这是错误的。HWA 也代指 HWA 联盟,全称为高清音频无线传输标准与产业联盟,成立于 2018 年 9 月。HWA 联盟是由华为与中国音响协会主导,华为是手机端的技术推广者以及联盟核心成员,但并非技术主导。技术主导是台湾厂商 Savitech 盛微先进科技。

蓝牙耳机的选择

看了这么多,不难看出,蓝牙耳机的挑选,第一步就是要看自己的手机或者传输源支持哪些音频编码。安卓由于其开源性,基本是支持市面上大部分编码方案。为什么播放端的厂商会无偿把协议提供给安卓呢,因为厂商辛辛苦苦自研的编码协议,只在自己的播放端实现解码那是没用的,传输源也需要支持,而安卓是开源的,这部分支持是十分容易的并不会有任何冲突。而对于不开源的苹果,不仅要应对利益的谈判,而且还要去面对苹果家的生态,可谓是吃力不讨好。

第二步,就是去购买相应的播放设备了。比如想要 Hi-Res 的可以去买索尼的支持 LDAC 的设备或者华为的支持 LHDC 的设备。

播放

经过了重重关口,设备终于可以播放音乐了,通过介质传递给耳膜,通过耳膜的振动传递给听觉系统。