命令行音乐库管理工具Beets

ops/2024/12/22 9:42:13/

在这里插入图片描述

什么是 Beets ?

Beets 是一个音乐库管理系统和音乐文件元数据标签编辑器。它使用 MusicBrainz 数据库来自动填充音乐文件的元数据信息,并且可以通过插件系统来增加各种额外功能,比如自动下载专辑封面,歌词等。其目的是使您的音乐收藏一劳永逸,对你的收藏进行分类,自动改进其元数据,并提供了一整套用于操纵和访问音乐的工具。

Beets 是给 geek们用的管理音乐文件的工具,所以本身被设计为一个库,通过插件,它几乎可以实现你对音乐收藏的任何想象。

本文介绍的 linuxserver/beets 镜像,包含了一个简单的播放器插件和网页播放器。

安装

群晖上以 Docker 方式安装。

在注册表中搜索 beets ,选择第一个 linuxserver/beets,版本选择 latest

本文写作时, latest 版本对应为 version-2.0.02.0.0-ls236 或者 2.0.0

docker 文件夹中,创建一个新文件夹 beets,并在其中建三个子文件夹 configdownloadsmusic

文件夹装载路径说明
docker/beets/config/config存放配置文件和数据库等
docker/beets/downloads/downloads未经过处理的音乐
docker/beets/music/music音乐库

在这里插入图片描述

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
83378337

在这里插入图片描述

环境

可变
PUID设为 1000
PGID设为 1000
TZ时区设置,设为了 Asia/Shanghai

在这里插入图片描述

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 beets 和 子目录
mkdir -p /volume1/docker/beets/{config,downloads,music}# 进入 beets 目录
cd /volume1/docker/beets# 运行容器
docker run -d \--restart unless-stopped \--name=beets \-p 8337:8337 \-v $(pwd)/config:/config \-v $(pwd)/music:/music \-v $(pwd)/downloads:/downloads \-e PUID=1000 \-e PGID=1000 \-e TZ=Asia/Shanghai \linuxserver/beets:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'services:beets:image: linuxserver/beets:latestcontainer_name: beetsrestart: unless-stoppedports:- 8337:8337volumes:- ./config:/config- ./music:/music- ./downloads:/downloadsenvironment:- PUID=1000- PGID=1000- TZ=Asia/Shanghai

然后执行下面的命令

# 新建文件夹 beets 和 子目录
mkdir -p /volume1/docker/beets/{config,downloads,music}# 进入 beets 目录
cd /volume1/docker/beets# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8337 就能看到主界面

在这里插入图片描述

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

在这里插入图片描述

命令行

接下来要进入容器操作

# 进入容器
docker exec -it beets /bin/bash# 导入下载目录
beet import /downloads

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

beet import /downloads

在这里插入图片描述

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

# 查看文件
beet list

在这里插入图片描述

可以指定歌手

# 指定歌手 
beet list <歌手># 示例
beet list Medwyn Goodall

在这里插入图片描述

也可以指定专辑

# 指定专辑
beet list <专辑># 示例
beet list Innocence

在这里插入图片描述

统计信息

# 统计信息
beet stats

在这里插入图片描述

更多的命令可以用 beet help 或者 beet -h进行查询

网页

在命令行导入的基础上,可以在网页上做一些简单的播放。因为 Beets 不仅是一个音乐库管理工具,也是一个音乐播放器。它包含一个简单的播放器插件和网页播放器

输入专辑或者歌手名称,然后回车,会检索出响应的歌曲

在这里插入图片描述

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

在这里插入图片描述

播放状态

在这里插入图片描述

参考文档

beetbox/beets: music library manager and MusicBrainz tagger
地址:https://github.com/beetbox/beets

linuxserver/docker-beets
地址:https://github.com/linuxserver/docker-beets

beets: the music geek‘s media organizer
地址:https://beets.io/

beets: the music geek’s media organizer — beets
地址:https://beets.readthedocs.io

Beautify Your Music Collection with Beets : the App, not the Vegetable. - YouTube
地址:https://www.youtube.com/watch?v=IQGM52MiIqg


http://www.ppmy.cn/ops/143986.html

相关文章

只需3步,使用Stable Diffusion无限生成AI数字人视频

效果演示 先看效果&#xff0c;感兴趣的可以继续读下去。 没有找到可以上传视频的地方&#xff0c;大家打开这个链接可以看到&#xff1a;www.aliyundrive.com/s/CRBm5NL3x… 基本方法 搞一张照片&#xff0c;搞一段语音&#xff0c;合成照片和语音&#xff0c;同时让照片中…

计算机网络面经总结

目录 Tcp三次握手 为什么要三次握手&#xff1f; 半连接队列和全连接队列 三次握手可以携带数据吗&#xff1f; TCP四次挥手 为什么不能把服务端发送的ACK和FIN合并&#xff0c;变成三次挥手&#xff1f; 第二次挥手时服务端ACK没有送达客户端会怎么样&#xff1f; 为什…

【开源免费】基于SpringBoot+Vue.JS在线宠物用品交易网站(JAVA毕业设计)

本文项目编号 T 092 &#xff0c;文末自助获取源码 \color{red}{T092&#xff0c;文末自助获取源码} T092&#xff0c;文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

django 中在admin.py中的管理后台中需要挂载js脚本

django 中在admin.py中的管理后台中需要挂载js脚本 django自带的admin后台需要使用到自定义的js脚本文件时&#xff0c;这个js文件该怎么存放 如 class ArticleAdmin(admin.ModelAdmin):class Media:js (admin/js/copy_to_clipboard.js,) # 引用全局 JavaScript 文件#这里…

使用ioredis在Node.js中操作Redis数据结构的详细指南

使用ioredis在Node.js中操作Redis数据结构的详细指南 一. 使用ioredis操作Redis数据结构的详细知识点讲解 在Node.js中&#xff0c;ioredis是一个强大且易于使用的Redis客户端库&#xff0c;它提供了对Redis数据库的直接操作。本文将通过一系列代码示例&#xff0c;详细解释如…

Edu学生福利权益大全

所需材料&#xff1a;一个Edu邮箱&#xff08;如果还没有&#xff0c;可以通过学校申请或参考这里 https://techie.pp.ua/notes/a1q0uiwbdcnk000h&#xff09;。 1. GitHub 学生开发者包 (GitHub Student Developer Pack) 权益&#xff1a; 免费使用多达 89 种开发工具&…

CCF-GESP 等级考试 2024年12月认证C++七级真题解析

2024年12月真题 一、单选题&#xff08;每题2分&#xff0c;共30分&#xff09; 正确答案&#xff1a;D 解析&#xff1a;考察字符类型和ASCII码值。 字符类型参与运算&#xff0c;是它所对应的ASCII码值在参与运算&#xff0c;运算结果为整数值。小写字母 b 的ASCII码为98&am…

如何解决Git Clone时无法识别Https证书的问题

例如在通过Idea工具Clone Gitee代码库时&#xff0c;报错如下&#xff1a; fatal: unable to access https://gitee.com/xxx/yyy.git/: SSL certificate problem: unable to get local issuer certificate这个问题通常是由于本地计算机无法验证远程服务器的SSL证书引起的。可…