终于抽出时间来玩玩RealliveMax附带的工具。因为NWA格式0-2是我自己根据3-5的格式猜测的,虽然Reallive引擎可以正确解码,不过还是找官方的参照一下检测算法性能。
压缩一段接近10M的音频。
首先用NWApack,使用Lv0,得到文件 5,625,841 字节
然后用我的编码器,也使用Lv0,得到文件 5,372,918 字节
我的少用了约250KB
然后测试失真度:
将官方压缩的NWA解压成wav,然后用我的编码器,同样Lv0压缩,得到文件 5,203,592 字节 (减少约400KB,文件比原始音频直接压缩后要小——这是应该的);
编码器输出统计信息,失真度为0,也就是说官方Lv0转换到我的Lv0是无损的。
将我(第一个测试)压的NWA解压成wav,然后用官方程序压缩,得到文件 5,652,992 字节 (增大约280KB, 而且文件比原始音频直接压缩后还大 |||||);
解压回wav,然后用统计程序比较压缩源wav,发现波形失真,最大255单位,平均2.773单位。
也就是说,官方的压缩器生成的NWA音质损耗比我的算法多,而且压缩率还不如我的算法。
最后晒一下Lv0-5的压缩率:
原始文件 10,944,044 字节
Lv | 我的算法 | 官方算法 |
2 | 3,862,589 | 4,089,424 |
1 | 4,617,805 | 4,835,685 |
0 | 5,372,918 | 5,625,841 |
3 | 6,080,855 | 6,419,233 |
4 | 6,734,640 | 7,163,690 |
5 | 7,389,867 | 7,913,247 |
(其实这还是改进后的高音质模式算法,牺牲了部分压缩率换取更少的波形失真。如果使用一般模式的话,应该还会更小一些)