320 kbps 的 MP3 压成 FLAC,频谱会留下什么
拿到一个标称 FLAC 的文件,参数看起来挑不出毛病:44.1 kHz、16 bit、码率一千多 kbps。但「无损」说的是容器,不是内容。把一段有损音源解码后重新压成 FLAC,容器确实无损,被砍掉的那段高频却补不回来。这一篇讲清楚这类文件在频谱上通常留下什么、本站按什么规则判,以及什么时候这套办法会失手。
一句话:找的是「一道整齐的截止」,不是「扩展名对不对」。
一、先看容器,再看内容
FLAC、WAV、ALAC 只负责把 PCM 装进去,它们不保证里面装的东西没被砍过。反过来,采样率、位深、码率这些参数也都可以被改写得很好看。所以本站不看扩展名和标签,只看解码后的样本:高频能量延伸到哪里、以什么形状结束、整首歌是否一致、样本精度是否与标称位深相符。
结果卡里的「容器格式」「编码」两行只用来交代来源,不参与判定;真正参与的是边界、台阶、整首分段、位深核验与超零过冲。为控制耗时,频谱分析最多覆盖前 20 秒,但分段抽样与峰值扫描跑完整首。
二、一次典型读数长什么样
下表是本站已公开的真实编码器校准量级,以及判定用到的门限。它们说明「有损转码的台阶通常有多富余」,不是一张可以拿来套所有文件的对照表。
| 项目 | 量级 | 说明 |
|---|---|---|
| 有效带宽门槛 | 峰值 − 70 dB | EDGE_REL_DB,低于此视为阻带 |
| 硬截止门限 | ≥ 22 dB | STEP_DB,且边界下方仍高于峰值 − 45 dB |
| 实测截止(Opus / AAC) | 约 20.4–20.5 kHz | 浏览器 MediaRecorder 编码→解回 PCM 的校准集 |
| 实测台阶 | 约 68.8–71.5 dB | 相对 22 dB 门限有 3 倍余量 |
| 阻带 | 约 −95 dB | max-hold 谱上约 −85 dB |
要如实说清:这些数字来自 Opus / AAC 的真实编码校准,不是 MP3。MP3 的码率—带宽梯度需要在装有 ffmpeg 的机器上跑完才能给出,本站目前不提供 MP3 各码率的精确截止表。不同编码器、不同低通设置差别很大,与其编一张表,不如把没做的部分讲明白。权威梯度脚本已备在生产机侧。
三、规则怎么把这些数串起来
边界由「超过峰值 − 70 dB」的 9 点中位数越线确定,不做倍频程平滑;平均谱与逐帧峰值保持谱(max-hold)各扫一次,后者用来避免偶发高频瞬态被平均谱淹没。量出台阶后算带宽占比:截止频率 ÷ 奈奎斯特,≥ 0.96 视为真无损特征,< 0.85 支持转码判断,中间地带判「需人工判断」。
再叠加独立证据:整首均匀抽 12 段各自测截止点(高度一致=统一低通,彼此错开=VBR 浮动)、截止点上方是否被平坦噪声填充、样本低位是否成片为零、是否存在超过 0 dBFS 的样点(整数 PCM 不可能)。单条证据不足以定罪:高频缓降单独只给「需人工判断」,必须与其它独立证据并存才升级为转码。
四、什么时候会看走眼
高码率有损转码可能把低通点推得接近奈奎斯特,或直接不设硬低通,频谱上就不留整齐台阶;老录音、模拟母带与后期主动低通,也会让真无损看起来带宽受限;编码参数还能关掉低通。这些情况本站会如实给「未见转码痕迹」——它表示检不出,不表示证明来源。
结论是线索,不是证明。疑似与转码判定会在结果下直接给「怎么人工核验 →」入口;完整的能力边界与失效场景另见方法与校准页。
五、自己动手核对
本站用三类典型频谱形状做过对照:真无损约 22.04 kHz 无台阶、砖墙式转码约 16.05 kHz 处台阶约 76 dB、96 kHz 外壳只到约 22.15 kHz。对照本页上表的形状差异,就能理解门限怎么落到结论上。
完整门限、黄金集与已知失效边界见判定方法与校准数据。
常见问题
320 kbps 的 MP3 转 FLAC,一定检得出来吗?
不一定。高码率转码可能把低通点推得很高,或不设硬低通,频谱上就不留整齐台阶。本站会如实给「未见转码痕迹」,这表示检不出,不等于证明来源是原厂母带。
为什么本站不给出 MP3 各码率的截止频率表?
因为已公开的真实编码器校准是在浏览器 MediaRecorder 的 Opus / AAC 上做的,MP3 的权威码率—带宽梯度需要在装有 ffmpeg 的机器上跑完才能给出。与其编一张表,不如把没做的部分说清楚。
FLAC 显示 24 bit / 96 kHz,就一定更保真吗?
不一定。采样率与位深都可以被改写。本站会另查样本低位是否成片为零(16 bit 补零),以及高采样率下有效带宽是否真的变宽;详见第二篇实例。
继续看
这三篇实例互相印证,配合门限页与手册一起读,能知道结论的分量,也知道它在哪儿会失手。