偶像大师百万现场《LTP》系列歌曲的音频质量问题的研究

上文中我有提到,一直觉得初代ML CD系列《THE IDOLM@STER LIVE THE@TER PERFORMANCE》(下称LTP)的某些歌曲听上去很怪,其中比较明显的是03的『素敵なキセキ』、『ハッピー☆ラッキー☆ジェットマシーン』『Happy Darling』三首Solo,其他也有,比如『オリジナル声になって』等。具体什么问题说不清,可以粗略概括成中频(人声)解析不行,外加整体发扁(动态范围低)。这还是在我没有任何玄学设备、纯粹用几十块钱的破音响听出来的。

虽然也有可能是有意为之(即:我们就是想要这样的听感),但是考虑到ML系列是首次把音乐制作交给lantis(而不是哥伦比亚),我还是怀疑是技术上搞砸了。

来自Hi-res的救赎?

昨天写上文的时候实在忍不住,去mora买了一首hi-res的『Happy Darling』来对比。之前有买过一次mora,记得是不用挂日本代理、但是必须浏览器语言设成ja;不过这次清了下cookie才好使。

对于hi-res,我一直是不怎么感冒的:我并不相信人耳可以听出44.1kHZ或者16bit位深以上的区别。所以如果在音源完全一致的前提下,如果仅仅是把更高精度的数字档放出来,我不觉得比起CD级音质有多大优势(体积还大了N倍)。更不要提谁也无法保证最初的制作精度几何,所谓的hi-res是不是干脆是interpolate上去的?这种事儿在影像、平面印刷等出版物可屡见不鲜。

不过,hi-res有一个优势,和“hi-res”本身没什么关系,就是它相当于是一次重新的发行。也就是说,它可能会使用不同的、或者修复过的音源(尤其是对于这种非同步发行的就更有可能)。这种事情在单纯的CD复刻里都有(之前的[两篇][文章]全在讲这个),更不要提以质量为卖点的hi-res release了。所以,我报的希望就是Lantis发现了当初制作的问题,借着hi-res的春风进行修复。

下载完毕不听不知道,听了发现真的有非常显著的区别!一上来的伴奏(贝斯?吉他?请原谅我贫乏的音乐常识…),两者的声场位置就完全不同,hi-res版更立体;但是hi-res里的钹的声音相对就小了很多。进入人声部分,hi-res版的解析/清晰度也上去了。虽然以我的口味不算完美,但是绝对远强于CD版。

那么上面是听感,果然还是得上一下大杀器Welch’s method的频谱分析(具体请参见各种前文)。

hd

呃,我只能说,差别这么大的同一首歌两个版本,我研究了这么久,分析过那么多音频,还真的是第一次见。而且,CD版这个曲线非常不科学,从来没有见过有歌在5k-10k Hz区间有个坑比高频段强度低这么多的(一般都是大趋势准·单调减)。

这里说明下,从legend可以看到,我测试的时候都是先把hi-res版本转成了44100Hz、16bit的CD音质。Resampling我用的是FB2k自带的PPHS resampler,变16bit没有开dither。我需要声明无论是不同的resampler还是开不开dither,我全都是和原始hi-res文件对比过的,和想象的一样,没有任何听感上和频谱上的区别。哦唯一点是如果用高sample rate的音频,Matlab里跑Welch’s method函数出来的结果分辨率会减半(因为range翻倍成96kHz了但是总点数不变),所以这个必须得resample结果才好看。

全面对比Hi-res和CD版的《LTP》

既然这歌区别能这么大了,接下来自然是要杀全家全测试一遍咯。当然让我买13张hi-res我表示财力不足,于是去tsdm全撸了下来(暂时缺少07)。

当然这一共几十首一次次手动改目录跑我的MATLAB脚本会死人的(虽然之前我一直是这么过来的),于是吭哧了半天增强了下脚本的自动化。这里吐槽下,MATLAB文件操作、字符串操作真的是累,不过现在有struct(类似于object)和cell比起当年纯matrix操作还是方便多了。

