2008年3月22日我宣布:因为我已经离开学校的教育网,所以我不再更新iZixia。有想接手更新本程序的人请联系我。
iZixia是一个只占用几百兆硬盘空间,即可方便地听十万余首MP3的东西。iZixia起初是我写的一个shell脚本,可以生成紫霞音乐网站所有MP3播放列表,并且按Zixia网站上的音乐分类目录,在硬盘上建立一模一样的目录。iZixia不包含和传播任何MP3文件,它只生成紫霞网站上MP3的播放列表。
用iZixia生成的十万余首MP3
iZixia在GNU通用许可证(GPL)下发布。使用iZixia者拥有GPL赋予的自由,亦有遵守GPL的义务。
7z压缩播放列表,2007年4月23日用0.9版生成,共约十三万首MP3。用自由软件7-zip解压。
想在自己的电脑上生成目录列表,可以下载生成目录列表用的python脚本(izixia-0.9.2.py)(由于紫霞更新可能会移动目录,个别曲目可能无法播放)。
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即可得到播放列表。
如果该网页或者里面的文件有问题,请告诉我,谢谢。
mirror对本版作了贡献,表示感謝。
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脚本。这个脚本还需要不断完善。