存档
最近下载了很多音乐文件,为了统一管理进行了很多转换、分割的操作,感觉Linux下做这些简单的音频处理还是很方便的。下面对这些操作做一个小小的总结。
基于cue文件的音频分割
网上能下载到的质量较高的音乐文件都是从CD直接抓轨得到的APE、FLAC、TTA甚至是TAK格式的无损压缩文件,通过一个cue列表指定音轨的名称和时间段。Linux下的播放器普遍对cue没有很好的支持,因此把完整的CD镜像分割为单个的文件不失为简单的变通方法。
cue文件的编码必须是UTF-8格式,但是喜爱日本动漫、游戏音乐的朋友会发现很多时候打开cue文件后发现音轨的标题都是乱码,其实这是因为这些cue文件采用了Shift-JIS编码。用iconv命令可以很简单的进行编码的转换:
$ iconv -c -f shift-jis -t utf8 CDImage.cue -o CDImage.utf8.cue
这里有个-c参数是为了让iconv读到一些奇怪的字符时直接忽略,因为某些cue文件过于诡异了。
转换好cue文件后通过shntool分割文件,以APE格式的CD镜像为例:
$ shntool split -t “%n.%t” -i ape -o flac -f CDImage.utf8.cue CDImage.ape
这里的-t “%n.%t”指定了输出文件的文件名由音轨编号%n和标题%t组成,-i指定输入文件格式为APE,-o指定输出文件格式为FLAC,-f指定了cue文件。
在Archlinux下读取APE和TTA格式的音频文件需要通过AUR安装mac-port和ttaenc,而处理TAK文件时则比较麻烦,需要通过wine来运行Takc.exe。这个Takc.exe可以在这里下载。运行Takc.exe先将tak文件解压为wav文件:
$ wine Takc.exe -d CDImage.tak CDImage.wav
然后运行shntool分轨:
$ shntool split -t “%n.%t” -i wav -o flac -f CDImage.utf8.cue CDImage.wav
音频格式的转换
音频格式之间的转换通过wav格式来中转最为简单,各种常见无损格式的解压命令如下:
$ mac -d Music.ape
$ flac -d Music.flac
$ ttaenc -d Music.tta
相应的,从wav格式转化为各种常见格式的命令如下:
$ mac “Music.wav” “Music.ape”
$ flac Music.wav
$ ttaenc Music.wav
$ [...]
下载squid最新的3.1.1版:
wget http://www.squid-cache.org/Versions/v3/3.1/squid-3.1.1.tar.gz
安装编译环境:
yum install gcc-c++
yum install make
编译
./configure –prefix=/usr –includedir=/usr/include –datadir=/usr/share –bindir=/usr/sbin –libexecdir=/usr/lib/squid –localstatedir=/var –sysconfdir=/etc/squid
make && make install
对RedHat系的Linux不熟悉,仅作备忘。
Archlinux下的mplayer已编译vdpau,只要把mplayer的视频输出设为vdpau即可使用nVidia显卡的硬解码功能。
在ArchLinux上,安装完Xfce4和Compiz Fusion后,如果要求能够不用fusion-icon而直接启动Compiz的话,可按照本文的说明来实现:
1) 启动Xfce4,此时xfwm4是默认的窗口管理器;
2) 运行fusion-icon,在CompizConfig设置中启用“窗口装饰”和“移动窗口”两个功能,否则窗口无边框也不能移动;
3) 退出Xfce4返回控制台;
4) 将~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml中的
<property name=”Client0_Command” type=”array”>
<value type=”string” value=”xfwm4″/>
</property>
修改为
<property name=”Client0_Command” type=”array”>
<value type=”string” value=”compiz”/>
<value type=”string” value=”ccp”/>
</property>
5) 删除~/.cache/sessions目录
6) 启动Xfce4,此时compiz将自动运行。退出Xfce4时建议不要保存session。
假定一台主机上有多个硬盘,已经在BIOS顺序的第一块硬盘上安装了其他操作系统,例如Windows,现在需要在另一块硬盘上安装Linux系统。这种情况下,如果Linux安装成功,在Linux看来,装有Windows系统的硬盘设备应该是/dev/sda,而它自己所在的硬盘则可能是/dev/sdb之类。
如果有特殊情况导致不能将Grub安装到/dev/sda的 MBR上,只能安装到/dev/sdb,那么这时menu.list中Linux系统对应的硬盘应该是(hd0,0)而不是(hd1,0),因为Grub对硬盘编号的顺序和BIOS以及Linux本身是不一样的。