perl与mp3-程序开发-3P代码网
繁体中文
设为首页
加入收藏
当前位置:程序开发首页 >> Perl >> perl与mp3

perl与mp3

2005-01-09 20:48:10  作者:wangaimin  来源:互联网  浏览次数:50  文字大小:【】【】【
简介: Teodor Zlatanov (tzz@bu.edu)程序员,Gold Software Systems2004 年 2 月 每一位自我陶醉的计算机和音乐爱好者都需要能够操纵 MP3 —— 娱乐性数字音乐的事实标准。在本文中,T...
关键字:perl mp3

Teodor Zlatanov (tzz@bu.edu)

程序员,Gold Software Systems

2004 年 2 月

每一位自我陶醉的计算机和音乐爱好者都需要能够操纵 MP3 —— 娱乐性数字音乐的事实标准。在本文中,Ted 介绍了几种使用 autotag.pl 应用程序管理和操纵(搜索、标记、重命名和注释,等等)MP3 的方法。Ted 向读者详细介绍了此应用程序,描述了 CPAN 模块如何启用该应用程序。

对于现在了解计算机的音乐爱好者而言,操纵 MP3 文件是一项必须具备的技能。虽然其他音乐文件格式已存在并在蓬勃发展着,但本文还是主要讨论 MP3 格式,因为众所周知,它是当今最流行的格式。但是,本文所讲述的一般方法也可用于处理其他允许使用标签(tag)的音乐文件格式。实际上,很多使用标签的文件格式都可以从类似本文中的 autotag.pl 程序中受益。欢迎您提出建议。

本文将一般性地讨论有关 Perl 的问题 ,特别关注 MP3 文件的操纵,并详细介绍了 autotag.pl 应用程序。

尽管已经有了 MP3::Info、MP3::ID3Lib、MusicBrainz::Client 和 AudioFile::Identify::MusicBrainz 模块,而且这些模块可能很有用,但我只使用 MP3::ID3Lib 的主要理由是因为它需要 id31ib 软件(请参阅 参考资料)。虽然 MP3::Info 是纯 Perl 语言编写的而且安装也很简单,但我发现 MP3::Tag 功能更强大。之所以没有使用 MusicBrainz::Client 和 AudioFile::Identify::MusicBrainz,是因为 MusicBrainz 似乎是比 FreeDB 更不全面的已发行 CD 的数据库。在本文的结尾,将向读者介绍 ID3 标签加注模块和曲目信息模块的选择。我经过试验和失败而艰难获得的经验表明, MP3::Tag 和 WebService::FreeDB 是最佳的模块。

虽然 CDDB (Gracenote) 磁盘库非常全面,但我还是没有选择使用它。Gracenote 是一家拥有 CD 曲目列表的专有数据库(只允许对数据库执行搜索,不能大量下载)的公司。在 Gracenote 只拥有 CDDB 的早期,志愿者贡献了这些数据库的相当一部分内容。而 FreeDB 是一个志愿者经过有组织的努力提供的免费、无限制的 CD 曲目数据库。FreeDB 数据库的整个内容都可以下载,无版权限制 —— 因此,如果您愿意,可以建立自己的 FreeDB 服务器。

我不使用的模块并不是因为这些模块一定不好,因此,如果您喜欢,您可以使用它们。基于个人经验和上述原因,我只是更喜欢 MP3::Tag 和 WebService::FreeDB。实际的读写标签在函数中进行了抽象,因此,如果使用不同的模块读写 MP3 标签,就不需要更改很多内容。

我还应提一下,在 Linux 内部的 xterm 和 Eterm 终端模拟器中,Term::ReadLine::Gnu 模块比默认模块 Term::ReadLine::Perl 能更好地工作。如果您注意到在提示输入期望的文本时出现一些奇怪的行为,那么可能要将其安装在 Term::ReadLine 之上。

MP3 标签的简单介绍

责任编辑:admin
相关文章