【发布时间】:2014-04-27 08:08:58
【问题描述】:
我处于http://nerdbynature.de/s9y/?316 中描述的情况。我有一个文件
$ file foo.mp3
foo.mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer II, v1, 192 kbps, 44.1 kHz, Stereo
我想将layer II 转为layer III 以及ID3 version 2.3.0 转为ID3 version 2.4.0。对于单个文件,所描述的方式非常完美。
$ mv foo.{mp3,mp2}
$ lame --mp2input foo.mp2 foo.mp3
$ mid3iconv -d foo.mp3
$ rm foo.mp2
$ file foo.mp3
foo.mp3: Audio file with ID3 version 2.4.0, contains: MPEG ADTS, layer III, v1, 128 kbps, 44.1 kHz, JntStereo
我现在如何编写一个(最好是 shell)脚本,该脚本在包含音乐的巨大文件夹中递归运行,并检查每个文件。如果使用
layer II,则使用lame将其转换为layer III,如果使用ID3 version 2.3.0,则使用mid3iconv 将其转换为ID3 version 2.4.0。另外,我如何确保我不会失去质量(我在上面看到输入为 192kbps 而输出仅为 128kbps。
【问题讨论】: