下午跟@KimSuQian讨论mp3的乱码问题,进而谈到字符编码问题。一般而言,在另一个地区发售的Win上抓取的CUE表和MP3 tag都有字符编码问题,这种事情在ACG音乐上经常发生。@KimSuQian遇到的问题是他有一些mp3的tag是GBK编码的,但他的Win区域设置是日本,也就是说系统ANSI是JIS编码,播放的时候乱码也就出现了。
下午跟@KimSuQian讨论mp3的乱码问题,进而谈到字符编码问题。一般而言,在另一个地区发售的Win上抓取的CUE表和MP3 tag都有字符编码问题,这种事情在ACG音乐上经常发生。@KimSuQian遇到的问题是他有一些mp3的tag是GBK编码的,但他的Win区域设置是日本,也就是说系统ANSI是JIS编码,播放的时候乱码也就出现了。
记得早些时候写过一篇音频格式的频谱图分析比较,可惜原稿已经遗失。频谱图分析的意义在于可以直观的比较音频格式在某一比特率的质量损失,平时转音频格式时可以作为一个相对的量化标准。最近正好想比较一下Apple AAC与Nero AAC编码器编码质量的差别,顺便就连MP3一道做了。放在这里,为对关心音频技术的同学留一些参考。
关于频谱图分析的原理和可行性可以查看各自音频格式的Wiki[1][2]:
http://zh.wikipedia.org/zh/MP3
http://zh.wikipedia.org/zh-cn/AAC
一般的有损音频编码主要是基于滤频的。人耳只能听到20-20kHz频率的声音,理论上把这个范围之外的频率成分全部滤除对人的听感没有影响。事实上一般人对16kHz以上已经不敏感,所以滤频到16kHz左右已经完全可以满足日常需求。又根据奈奎斯特采样定理,两倍于信号带宽的采样率可以重建原信号[3],一般CD的采样率均为44.1kHz,因此理论上基于CD无损的最高带限为22.05kHz。
由于不同音频格式的压缩方案不同,故在同一比特率上的实际质量也是不同的。虽然字面上比特率只决定文件大小,其它一概不决定。但一般说来,同一音频格式的编码比特率越高质量越高,在同等比特率上AAC的质量要好于MP3,像WAV,APE,FLAC这种无损则除外。
本文采用的编码器版本为:
MP3 — lame MP3 Encoder 3.98.2
Apple AAC — iTunes 9.2.1.4 for Windows
Nero AAC — Nero AAC Encoder 1.5.1.0播放器:
Foobar2000 v1.0.1
转Apple AAC的Shell采用iTunesEncode.exe中间程序频谱图分析软件:
Adobe SoundBooth CS5
前两天用千千把陈绮贞的Immortal加好了tag和封面图拷到小7里面,发现天天动听可以正常显示所有信息,但是内置player刷新后均显示未知,比较郁闷。想起天天的论坛里有文章说千千编辑的tag有时不能在内置player中显示,想想很没道理,千千的tag编辑功能应该算是很强大的,猜想大概是因为tag格式的问题。所以Google了一下,觉得收获不少。