上文我是对一定频段的dB数取平均值比较,现在发现不是很合适,比如上面『Happy Darling』这个先低后高的就抵消了。只有两个互相对比的话,可以有更好的办法。我还是用了部分频段(0-14.4kHz)的dB,误差计算经过几次测试后决定用MSE(还是那句话,不要问我对dB进行MSE是否科学w)。

具体操作起来,就是先用foobar批量对所有hi-res进行resample+降位深,然后存到X目录的\%title%\hi-res.wav。再把CD版直接转换(相当于截取,因为没有额外修改)成\%title%\cdrip.wav。这样,同一首歌就会在同一个子目录下。然后用循环处理、做Welch’s method、计算MSE、绘图就行了。

我设定了一个阈值,只有MSE大于这个阈值的才会Plot和输出结果,其他的忽略。另外,因为Welch’s method计算非常费时,所有的结果无论如何都会存在各个子目录中(data.met),以后可以直接提取绘图或者数据分析。

经过多次测试,阈值在5比较合适,在这个条件下有8首歌会中枪——也就是说这8首频谱差别很大(嗯,『Happy Darling』鹤立鸡群……比第二名高一倍还多)。

Title MSE Album/tr
ハッピー☆ラッキー☆ジェットマシーン 6.2445 LTP03/04
Happy Darling 23.6898 LTP03/06
朝焼けのクレッシェンド 10.1786 LTP04/05
恋心マスカレード 7.9994 LTP12/05
ココロがかえる場所 8.8515 LTP12/11
微笑んだから、気づいたんだ。 10.154 LTP13/05
ビギナーズ☆ストライク 6.0709 LTP13/09
Bigバルーン◎ 9.8826 LTP13/11

曲线图如下:

可以看到,大部分的区别其实都是高频段会莫名高一些,听感上区别不大就是,包括那个也有奇怪下凹的『恋心マスカレード』。

之前提到的03的另外两首Solo,『ハッピー☆ラッキー☆ジェットマシーン』虽然确实误差勉强上了5,但是听感基本没什么提升。另外『素敵なキセキ』、『オリジナル声になって』更是几乎没什么变化。所以指望hi-res拯救这几首的愿望落空了。而且为什么只有『Happy Darling』会有这么dramatic的区别,外人估计也无从得知了。

另外,从上面的列表可以看出,似乎LTP12大多数轨都有很大的客观区别。

Hi-res版max’d out带来的爆音问题

另外值得一提的是,hi-res带来的也并不是只有优点。LTP CD版有很多轨的peak都是只有0.9x的,在hi-res里,所有的音量全部拉满了:

QQ图片20180321023838

拉满本身不应该造成任何问题,实际上,大部分歌曲的平均音量其实是变小了的,这样还能拉满,那说明动态范围有提升,是好事情,例如这是『Happy Darling』(上CD,下hi-res):

hd01hd02

不过有些则是反其道而行之(上CD,下hi-res):

dear01dear02

还是那句话,之前没拉满的话单纯拉peak到0dB这步更不会有动态范围的损失;而且一般而言,只要Limiter做得对,稍微砍掉一些动态范围也没啥。

但是在试听中,我遗憾地发现有些歌曲有明显的爆音,最典型的是『Dear…』(上图)的2:21.5处等。

补充:后来看到另外一篇文章diss烂铁的,学到用Audacity可以很直观地标记出爆音:

baoyin

随便查了下,发现几乎所有的LTP的hi-res都有clipping!大部分只是少数区间倒是还好,比较严重的例如Thank You!几乎1/3都是红色。所以真的,CD版本没问题的还是听CD版吧…

后记

最后随便提两个东西。第一个我其实之前也说过一次,就是我惊奇地发现用我的破音响来进行主观听感对比,明显程度远高于我手头的几个耳机/耳塞。感觉音响哪怕是这种地摊货,中/高音解析就是强很多(虽然低音基本不存在w),而且声场定位也很厉害。注意这里说的是辨析不同版本,要说单纯听音乐哪个听感好,耳机还是有独到之处的。

另外一个是在对比hi-res之前,有几张CD我是同时收过某ftp下的整轨版和来源不明的某分轨版FLAC,两者居然不是bitwise identical的(而且用golden wave看波形,区别还蛮大)。不知道是哪边搞糟了(虽然听感和频谱完全一致啦…)。

留下评论