一个简单的cli音频标记器。

audiotag的Python项目详细描述


音频标签

audiotag是用python3编写的命令行音频标记器。 它使用TagLib来编写元数据。 它有一个非常简单的使用互动模式,让您标记一个单一的专辑尽可能快。

安装

您可以直接从pypi安装audiotag。

pip install audiotag

如果您运行的是arch linux,则可以从aur安装它。这个包叫做^{}

用法

audiotag提供不同的子命令:

Usage:
  audiotag print FILE...
  audiotag interactive FILE...
  audiotag set [--artist=ARTIST|--noartist] [--title=TITLE|--notitle]
               [--album=ALBUM|--noalbum] [--date=DATE|--nodate]
               [--genre=GENRE|--nogenre] [--tracknumber=TRACKNUMBER|--notracknumber]
               [--tracktotal=TRACKTOTAL|--notracktotal] [--discnumber=DISCNUMBER|--nodiscnumber]
               [--disctotal=DISCTOTAL|--nodisctotal] FILE...
  audiotag clean FILE...
  audiotag rename [--pattern=PATTERN] [-f] FILE...
  audiotag copy SOURCEFOLDER DESTFOLDER
  audiotag -h | --help
  audiotag -v | --version

打印

print子命令打印所有标记。 每个标记的多个值将作为列表打印。

$ audiotag print *.flac
Filename: /path/to/files/1 - At Giza.flac
ALBUM: ['Conference of the Birds']
ARTIST: ['Om']
DATE: ['2006']
DISCNUMBER: ['1']
DISCTOTAL: ['1']
ENCODER: ['Lavf58.12.100']
GENRE: ['Doom Metal']
TITLE: ['At Giza']
TRACKNUMBER: ['1']
TRACKTOTAL: ['2']

Filename: /path/to/files/2 - Flight of the Eagle.flac
ALBUM: ['Conference of the Birds']
ARTIST: ['Om']
DATE: ['2006']
DISCNUMBER: ['1']
DISCTOTAL: ['1']
ENCODER: ['Lavf58.12.100']
GENRE: ['Doom Metal']
TITLE: ['Flight of the Eagle']
TRACKNUMBER: ['2']
TRACKTOTAL: ['2']

互动

interactive子命令将所有给定的文件解释为单个相册,并要求提供所有必要的信息。 如果Number of discs值大于1,audiotag将询问您当前标记的磁盘。 否则DISCNUMBER标记也将设置为1。 Number of songs用于在使用rename子命令时确定前导零的数目。

$ audiotag interactive *.flac
Artist: Om
Albumtitle: Conference of the Birds
Genre: Doom Metal
Year: 2006
Number of songs: 2
Number of discs: 1
/path/to/files/1 - At Giza.flac
Title: At Giza
/path/to/files/2 - Flight of the Eagle.flac
Title: Flight of the Eagle

设置

如果要以非交互方式设置标记,可以使用set命令。 您可以从以下选项中进行选择:

  • --artist="Example"
  • --title="Example"
  • --album="Example"
  • --date=2000
  • --genre="Example"
  • --tracknumber=1
  • --discnumber=2
  • --tracktotal=10
  • --disctotal=2

如果要删除标记,可以选择以下选项:

  • --noartist
  • --notitle
  • --noalbum
  • --nodate
  • --nogenre
  • --notracknumber
  • --nodiscnumber
  • --notracktotal
  • --nodisctotal

你可以随意组合这些选项。 下面是一个示例:

$ audiotag set --artist=Om --album="Conference of the Birds" --nodiscnumber 01-at_giza.flac  

清洁

clean子命令从文件中删除所有标记,但ENCODER标记除外。

重命名

rename子命令允许您根据音频标记重命名文件。 必须提供重命名模式。 模式可能包含这些占位符的组合:

  • {a}:艺术家
  • {t}:标题
  • {l}:相册
  • {y}:日期
  • {g}:类型
  • {n}:轨迹号
  • {d}:磁盘号
  • {nt}:trackTotal
  • {dt}:磁盘总计

如果未指定模式,则audiotag将使用{N} - {T},前提是disctotal标记设置为1,或者{D}-{N} - {T},前提是disctotal标记设置为其他标记或丢失。 您不需要not向模式添加扩展。 audiotag将扩展名添加到输出文件名中。

$ ls
01-at_giza.flac  02-flight_of_the_eagle.flac

$ audiotag rename *.flac

$ ls
'1 - At Giza.flac'  '2 - Flight of the Eagle.flac'

如果新文件名已经存在,Audiotag会询问是否要覆盖现有文件。可以使用-f--force选项禁用此检查。

复制

copy子命令将标记从source文件夹中的所有文件复制到目标文件夹中的相应文件。 文件名在匹配之前按字母顺序排序。 请注意,ENCODER标记ist未复制。

依赖关系

运行audiotag需要以下依赖项:

  • docopt:用于分析命令行参数
  • pytaglib:用于访问taglib的python包装器

可选依赖项为:

  • gnureadline:为了获得更好的用户输入(readline应该已经安装在任何linux系统上)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用具有多个参数的dataclass toString?   java如何在Hibernate查询和会话中启用MySQL二进制运算符。得到()   JavaSpring存储库生成与属性命名约定   java如何计算浮点数中的字符总数   如何让NetBeans向我展示Java方法的正确文档?   使用JDBCJava字符串,在PHP中连接到mysql数据库   解析简单的ANTLR项目测试java类挂起   eclipse为新Java项目将Git指向何处   java按空格或按空格拆分字符串\n   关于objective c java字节移位的帮助   java如何从中获取地图。txt文件使用属性?   java如何将整数格式化为DD格式   java循环a jaxb   java导出和运行jar   java Spring框架无法使用EntityManager保存在数据库中。合并()   java错误[TRACE][rpctest]查找入口点类:使用GWT使用Hibernate将数据插入MySql   Java读取Windows密钥状态   java无法找到正确的表达式   使用BufferedReader处理double时的java NumberFormatException   java从csv文件读取unicode字符