美文网首页
python命令行音乐库管理软件:beets使用

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

作者: mudssky | 来源:发表于2020-02-18 21:51 被阅读0次

    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

    相关文章

      网友评论

          本文标题:python命令行音乐库管理软件:beets使用

          本文链接:https://www.haomeiwen.com/subject/uewnfhtx.html