2007年8月22日星期三

Linux下内网BT工具:benliud奔流

Linux下的BT软件有很多,但能在内网使用的却几乎没有。

一种方法是用Wine模拟运行Windows下的BT软件。可以下载一个免安装的BitSpirit压缩包,解压到Wine的Program Files目录,然后用Wine启动就可以了。Wine编译很耗时间,而且对中文的支持有问题,在我的FC6上,在启动命令前加上:lang=zh_CN.GB2312,可以使BitSpirit任务列表中的中文文件名正常显示,但下载到硬盘的实际文件名仍然是乱码。

不过,最近国内有高手做了新的Linux BT客户端:Benliud奔流。Wine和BitSpirit都可以省了,直接下载软件包运行就可以了。作者主要针对Ubuntu7.04,但在我的FC6上也可以正常运行。速度还是很快的。
讨论区见这里:http://groups.google.com/group/benliud

2007年8月13日星期一

爱国者MP3的录音文件导入MATLAB时一点问题

想对动物的叫声做一下频谱分析,正好手边有爱国者的一款MP3可以录音,就录了下来。但是分析时出了问题,这个MP3的wav文件不能直接导入到MATLAB中,而Windows中的Sound Recorder录的却可以。后来发现这两个wav的文件头不一样。我用以下方法解决这个问题:

(1)用Windows附件中的Sound Recorder打开爱国者的录音WAV文件,选择另存为,在Format中选择参数PCM,8KHz,8bit,单声道Mono,假定文件名为aigo.wav;
(2) 用Sound Recorder录一个文件,以相同的格式保存,如pc.wav;
(3)用十六进制编辑软件(如PSPad,A.X.E.等)打开这两个文件,在pc.wav中找到fact这四个字符,注意在aigo.wav中也有这几个字符,只是位置不一样。用pc.wav中fact前面的内容覆盖aigo.wav中fact前面的内容。保存之后就可以了。

我用的爱国者mp3录音的精度是4bit,而第一步中转换到8bit,对数据的影响应该不大。

2007年8月6日星期一

Ubuntu on USB-HDD: 移动硬盘上的ubuntu操作系统

实际上在USB移动硬盘上安装Ubuntu还是挺简单的,只是我起点太低,折腾了好几天,才算终于启动起来。

我是从硬盘来安装的,从网上下载了安装镜像和引导文件,放在一个FAT32分区上,然后用GRUB4DOS来引导安装。这一步是我以前装Fedora Core时就弄过了的,所以比较顺利就进入了安装界面。一开始我用的是Ubuntu7.04的desktop镜像,安装时总是报错,大概是无法安装光盘文件系统,找不到安装文件。到网上查了一下,很多人都有这个问题,需要改用alternate来安装。

设置磁盘分区时,把我的IDE硬盘认成了sda,而移动硬盘则成了sdb。如果你需要使用USB-HDD模式来启动,最好将移动硬盘的第一个分区mount成boot,并且容量不要设置得太大(网上有人设置为512MB,我设置为256MB,还没来得及验证到底可不可以,因为我的机子不支持USB-HDD。这个可能是因为有些BIOS的磁盘寻址范围有限。)

安装过程没有什么可说的,软件包没有选择,自动安装。然后就是引导的问题。我的机子支持USB-ZIP的模式启动,将一个U盘用GRUB4DOS作成启动盘,然后将boot目录下的initrd和vmlinuz拷到U盘根目录下,在menu.lst中设置

title Ubuntu
root (fd0)
kernel (fd0)/vmlinuz-2.6.20-15-generic rw root=/dev/sdb2 rootdelay=10
initrd (fd0)/initrd.img-2.6.20-15-generic

sdb2是根文件目录。实际上根本不需要对initrd作出任何修改,它已经默认支持USB磁盘了。如果是从USB-HDD模式引导,应该也没有什么大的差别。

我花了不少时间在怎么制作支持USB的启动盘initrd这一步上,虽然最后没有成功,但对linux的文件系统有一些了解,还是有些收获的。

在别的机子上也可以运行,不过图形界面要重新配置:

sudo dpkg-reconfigure -phigh xserver-xorg

还是会把IDE硬盘认成sd*,别的机子上也一样,又在网上查了一下,说是新内核把PATA和SATA统一识别为SATA。

参考文献: