感谢liquid_zigong兄
方法1: 代码: #!/bin/sh
TEMP=.tmp
for file in *.mpc do mppdec "$file" $TEMP && lame --preset extreme $TEMP "${file%%.mpc}.mp3" rm -f $TEMP done
方法2: (用命名管道)
代码: #!/bin/sh FIFO=/tmp/$$.wav
mkfifo $FIFO #不是wav文件mppdec拒绝输出 for file in *.mpc do mppdec "$file" "$FIFO" & lame --preset extreme "$FIFO" "${file%%.mpc}.mp3" echo "$file" is done done rm -f $FIFO
liquid_zigong兄解说: mppdec可是大名鼎鼎的MusePack(mpc)音频格式的Linux版播放器。它也可以用来把MPC文件转化成WAV。不过它似乎不能把输出重定向到标准输出,所以得用命令管道才能实现即时(on-the-fly)编码。而且输出名字必须有.wav后缀,不然有问题
MPC的音质和效率可比MP3高多了,它有XMMS的plugin,可自行安装。它的编码器叫mppenc |