Featured image of post MQA 辨识指南

MQA 辨识指南

目前没有有力证据指出 MQA 给听众带来了任何好处。

什么是 MQA?

从网络商店,尤其是 Tidal 购买 FLAC 资源的用户应当了解辨识 MQA 编码文件的方法,这样才能避免踩坑。如果想看点好话,可以点 官网介绍

Master Quality Authenticated (MQA) 是一种音频技术,最初由英国高保真音响制造商 Meridian Audio 的联合创始人 Bob Stuart 开发,现已获得 MQA 有限公司的许可。MQA 的主要思想是将高清母带录音打包成标清文件的大小,如此更易下载与传输。

从技术角度来说:MQA 音频文件从高位深和采样率的 FLAC 文件,通常是 24 bit/96 kHz 开始。MQA 编码器将音频分割成两部分音频信息——高于和低于 48 kHz 的内容。≤48 kHz 的信号会被向下转换至 16-bit,可能会抖动,也可能直接截断。这就是最终文件里的「较高」16-bit 输出的由来。而 >48 kHz 的信号则被一种未知的方法压缩,但不妨假定其原理与转码成 MP3 或 AC3 类似。压缩后的 >48 kHz 的信号成为了最终文件里的「较低」8-bit 输出。最后,MQA 编码器将这高 16-bit 音频和低 8-bit 音频重新组装成最终的 MQA FLAC 输出文件。低 8-bit 输出实际上并非 PCM 音频,所以如果你单独播放它,听起来就像白噪声一样。如果你以标准的 FLAC 解码器(「折叠的」)播放一份标准的 24/48 MQA FLAC,它听起来就像一份标准的 24/48 文件,只不过带了些你可能听不见的噪声。但如果你以 MQA 解码器(「展开的」)播放一份标准的 24/48 MQA FLAC,它会将这低 8-bit 输出重现成某种不同于噪声的内容,但是你也可能听不见。

对于 CDDA 音频它也做相同的事,除了较高的 13-bit 音频可能没动,或是暗中抖动过,较低的 3-bit 音频已被压缩。

辨识 MQA 文件

通过元数据标签

辨识 MQA 最简单的方法就是检查文件的元数据标签。如果你够走运,其中会有调用 MQA 编码器的内容,如下文所示:

示例元数据
~\Yes - Fragile > mediainfo 1\ Roundabout.flac
General
Complete name : 1 Roundabout.flac
Format : FLAC
Format/Info : Free Lossless Audio Codec
File size : 114 MiB
Duration : 8 min 35 s
Overall bit rate mode : Variable
Overall bit rate : 1 863 kb/s
Album replay gain : -6.36 dB
Album replay gain peak : 1.000000
Album : Fragile
Album/Performer : Yes
Part : 1
Track name : Roundabout
Track name/Position : 1
Performer : Yes
Description :
Writing application : MQAEncode v1.1, 2.2.0+485 (0b66124), F8EC1703-7616-45E5-B81E-D60821434062, Oct 22 2016 06:55:45
Copyright :
Cover : Yes
Cover description : cover.jpg
Cover type : Cover (front)
Cover MIME : image/jpeg
MQAENCODER : MQAEncode v1.1, 2.2.0+485 (0b66124), F8EC1703-7616-45E5-B81E-D60821434062, Oct 22 2016 06:55:45
ORIGINALSAMPLERATE : 96000
Audio
Format : FLAC
Format/Info : Free Lossless Audio Codec
Duration : 8 min 35 s
Bit rate mode : Variable
Bit rate : 1 787 kb/s
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 kHz
Bit depth : 24 bits
Replay gain : -6.69 dB
Replay gain peak : 1.000000
Stream size : 110 MiB (96%)
Writing library : libFLAC 1.2.1 (UTC 2007-09-17)

如果你能找到写着使用了 MQA 编码器的标签,那就完事儿了。

不过,并非总是如此,因为有些人会去掉标签。

