Demlo
Demlo 是一个批量音乐标签器和库管理器,由 Lua 和 FFmpeg 驱动。它支持转码、大小写检查、Cue 表、使用 MusicBrainz 进行在线标签、使用您喜欢的编辑器进行手动标签编辑、封面下载和处理等等。
安装
配置
该软件包提供了一个示例配置。从那里开始是个好主意
$ install -Dm644 /usr/share/demlo/demlorc -t ~/.config/demlo
脚本
Demlo 运行一系列 Lua 脚本来处理作为参数传递的文件。您可以从配置文件或运行时选择要运行的脚本。
每个脚本都可以访问一个 input
表,并修改一个 output
表,其中包含路径、标签、封面和编码属性等信息。
Demlo 自带一套官方脚本供您选择。
如果您想编写一个临时脚本(例如,仅对一张专辑有意义的脚本),您可以在本地文件夹中创建一个脚本,从命令行调用它,然后将其删除。
对于更持久的用户脚本,您可以将它们存储在 Demlo 的配置文件夹中。
您可以像配置一样从官方脚本派生您的脚本
$ install -Dm644 /usr/share/demlo/scripts/tag.lua -t ~/.config/demlo/scripts/
用户脚本文件夹优先于系统脚本文件夹:如果两个脚本共享相同的基本名称,则将使用用户脚本。
用法
默认情况下,Demlo 仅预览更改。使用 -p
命令行标志来确认处理。
有关所有选项和参数,请参阅 demlo -h
,demlo 手册 也可用。
用法示例
在一组文件上运行 Demlo 以预览更改
$ demlo *.ogg album/ other-album/*.flac
设置脚本链以更改结果
$ demlo -s tag -s ./my-script.lua -s encoding input-files
如果您需要细粒度调整,可以在命令行中在脚本链之前和之后运行 Lua 命令
$ demlo -pre 'o.artist="John Doe";o.disc=output.filename:match("Disc (\d+)")' -post 'output.format="ogg"' input-files
要处理文件,请使用 -p
参数。默认情况下,Demlo 使用所有可用的核心。您可以限制它
$ demlo -cores 2 -p input-files
如果您只想在线获取封面
$ demlo -c -s cover -s 90-rmsrc -p input-files
如果您想手动编辑标签或属性(以防脚本无法自动修复它们),您可以将更改导出到索引文件
$ demlo some-tuning input-files >> ./index.json
您可以将不同的输出堆叠到同一个索引文件中,Demlo 并不介意。您可以使用您喜欢的编辑器编辑此文件。要应用更改,请使用 -i
选项对所需的文件集调用 Demlo。脚本仍然可以被调用,如果您不想执行任何其他更改,也可以将其省略。
$ demlo -i ./index.json -r '' -post 'o.artist,o.album_artist=o.album_artist,artist' input-files
索引文件可以用于将 Demlo 与其他程序接口,既可以作为输入也可以作为输出。