summaryrefslogtreecommitdiff
path: root/content/article/got-flac.md
diff options
context:
space:
mode:
authoreltrac <hi@eltr.ac>2026-04-07 23:06:04 +0800
committereltrac <hi@eltr.ac>2026-04-07 23:06:04 +0800
commit9d5def3f34f7221dd12edb8cb7cdc9d59fc89a1f (patch)
treee2bb158c39685acc4afb3eb2457eac37daae6e0d /content/article/got-flac.md
parentda7e16f93ac570063e1043cb4d081c5f0969766a (diff)
[image] migrate from cloudflare R2 to bunny.net
Diffstat (limited to 'content/article/got-flac.md')
-rw-r--r--content/article/got-flac.md8
1 files changed, 4 insertions, 4 deletions
diff --git a/content/article/got-flac.md b/content/article/got-flac.md
index d762754b..c9c25c89 100644
--- a/content/article/got-flac.md
+++ b/content/article/got-flac.md
@@ -102,7 +102,7 @@ FLAC 作为自由的开源项目,不仅包含对 FLAC 音频格式的规格制
这听起来还是很抽象,让我画个图。
-![音频进入编码器,被编码器编码为音频文件;音频文件进入解码器,被解码为音频。](https://r2.eltr.ac/geedeapro/article/got-flac/how-audio-is-made.png "音频 → 编码器 → 音频文件 → 解码器 → 音频")
+![音频进入编码器,被编码器编码为音频文件;音频文件进入解码器,被解码为音频。](https://img.eltr.ac/geedeapro/article/got-flac/how-audio-is-made.png "音频 → 编码器 → 音频文件 → 解码器 → 音频")
{.dark:invert}
需要注意,这里的音频并非是物理世界的声波,而是经过**脉冲编码调制**(PCM)转化成的数字信号,是对模拟信号的编码。PCM 就是用比特(0 和 1)表示音频的方法,可以理解为声波在数字世界的一比一复刻(当然实际上不是 100% 精确的)。PCM 比特被输入到编码器中,得到了特定格式的音频文件,音频文件再作为解码器的输入被解码,解码的结果就是 PCM 比特。
@@ -135,7 +135,7 @@ FLAC 并不是唯一的无损压缩格式,苹果有开发名为 Apple Lossless
现实中的声波是模拟信号,通常表示为光滑、不断变化的曲线。PCM 做的就是每隔一段时间取一次声波的振幅,并将这次测量结果表示为二进制数,连起来就得到了数字信号,如下图所示。
-![A、B 是两个波形图,A 图上有非常频繁出现的点,B 图上的点则相对稀疏,每个点都表示一次采样。](https://r2.eltr.ac/geedeapro/article/got-flac/sample-rate.jpg "A 的采样率要高于 B 的采样率。")
+![A、B 是两个波形图,A 图上有非常频繁出现的点,B 图上的点则相对稀疏,每个点都表示一次采样。](https://img.eltr.ac/geedeapro/article/got-flac/sample-rate.jpg "A 的采样率要高于 B 的采样率。")
{.dark:invert}
采样的频率就是采样率,单位是 kHz(千赫兹),也就是每秒采样几千次。ALAC 支持的最高采样率为 384 kHz,如果采样率更高就无法承受了;而 FLAC 支持的最高采样率为 1.048 MHz[^6]。尽管大部分音乐播放器不一定支持这么高的采样率,音频本身的采样率也很少超过 100 kHz(我下载的音乐有不少采样率都只有 44.1kHz,听感依然很好),但…… 为什么不选一个更好的音频格式呢?又没有什么开销。
@@ -158,7 +158,7 @@ FLAC 支持 4~32 位的比特深度,而 ALAC 支持 16、20、24 和 32 位。
不过在正式谈流媒体之前,还要回到更久之前。
-{{< float-image "https://r2.eltr.ac/geedeapro/article/got-flac/loudness-war-demo.png" "left" >}}
+{{< float-image "https://img.eltr.ac/geedeapro/article/got-flac/loudness-war-demo.png" "left" >}}
从上世纪 40 年代开始,人们就发现音乐的声音变得越来越响,这是发生在母带制作(mastering)时的事情。记住「母带」这个词,之后还会反复出现。随着数字信号处理技术的发展,音乐制作人开始利用计算机把音乐调得越来越响。
@@ -172,7 +172,7 @@ FLAC 支持 4~32 位的比特深度,而 ALAC 支持 16、20、24 和 32 位。
好了,现在商业流媒体加入战局。由于不同时期的音乐响度不一致,不同的音乐制作人也会选择不同的调音策略,为了解决响度战争造成的听感问题(比如切换到下一首歌是音乐突然变响,或者突然变得难以听清),几乎所有的流媒体平台都开发了新的算法来均衡响度(loudness normalization)
-![Amazon Music、Apple Music、Soundcloud、Spotify、Tidal、Youtube 和 YouTube Music 使用算法均衡后的响度。](https://r2.eltr.ac/geedeapro/article/got-flac/loudness-normlization.png "图源:[Wikipedia](https://en.wikipedia.org/wiki/Loudness_war#2020s)")
+![Amazon Music、Apple Music、Soundcloud、Spotify、Tidal、Youtube 和 YouTube Music 使用算法均衡后的响度。](https://img.eltr.ac/geedeapro/article/got-flac/loudness-normlization.png "图源:[Wikipedia](https://en.wikipedia.org/wiki/Loudness_war#2020s)")
{.dark:invert}
国内的情况我没有找到相关资料,但作为业界常见手段,应该可以推测国内流媒体也使用了类似的算法。值得一提的是,Bandcamp 是为数不多没有使用这种算法的音乐平台。