通过频谱/20 kHz 检查

  • 一条检查可疑文件是否 MQA 的捷径,是查看其频谱。如果你是从网络商店购买,则买来的 MQA 文件中一定是存在问题的。首先,你可以从频率分析图或频谱分析图开始。
  • 下面是一份示例频率分析图和频谱分析图。(示例音轨:Owner Of A Lonely Heart - Yes
  • 请注意,在 20 kHz 以上的范围内存在大量噪声。如果你将其与可信来源的资源比对,你会发现在后者抖动时,在 20 kHz 以上的范围内以及与整个频谱范围相比,噪声要小得多:

通过频谱/无 20 kHz 隔断

  • 现在,如果 MQA 没有 20 kHz 的衰减截止频率,你要如何辨识它?下面是一份没有 20 kHz 衰减截止频率的示例 MQA 文件(示例音轨:Roundabout - Yes):
  • 在上面的例子中,你可以看到在顶端范围内存在相当可观的 -90 dB 噪声。着重看 500~510 秒高于 20 kHz 的区域,可以看到它并非静音(黑色)。下面是放大的 Lead-out 部分:
  • 如果你将它与以下频谱对比,它们来自相同长度但来源靠谱的 24-bit FLAC,你可以看到它是静音(上面的图抖动过,下面的图则是未经抖动的原始信号):
  • 这是相同的 lead-out 部分:

通过脚本

辨识 MQA 文件最简单的方法莫过于使用以下脚本了。这项工作需要 Python 3 和 bitstring 的支持。你可以从 这里 下载到 MQA 辨识脚本。非常感谢 duplex 和 Sudo 的杰出工作!

Windows 安装

感谢 duplex 和 Sudo 制作的 mqaid(MQA 辨识)脚本。如果你已经安装好并能在 Windows 成功运行,直接跳到第五步看批处理文件会更好。

安装 Python
  • 前往 Python 官网 下载最新版本,运行安装文件。
  • 确保勾选 Add Python to environment variables(将 Python 添加到环境变量)。
  • 安装它。
复制 mqaid 脚本
  • 前往 GitHub →「Clone or download」→「Download Zip」→ 解压到某处。
安装 mqaid 依赖
  • 右键单击开始菜单 →「Windows PowerShell(管理员)」→ 输入 pip3 install bitstring
  • **注意:**如果你正在用的是 Python 2.x(而非 3.x),输入 pip install bitstring(「pip」后边不带「3」即可)。
  • 等待安装完成。
运行 mqaid
  • 右键单击开始菜单 →「Windows PowerShell」→ 输入 cd c:\wherever\you\unpacked\mqaid\(你解压 mqaid 的路径)。
  • 输入 python is_mqa.py "c:\whatever\directory\holds\the\flacs\you\want\to\check\"(你想要检查的 FLAC 文件所在的文件夹路径)。
  • 等待结果。
  • 如果返回 MQA syncword present,则文件是 MQA。
  • 如果返回Didn't find an MQA syncword,则文件不是 MQA。
制作一个批处理文件(可选)
  • 复制以下四行代码:
1
2
3
4
c:
cd %~dp0
FOR %%A IN (%*) DO python is_mqa.py %%A
pause
  • 打开记事本,粘贴进去。
  • 然后点击「文件」→「另存为…」→ 输入「is_mqa.bat」。
  • 更改存储路径为 c:\wherever\you\unpacked\mqaid\
  • 确保「保存类型」选择了「所有文件(.)」。
  • 点击「保存」。

现在你可以直接拖放你想要检测的文件到「is_mqa.bat」上,而不需要每次都用命令行。

感谢 AnstrommFeck 的指正!

如果无法使用该批处理文件,可将第一行「c:」替换成 mqaid 的路径,然后将 FLAC 文件也放入该目录下。

运行脚本时,你会得到以下两种输出之一:

  • 若文件是 MQA,你会得到:
1
2
3
> ismqa 12\ Uninvited\ \(Live\ -\ Unplugged\ Version\).flac
Decoding FLAC slowly...
MQA syncword present.
  • 若文件不是 MQA,你会得到:
1
2
3
> ismqa 01.\ James\ Carter\ \&\ The\ Prisoners\ -\ Po\ Lazarus.flac
Decoding FLAC slowly...
Didn't find an MQA syncword.

MQA CD

  • MQA CD 存在但极少。截至 2017 年 12 月,已知的 MQA CD 不过两三张。如果你得到了声称是 MQA CD 的东西,请务必非常谨慎。来源:Camille Thurman - Inside the Moment - Road Song
  • 下面是音轨的最后十秒。你可以看到和 24/48 以及 24/44.1 MQA 相同的那类图样。即使这是一份 EAC 能够抓取的 16/44.1 CD 翻录,它仍然具有 16 kHz 的「指纹」,且在 19 kHz 变响亮。这是由噪声滤波器造成的。
  • 对于可信的来源,它的音轨看起来应如下图所示。这是 24/192 的频谱:
  • 将同一音轨抖动至 16/44.1:
  • 这是最后十秒。你可以看到它并没有 16 kHz 以上的噪声带:

总结

归根结底,下面这些是需要查看的:

  • 对于 44.1 kHz MQA,应查看其存在于 8 kHz、15.5 kHz 和 18.5 kHz 的噪声隔断。在其他安静的区域应存在较轻的噪声。Lead-out 区域会使其狐狸尾巴暴露无遗。
  • 对于 48 kHz MQA,应查看其存在于 8 kHz、16 kHz 和 20 kHz 的噪声隔断。在其他安静的区域应存在较轻的噪声。多数情况下,Lead-out 区域会使其狐狸尾巴暴露无遗。
  • 对于所有 MQA,在 8 kHz 到 16/18 kHz 的区间内会存在非常非常轻的噪声。这多半要归结于 MQA 加的「特别调料」。
  • 如果你见到视觉上近似直角的噪声,那就是 MQA 的确凿证据了。直角图像看起来应当如下图所示:

更多阅读

Written by ZexWoo. All rights reserved.
主题 StackJimmy 设计 | 使用 Hugo 搭建