python命令行音乐库管理软件:beets使用

beet命令行接口的使用

beet 命令的形式大体上是这样的:

beet COMMAND [ARGS...]

01.功能列表

使用beet helpbeet help COMMAND可以快速浏览一下功能列表

Usage:
  beet COMMAND [ARGS...]
  beet help COMMAND

Options:
  --format-item=FORMAT_ITEM
                        print with custom format
  --format-album=FORMAT_ALBUM
                        print with custom format
  -l LIBRARY, --library=LIBRARY
                        library database file to use
  -d DIRECTORY, --directory=DIRECTORY
                        destination music directory
  -v, --verbose         log more details (use twice for even more)
  -c CONFIG, --config=CONFIG
                        path to configuration file
  -h, --help            show this help message and exit

Commands:
  config            show or edit the user configuration
  fetchart          download album art
  fields            show fields available for queries and format strings
  fingerprint       generate fingerprints for items without them
  help (?)          give detailed help on a specific sub-command
  import (imp, im)  import new music
  lastgenre         fetch genres
  list (ls)         query the library
  lyrics            fetch song lyrics
  modify (mod)      change metadata fields
  move (mv)         move or copy items
  remove (rm)       remove matching items from the library
  stats             show statistics about the library or a query
  submit            submit Acoustid fingerprints
  update (upd, up)  update the library
  version           output version information
  web               start a Web interface
  write             write tag information to files

02.import

beet import [-CWAPRqst] [-l LOGPATH] PATH...
beet import [options] -L QUERY

使用beet help import命令,我们发现import这个分支命令的这个使用文档已经比较详细了。而且我在之前的文章中已经介绍过了,所以这里就不再详细介绍了。

Usage: beet import [options]

Options:
  -h, --help            show this help message and exit
  -c, --copy            copy tracks into library directory (default)
  -C, --nocopy          don't copy tracks (opposite of -c)
  -m, --move            move tracks into the library (overrides -c)
  -w, --write           write new metadata to files' tags (default)
  -W, --nowrite         don't write metadata (opposite of -w)
  -a, --autotag         infer tags for imported files (default)
  -A, --noautotag       don't infer tags for imported files (opposite of -a)
  -p, --resume          resume importing if interrupted
  -P, --noresume        do not try to resume importing
  -q, --quiet           never prompt for input: skip albums instead
  -l LOG, --log=LOG     file to log untaggable albums for later review
  -s, --singletons      import individual tracks instead of full albums
  -t, --timid           always confirm all actions
  -L, --library         retag items matching a query
  -i, --incremental     skip already-imported directories
  -I, --noincremental   do not skip already-imported directories
  --from-scratch        erase existing metadata before applying new metadata
  --flat                import an entire tree as a single album
  -g, --group-albums    group tracks in a folder into separate albums
  --pretend             just print the files to import
  -S ID, --search-id=ID
                        restrict matching to a specific metadata backend ID
  --set=FIELD=VALUE     set the given fields to the supplied values

另外这些选项也可以在配置文件中进行默认行为的配置。

比如下面这些是我比较常用的配置

 
 import:
 # 决定日志文件的文件名,默认不生成日志文件
    log: musiclibrary.log
    # 取消默认标签,因为很多歌数据库搜不到都是自己加的标签,如果是平台下载的歌标签都加好了
    autotag: no
       # 设置为默认添加单曲,因为没有专辑听歌的习惯,单曲用的比较多
    singletons: yes
     # 喜好的语言,会决定标签的选择 有en jp es cn?等选项
    languages: []
    # 导入时显示详细信息
    detail: yes
    

然后关于--set=FIELD=VALUE可以添加自己定义的标签,或者设置已有的标签

这里需要注意的是,如果用set定义的字段是算到flexible filed里面的,不会写入文件的metadata。

03.list

beet list用于查询,后面跟查询字段,比如 title:abcde,把键和值用冒号连接起来。

使用-a选项搜索专辑,这时候对于单个项目的字段就不生效了,只有专辑层面的字段才能生效。

-p选项加上就会打印文件名,-f后面可以跟模板字符串,用于格式化输出。

使用双冒号连接键值可以用正则表达式进行搜索::

04.remove

从数据库中删除音乐。后面跟list一样的查询字符串

beet remove [-adf] QUERY

默认只是删除数据库中的数据,并且删除前会请你确认。加上-d选项就会把磁盘上的文件也删除

-f选项可以跳过确认步骤。

05.modify

beet modify [-MWay] [-f FORMAT] QUERY [FIELD=VALUE...] [FIELD!...]

修改单曲和专辑的metadata,并且数据库也会随之更新

提供查询字符串,同样是用冒号连接,但是修改的字段和值之间是用等号进行连接的

-a选择操作专辑的字段

modify命令输入后,会先把要修改的项目展示给你,等你确认完再执行,使用-y选项可以跳过这个过程

06.move

beet move [-capt] [-d DIR] QUERY

用于移动或者拷贝项目,可以匹配查询字符串

当我们在配置文件中修改了目录结构的时候,就可以用move指令让文件自动移动到对应的位置。

-c变移动为拷贝

-a查询字符串改为查询专辑

-d指定移动的目标目录

-p不移动,输出要移动的文件

07.update

beet update [-F] FIELD [-aM] QUERY

更新数据库,可能会移动文件。

这个操作会遍历数据库,提取所有文件的metadata来更新数据库。如果一个文件没有被编辑过,那么就不会触发upadate,因为它判断一个文件是否被修改是通过修改时间的参数。

-F参数,设置后只修改对应字段。

当专辑的一部分音乐发生变化的时候,beet是根据专辑的第一个音轨来确定专辑层面的字段,并且会

把第一个音轨的专辑信息拷贝到后面其他音轨。

08.write

beet write [-pf] [QUERY]

从数据库对文件写入tag,如果数据库发生变化了,可以使用这个命令吧变化反映到文件上。

(比如 你用mod修改了字段。)

-f就算文件和数据库匹配也写入一次。

09.stats

查看整个数据库相关的数据

-e精确模式,获得的文件大小和时长更准确,但是会花费更多的时间和资源

09.fileds

beet fields

列出所有可以用于查询或者格式化路径的字段。包括插件提供的字段和你的自定义字段。

010.config

beet config [-pdc]
beet config -e

没有参数的情况下会输出当前用户配置

--path输出配置文件的路径

--default输出默认配置

--clear默认情况下,输出配置的时候敏感信息比如密码不会显示,但是加上clear选项就可以显示出来了

--edit使用$EDITOR环境变量指向的编辑器编辑

011.Global Flags

有一些参数作用于所有的命令,这些参数放再beet和分支命令的中间

比如beet -v import

  • -l LIBPATH: specify the library database file to use.
  • -d DIRECTORY: specify the library root directory.
  • -v: verbose mode; prints out a deluge of debugging information. Please use this flag when reporting bugs. You can use it twice, as in -vv, to make beets even more verbose.
  • -c FILE: read a specified YAML configuration file. This configuration works as an overlay: rather than replacing your normal configuration options entirely, the two are merged. Any individual options set in this config file will override the corresponding settings in your base configuration
  1. 实例
    就像我下面的这行,配合我的配置文件使用
beet im -m  --set=playlist=Vtuber --set=vtubername=鹿乃 .
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,076评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,658评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,732评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,493评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,591评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,598评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,601评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,348评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,797评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,114评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,278评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,953评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,585评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,202评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,442评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,180评论 2 367
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,139评论 2 352

推荐阅读更多精彩内容