写了一篇详细的创建本地音乐库的教程

269 天前
 wayne3602

愿大家不再因为灰色歌曲的影响听不到自己喜欢的歌而烦恼,本文将介绍如何创建一个完整的本地音乐库,解决本地歌曲封面、歌词等音乐信息缺失等问题

博客地址: https://blog.wayner.cn/music_fun

前言

关于音乐的前两篇文章分别提到了如何通过歌单批量下载无损音乐如何快速地迁移自己喜欢的歌曲和歌单

这样以来,我的音乐体验舒服了许多,但是最近听歌的时候,还是发现很多歌曲没了版权,一些歌曲由于一些原因更换了版本,虽然是同一个歌手的创作,但是却没有当初的味道了;再加上上次虽然下载了我喜欢的歌曲到本地,但是没有整理和集中管理,也没有歌词。于是我便下定决心创建自己的本地音乐库

本文将介绍如何下载无损音乐、批量将音乐信息(包括歌词、封面、作者、流派等)导入歌曲中、集中化管理歌曲(多平台软件推荐)

下载你喜欢的歌曲

在上一篇教程中已经十分详细地说明了如何批量下载自己在 qq 音乐等平台收藏的歌曲,详细可见这一篇文章如何下载 qq 、网易云等平台的无损音乐

当然,你也可以在庞大的互联网中寻找你喜欢的歌曲,善于使用搜索引擎能让你的搜索效率翻倍,可以看我的这篇文章来更好的利用搜索引擎搜到你想要的资源善用搜索引擎

这里推荐一下我经常用来下载音乐的网站:HIFINI-音乐磁场,这里所有的音乐都来自网友的分享,下载的音乐为一个压缩包,压缩包的音乐分为两种,一种是常见的 mp3 格式,一种是无损的 flac 格式,根据自己需求解压自己需要的格式即可。

ps:在这里下载歌曲需要金币,金币十分便宜,几块钱就能下载几十首歌曲

将歌曲信息导入到下载的歌曲

刚刚下载了自己喜欢的歌曲,在播放器上一播放,既没有歌词,有没有封面,十分难受,这样整理出来的本地歌曲也不配称之为“音乐库”,在手机上我们可以使用音乐标签这款 app 对已经下载的歌曲进行歌曲信息的搜索和一键导入,但是一个个的导入太慢了,电脑端的音乐标签也很久没有更新了,测试了一下导入速度非常慢。这里介绍一个开源项目-音乐标签 web 版,可以一键批量导入歌曲的信息

开源地址: https://github.com/xhongc/music-tag-web

该开源项目采用 docker 部署,十分简单快速,我们需要先安装 docker 和 docker-compose ,安装教程在 b 站搜索一下即可,讲的十分详细,安装完之后最好把 docker 的路径和 wsl 的目录迁移到其他盘(默认都是安装在系统盘的)这篇文章介绍的很详细: win10 使用 WSL 2 运行 Docker Desktop ,运行文件从 C 盘迁移到其他目录

安装完成后我们在一个位置创建文件夹,命名为music-tag-web,在文件夹里面创建一个文件,名为docker-compose.yml,之后编辑这个文件,内容写入

version: '3'

services:
	music-tag:
		image: registry.cn-hangzhou.aliyuncs.com/charles0519/music_tag_web:1.0.9
		container_name: music-tag-web
		ports:
			- "8001:8001"
		volumes:
			- ./music:/app/media:z
		command: /start
		restart: always

我们只需要关注端口部分,8001 端口是要占用的端口,在这个形式中:8001:8001,左面映射的是我们计算机的端口,可以改为未占用的端口 使用如下命令查看端口是否被占用

netstat -ano | findstr :8001

如果没有返回任何内容,则说明端口未被占用

之后我们在本目录下按住Shift+鼠标右键,选择在终端中打开,或者在地址栏输入 cmd ,然后回车也可以,在命令行输入

docker-compose up -d

即可拉取 docker 镜像并在后台运行 docker ,注意你的 docker-desktop 这个应用程序不要关闭,否则会结束运行所有的 docker 进程

是不是很简单,使用 docker-compose 部署项目极其简单,只需要关注docker-compose.yml文件的一些敏感信息(docker-compose.yml文件一般都由开发者提供),然后使用一行命令即可运行

然后我们在浏览器的地址栏输入 http://localhost:8001/

如果你在前面更改了端口,记得把 8001 改为你修改的端口

这时你回到music-tag-web文件夹内,你会发现文件夹内多了一个 music 文件夹,将你下载的歌曲移动至music-tag-web/music/music文件夹内,之后就可以在网页端进行操作了

集中化管理(本地播放器推荐)

手机端

简单介绍

手机端推荐椒盐音乐,精美简洁的 UI 界面,超多的功能,播放界面十分优美,状态栏歌词功能很实用,虽然是 vip 功能,但作者是采用“诚信小店”的形式经营的,即便没有付费,也可以体验所有的 vip 功能

安装方式

  1. github
  2. 酷安
  3. 谷歌商店

桌面端

简单介绍

