2008年3月22日我宣布:因为我已经离开学校的教育网,所以我不再更新iZixia。有想接手更新本程序的人请联系我。

iZixia:十万歌曲轻松听!

There are two means of refuge from the miseries of life: music and cats.
-- Albert Schweitzer

什么是iZixia

iZixia是一个只占用几百兆硬盘空间,即可方便地听十万余首MP3的东西。iZixia起初是我写的一个shell脚本,可以生成紫霞音乐网站所有MP3播放列表,并且按Zixia网站上的音乐分类目录,在硬盘上建立一模一样的目录。iZixia不包含和传播任何MP3文件,它只生成紫霞网站上MP3的播放列表。

抓图

iZixia抓图

用iZixia生成的十万余首MP3

许可证书

iZixia在GNU通用许可证(GPL)下发布。使用iZixia者拥有GPL赋予的自由,亦有遵守GPL的义务。

下载

播放列表下载

为方便懒人,这里可以直接下载已经生成的音乐文件目录:
7z压缩播放列表,2007年4月23日用0.9版生成,共约十三万首MP3。用自由软件7-zip解压。

Python脚本下载

想在自己的电脑上生成目录列表,可以下载生成目录列表用的python脚本(izixia-0.9.2.py)(由于紫霞更新可能会移动目录,个别曲目可能无法播放)。

lftp输出文件下载

all.lftp,2007年4月21日更新。

在lftp里面,连接到紫霞FTP后,在音乐目录用find > all.lftp即可将目录树保存下来。

优点和缺点

优点

缺点

帮助

解压缩下载的压缩包,将得到一个名为mp3的目录,下面是Jazz, Music和Songs等目录,里面又有详细的分类。每个目录下只有一个m3u文件,该文件就是该目录下所有MP3的播放列表文件,用音乐播放器打开就可以听了。

上面提供的Python脚本是rudey写的,虽然生成了目录和列表,但是还有一些地方需要改进,比如对无MP3文件的目录的处理。该脚本中第三行中的all.lftp文件是指用lftp获取的紫霞FTPMP3目录和文件列表文件,并且做了适当的修改,运行之前需得到目录列表文件并对脚本做适当修改。如果没有lftp,在其FTP根目录下有个all.m3u文件,是音乐文件列表,可以抓下来用,不过没有目录列表,且好久不更新了。等我会有空时,会改进该脚本,使其只依赖Python即可得到播放列表。

如果该网页或者里面的文件有问题,请告诉我,谢谢。

版本历史

iZixia 0.9.2, 2007年7月6日

mirror对本版作了贡献,表示感謝。

iZixia 0.9, 2007年4月22日

iZixia 0.8, 2006年4月17日

iZixia 0.7, 2005年7月9日

iZixia 0.6, 2005年4月11日

iZixia 0.5, 2005年3月17日

iZixia 0.4, 2005年3月16日

iZixia 0.3, 2005年1月3日

iZixia 0.2, 2004年12月22日

iZixia 0.1, 2004年12月17日

来历

2004年冬天,一个用iTunes听歌的同学对我说,要是能把紫霞上的全部歌曲的播放列表添到iTunes里面就好了,这样就可以像播放硬盘上MP3那样听紫霞的音乐了。我觉得这个想法很有意思,几天之后开始尝试。在其FTP服务器发现一文件all.m3u,是音乐文件的列表,我抓下来之后用一个shell脚本把它分成了若干块。该grep分割shell脚本是我尚不会sed之前写的,很是笨拙。后来发现lftp的find命令即可得到FTP上目录和文件的列表,并开始学习sed。后来我写出了一个sed分割shell脚本,就生成了现有的以专辑为最小但愿的目录结构和播放列表。虽然该脚本技术含量和功能皆优于前面的脚本,但其效率极其低下,在我电脑上要运行约20小时才能生成最终结果。慢的原因是,我把条件判断的功能寄于sed,而我的sed水平还很初级,只能不计效率只管正确得写了。

我在新闻组求助时,有人告诉我,sed已经不能胜任这么复杂的工作了,需要Perl或者Python。当有人告诉我: "perl is a mess, use python"之后,我就开始学习Python了。在我尚未能写出Python版的iZixia时,rudey帮我写出了第一个可以得到结果的Python脚本。这个脚本还需要不断完善。


首次更新: 2005年3月5日
末次更新:

首页