命令行音乐库管理工具Beets
什么是 Beets ?
Beets是一个音乐库管理系统和音乐文件元数据标签编辑器。它使用MusicBrainz数据库来自动填充音乐文件的元数据信息,并且可以通过插件系统来增加各种额外功能,比如自动下载专辑封面,歌词等。其目的是使您的音乐收藏一劳永逸,对你的收藏进行分类,自动改进其元数据,并提供了一整套用于操纵和访问音乐的工具。
Beets 是给 geek们用的管理音乐文件的工具,所以本身被设计为一个库,通过插件,它几乎可以实现你对音乐收藏的任何想象。
本文介绍的 linuxserver/beets 镜像,包含了一个简单的播放器插件和网页播放器。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 beets ,选择第一个 linuxserver/beets,版本选择 latest。
本文写作时,
latest版本对应为version-2.0.0、2.0.0-ls236或者2.0.0;
卷
在 docker 文件夹中,创建一个新文件夹 beets,并在其中建三个子文件夹 config、downloads 和 music
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/beets/config |
/config |
存放配置文件和数据库等 |
docker/beets/downloads |
/downloads |
未经过处理的音乐 |
docker/beets/music |
/music |
音乐库 |

端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
| 本地端口 | 容器端口 |
|---|---|
8337 |
8337 |

环境
| 可变 | 值 |
|---|---|
PUID |
设为 1000 |
PGID |
设为 1000 |
TZ |
时区设置,设为了 Asia/Shanghai |

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 beets 和 子目录 |
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 beets 和 子目录 |
运行
在浏览器中输入 http://群晖IP:8337 就能看到主界面

在 downloads 目录中放了几个目录的文件

命令行
接下来要进入容器操作
1 | # 进入容器 |

中文歌曲没有被识别,所以 music 中只有 Medwyn Goodall 的曲子

从日志看到,是因为识别错误,老苏选择了 skip 跳过了

识别到的专辑,连封面都下载好了

如果再次执行,会直接跳过,除非有新增的目录或者文件
1 | beet import /downloads |

也可以用命令行查看导入的文件
1 | # 查看文件 |

可以指定歌手
1 | # 指定歌手 |

也可以指定专辑
1 | # 指定专辑 |

统计信息
1 | # 统计信息 |

更多的命令可以用 beet help 或者 beet -h进行查询
网页
在命令行导入的基础上,可以在网页上做一些简单的播放。因为 Beets 不仅是一个音乐库管理工具,也是一个音乐播放器。它包含一个简单的播放器插件和网页播放器
输入专辑或者歌手名称,然后回车,会检索出响应的歌曲

选中歌曲,可以播放页也可以下载

播放状态

参考文档
beetbox/beets: music library manager and MusicBrainz tagger
地址:https://github.com/beetbox/beetslinuxserver/docker-beets
地址:https://github.com/linuxserver/docker-beetsbeets: the music geek‘s media organizer
地址:https://beets.io/beets: the music geek’s media organizer — beets
地址:https://beets.readthedocs.ioBeautify Your Music Collection with Beets : the App, not the Vegetable. - YouTube
地址:https://www.youtube.com/watch?v=IQGM52MiIqg