电脑端推荐Dopamine,电脑端本地音乐播放器的一款清流,界面简洁的同时具备了日常听歌所需的所有功能,支持读取歌曲封面、歌词、自动搜索歌词等。目前分为 2 和 3 两个大版本,开源仓库不同,2 是采用 c 语言写的,3 是 TypeScript 写的,相比之下 2 的占用内存较小,并且 3 由于时间原因大多数功能还未完善,比如它无法读取歌曲的信息,所以目前不推荐使用

主界面 播放界面

安装方式

使用 scoop 安装(推荐)

一行命令搞定

scoop install dopamine

可以在安装前先搜索

scoop search dopamine

结果为

Name     Version Source Binaries
----      ----     ----    -----
dopamine 2.0.9    extras

说明 scoop 的仓库中有 dopamine 这个软件,最新版本为2.0.9,它包含在extras这个仓库中,如果你还没有添加extras仓库,使用命令

scoop bucket add extras

然后执行

scoop install dopamine

以后使用 scoop 安装软件的流程都是如此,先搜索是否有这个软件,查看对应版本号和仓库,添加仓库,最后执行安装

如果你的电脑还没有安装 scoop 包管理工具,可以看我这篇文章使用 scoop 管理你的 Windows 软件,在以后的教程以及软件推荐都会经常的用到 scoop ,因为它真的十分好用

在 github 安装

在 github 的 releases 界面可以选择对应版本直接进行安装,有 zip 和 msi 两种安装方式,根据需求选择即可,我个人还是喜欢 zip 便携包,随时可以迁移 https://github.com/digimezzo/dopamine-windows/releases

附言

到目前为止,我们已经完成了音乐的下载、迁移、本地管理等一系列操作,相信各位已经有一个不错的音乐体验了,我本人的音乐折腾到此为止,如果大家有更细致的音乐管理方案,欢迎在评论区留言

3996 次点击
所在节点    音乐
34 条回复
deali
269 天前
好文!打算来我的 nas 上实践一下
wayne3602
269 天前
@deali 😎😎
slamDunkLINk
269 天前
写的不错👍
WisdomDevil
269 天前
感谢楼主分享
hronro
269 天前
「手机端」应该「安卓端」吧,iOS 平台没看到有相关的介绍
wxkk4567
269 天前
ios 现在多端最好用的就是 plex 了吧,但是 plex 不支持内嵌字幕!只能外挂。
lixiang2017
269 天前
是客户端导入全库离线听吗?
可以部署在服务器上,客户端在线听吗
wayne3602
269 天前
@hronro 抱歉抱歉,我没注意这个细节,常见用安卓的我😂😂
wayne3602
269 天前
@lixiang2017 不建议部署在服务器,因为这个音乐标签 web 版的作者好像没有在前端开发上传音乐的功能,即使开发了,上传和下载速度也要看你服务器的带宽,速度太慢,不如在本地部署
wayne3602
269 天前
@wxkk4567 没用过哎,我目前还没使用过 ios 手机哈哈
jasonyang9
269 天前
本地音乐库不如自建流服务,毕竟就算是你一个人也会有多台设备,需要全平台同步

源:自己找,耳熟能详的几个地方,但这里不方便描述

预处理-转码:不建议转码,流服务器会自动帮助客户端动态处理
预处理-拆分:CUE 到每音轨 MP3 等,mp3splt
预处理-拆分(例外):Enigma 之类的专辑不拆分,音轨之间有过渡内容
预处理-标签:Picard 全自动或半自动打标签
预处理-标签规范:albumartist-date-album-tracknumber-title-genre
预处理-统一回放增益:mp3gain ,aacgain

流服务器:Navidrome ,Lightweight Music Server ,Gonic ( Docker 或编译安装)等

客户端:任何支持 Subsonic ,Airsonic ,Madsonic 的播放器
客户端推荐:DSub ( Android ),Strawberry ( Linux ),Clementine (目前唯一支持 Win7 的老古董)
wayne3602
269 天前
@jasonyang9 太复杂啦哈哈,我是咋简单咋来,同时毕竟是写教程嘛,要简单易懂,我一般都是使用云盘同步音乐库的😎
momooc
269 天前
博客挂了?
wayne3602
269 天前
@momooc 河南用户请使用流量,没备案的域名河南基本都无法访问,没法子
jasonyang9
269 天前
另外一个问题是对于听过的音轨,最好有一个记录的办法,特别是对它的评分。。
痛点一:就算 MP3 或 AAC 有标签支持 RATING 等字段,也不通用,非标准,各种工具对它的支持度很迷;
痛点二:对于那些听过,但不值得保存的音轨,你需要一个 out-of-band 类似数据库的办法来记录评分。。举个例子就是类似在线的豆瓣,imdb 等服务,能让你记录,免得几年后又去找来听一遍,笑哭
有人思考或解决了这个问题的么?哈哈
wayne3602
269 天前
@jasonyang9 #15 不太明白,我是一个初级音乐爱好者,我关心的只有歌曲信息和音质(音质好多我也听不出来有啥区别)
gabon
269 天前
plex pass amp 的体验很好
ClarkAbe
268 天前
navidrome 流媒体...简单搞定全平台...还支持开放 sonic 协议...
ClarkAbe
268 天前
或者 mpd ...这个更简单...
wayne3602
268 天前
@gabon iOS 的吗?可以给个截图看看吗?我没 ios

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/964870

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX