使用外部文本文件管理音频文件元数据。
项目描述
介绍
kantag是一组 Python 库和工具,用于使用称为“kantag 文件”的外部文本文件管理音频文件(flac、ogg vorbis、mp3 和 m4a)元数据。无论音频文件类型如何,文件的格式都是相同的。包括一个从现有标签、路径和MusicBrainz数据生成文本文件的工具 initkan;将元数据写入音频文件标签的工具applykan;以及显示元数据的工具 showkan。一个典型的kantag文件会有如下所示的行:
# Album / common track info a AlbumArtist=Rush a AlbumArtistSort=Rush a Album=2112 a Date=1976-03-12 a Composer=Geddy Lee a ComposerSort=Lee, Geddy t 01-05 Composer=Alex Lifeson t 01-05 ComposerSort=Lifeson, Alex t 01-03,06 Lyricist=Neil Peart t 01-03,06 LyricistSort=Peart, Neil t 01 Title=2112 t 01 Work=2112 t 01 Part=1. Overture t 01 Part=2. The Temples of Syrinx t 01 Part=3. Discovery t 01 Part=4. Presentation t 01 Part=5. Oracle: The Dream t 01 Part=6. Soliloquy t 01 Part=7. Grand Finale
典型用法
在典型的kantag工作流程中,用户将拥有一张音频文件专辑,无论是从 CD 翻录、从在线商店购买、从 Bandcamp 下载还是其他来源。在大多数情况下,文件已经包含元数据标签。 MusicBrainz Picard是设置初始元数据的推荐选择,特别是对于从物理媒体中提取的文件。工具initkan将为一组音频文件生成一个基线文件:
$ initkan -v -b=y -M=y *.ogg > tags.kan
如上例所示,输出通常会作为文件保留在与音频文件相同的文件夹中。然后,该文件可以由任何可用的文本编辑器进行编辑,以满足用户的个人喜好。请注意, kantag工具识别的其他标签不一定由 initkan输出。要将标签写回音频文件,请使用applykan:
$ applykan -v tags.kan *.ogg
安装
警告
由于与系统包管理器冲突,一些 Linux 发行版不鼓励使用pip或setup.py install安装系统级 python 包。在这些情况下,应尽可能通过包管理器安装依赖项,或者选择用户文件夹安装方法。
使用 pip 安装
如果您的系统安装了pip,并且您有权在系统包中安装软件,那么可以从 PyPI以管理员身份安装kantag:
# pip install kantag
如果您无权安装系统包,或者不想安装在系统位置,可以将其安装在用户文件夹中:
$ pip install --user kantag
从源安装
从Releases页面下载发布 tarball ,然后解压缩:
$ tar zxvf kantag-1.1.0.tar.gz
或者从 git 仓库获取最新的源码:
$ git clone https://github.com/dgasaway/kantag.git
如果您有权在系统包中安装软件,则可以以管理员身份安装:
# python setup.py install
如果您无权安装系统包,或者不想安装在系统位置,可以将其安装在用户文件夹中:
$ python setup.py install --user
文件格式
总的来说,如果kantag文件包含任何非 ASCII 字符,则它应该是没有 BOM 的 UTF-8 编码。每一行都根据以下规则进行解析。允许和忽略空行。
行格式
行的第一个字符表示行类型:
字符 |
描述 |
|---|---|
# |
将被忽略的注释行。 |
一个 |
将应用于所有文件的标签。 |
d |
将应用于所选光盘的标签。 |
吨 |
将应用于所选曲目的标签。 |
对于光盘和轨道类型,next 是一个空格,后跟标签适用的光盘/轨道编号列表。该列表以逗号分隔,并且可能包含由连字符表示的范围。一些例子:
选择器 |
描述 |
|---|---|
t 10 |
适用于轨道 10。 |
d 2 |
适用于光盘 2 上的所有曲目。 |
d 1-3 |
适用于光盘 1、2 和 3 上的所有曲目。 |
t 01,05-07,10 |
适用于轨道 1、5、6、7 和 10。 |
如果音频文件名的光盘或轨道号填充为零,则数字可能需要填充为零,如上面的轨道示例。这也可能取决于传递给applykan的--path-regex选项的设置。在默认设置下,应在kantag文件和文件名中将曲目编号填充为两位数。此外,在使用多碟发行时,曲目编号应与碟片编号一起使用,如以下示例所示:
选择器 |
描述 |
|---|---|
电话号码 101-103 |
适用于光盘 1 的轨道 1 至 3。 |
吨 105,201-202 |
适用于光盘 1 的轨道 5,以及光盘 2 的轨道 1 和 2。 |
接下来是一个空格和由等号分隔的标签名称/值对。第一个等号之前的任何内容都将用作标记名称,行尾之后的任何内容都是值。把它们放在一起,你有这样的东西:
t 07 Composer=Jaromír Weinberger
不支持多行值。相反,使用标签的多个实例:
t 07 Comment=Work premièred in 1927. t 07 Comment=Known in English as "Švanda the Bagpiper" or "Schwanda the Bagpiper".
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。