V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wayne3602
V2EX  ›  音乐

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

  •  3
     
  •   wayne3602 · 2023-08-13 13:53:05 +08:00 · 4757 次点击
    这是一个创建于 403 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    博客地址: 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

    附言

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

    第 1 条附言  ·  2023-08-13 17:14:53 +08:00
    手机端那里表示的不对,抱歉,应该是安卓端,手边没有 iOS 手机,所以没有推荐 iOS 的本地播放音乐软件
    第 2 条附言  ·  2023-08-13 17:16:03 +08:00
    同理,电脑端是指 windows ,楼主是穷小子,买不起 mac ,在博客里纠正一下,在这里现在改不了了
    第 3 条附言  ·  2023-08-13 17:47:25 +08:00

    博客无法访问的大多为河南用户,不要慌,我在河南的时候也是无法访问,貌似是河南采用的白名单机制,换流量一般就好了,或者试试这个
    https://wayner.xlog.app/ 欢迎订阅博客 https://blog.wayner.cn/feed
    或者 https://wayner.xlog.app/feed

    34 条回复    2023-10-23 15:38:42 +08:00
    deali
        1
    deali  
       2023-08-13 15:03:18 +08:00 via Android
    好文!打算来我的 nas 上实践一下
    wayne3602
        2
    wayne3602  
    OP
       2023-08-13 15:29:32 +08:00 via Android
    @deali 😎😎
    slamDunkLINk
        3
    slamDunkLINk  
       2023-08-13 15:53:54 +08:00
    写的不错👍
    WisdomDevil
        4
    WisdomDevil  
       2023-08-13 16:04:47 +08:00
    感谢楼主分享
    hronro
        5
    hronro  
       2023-08-13 16:30:56 +08:00
    「手机端」应该「安卓端」吧,iOS 平台没看到有相关的介绍
    wxkk4567
        6
    wxkk4567  
       2023-08-13 16:52:53 +08:00
    ios 现在多端最好用的就是 plex 了吧,但是 plex 不支持内嵌字幕!只能外挂。
    lixiang2017
        7
    lixiang2017  
       2023-08-13 17:10:49 +08:00 via Android
    是客户端导入全库离线听吗?
    可以部署在服务器上,客户端在线听吗
    wayne3602
        8
    wayne3602  
    OP
       2023-08-13 17:11:05 +08:00
    @hronro 抱歉抱歉,我没注意这个细节,常见用安卓的我😂😂
    wayne3602
        9
    wayne3602  
    OP
       2023-08-13 17:12:45 +08:00
    @lixiang2017 不建议部署在服务器,因为这个音乐标签 web 版的作者好像没有在前端开发上传音乐的功能,即使开发了,上传和下载速度也要看你服务器的带宽,速度太慢,不如在本地部署
    wayne3602
        10
    wayne3602  
    OP
       2023-08-13 17:13:40 +08:00
    @wxkk4567 没用过哎,我目前还没使用过 ios 手机哈哈
    jasonyang9
        11
    jasonyang9  
       2023-08-13 17:20:50 +08:00
    本地音乐库不如自建流服务,毕竟就算是你一个人也会有多台设备,需要全平台同步

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

    预处理-转码:不建议转码,流服务器会自动帮助客户端动态处理
    预处理-拆分: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
        12
    wayne3602  
    OP
       2023-08-13 17:24:56 +08:00
    @jasonyang9 太复杂啦哈哈,我是咋简单咋来,同时毕竟是写教程嘛,要简单易懂,我一般都是使用云盘同步音乐库的😎
    momooc
        13
    momooc  
       2023-08-13 17:38:23 +08:00 via Android
    博客挂了?
    wayne3602
        14
    wayne3602  
    OP
       2023-08-13 17:44:25 +08:00
    @momooc 河南用户请使用流量,没备案的域名河南基本都无法访问,没法子
    jasonyang9
        15
    jasonyang9  
       2023-08-13 17:48:03 +08:00
    另外一个问题是对于听过的音轨,最好有一个记录的办法,特别是对它的评分。。
    痛点一:就算 MP3 或 AAC 有标签支持 RATING 等字段,也不通用,非标准,各种工具对它的支持度很迷;
    痛点二:对于那些听过,但不值得保存的音轨,你需要一个 out-of-band 类似数据库的办法来记录评分。。举个例子就是类似在线的豆瓣,imdb 等服务,能让你记录,免得几年后又去找来听一遍,笑哭
    有人思考或解决了这个问题的么?哈哈
    wayne3602
        16
    wayne3602  
    OP
       2023-08-13 18:46:07 +08:00
    @jasonyang9 #15 不太明白,我是一个初级音乐爱好者,我关心的只有歌曲信息和音质(音质好多我也听不出来有啥区别)
    gabon
        17
    gabon  
       2023-08-14 01:10:12 +08:00 via iPhone
    plex pass amp 的体验很好
    ClarkAbe
        18
    ClarkAbe  
       2023-08-14 08:16:37 +08:00 via Android
    navidrome 流媒体...简单搞定全平台...还支持开放 sonic 协议...
    ClarkAbe
        19
    ClarkAbe  
       2023-08-14 08:17:03 +08:00 via Android
    或者 mpd ...这个更简单...
    wayne3602
        20
    wayne3602  
    OP
       2023-08-14 08:57:19 +08:00 via Android
    @gabon iOS 的吗?可以给个截图看看吗?我没 ios
    shunia
        21
    shunia  
       2023-08-14 10:42:42 +08:00
    @jasonyang9 #11 哥们,方便描述啊,我现在就缺这个稳定来源的问题了。甚至想说干脆去买 cd 自己弄得了。
    euronx
        22
    euronx  
       2023-08-14 10:43:37 +08:00
    @jasonyang9 老哥,请问有什么源啊?实在是找不到😭
    6bsLo69Qdu3RPY4c
        23
    6bsLo69Qdu3RPY4c  
       2023-08-14 10:46:05 +08:00
    搞本地不玩解码器上 dsd ,大众玩具真不如花二三十买会员省心省力。
    Qlccks2
        24
    Qlccks2  
       2023-08-15 22:33:40 +08:00
    能不能分享下歌单?
    wayne3602
        25
    wayne3602  
    OP
       2023-08-16 00:09:20 +08:00 via Android
    @Qlccks2 明天有空发在博客🤣我喜欢的歌很多,但是常听的就是邓,周,林他们的歌
    rainmint
        26
    rainmint  
       2023-08-17 18:00:29 +08:00
    本地有 txt 歌单有没有办法批量下载
    wayne3602
        27
    wayne3602  
    OP
       2023-08-17 18:36:58 +08:00
    @rainmint 各大音乐平台都有使用链接或文字导入歌单的方法,你可以先导入到 qq 音乐,然后再使用那个 github 项目下载
    rainmint
        28
    rainmint  
       2023-08-17 18:47:52 +08:00
    @wayne3602 #27 试了 QQ 音乐的链接、文字都导入不进去
    wxkk4567
        29
    wxkk4567  
       358 天前
    现在多平台最优的方案 就是 plex 了 全平台包括车载,多端同步
    wxkk4567
        30
    wxkk4567  
       358 天前
    如果你玩 pt ,欢迎去朱雀下载我整理过的音乐大包!我已经按照歌手首字母排序,做了基础大包了,你只需在此基础上添加!就能完美做出本地音乐库了
    wayne3602
        31
    wayne3602  
    OP
       358 天前 via Android
    @wxkk4567 先问一下朱雀是指?
    这个本地音乐库是根据自己喜好构建的吧😊,都是一些自己喜欢的歌,下载别人的歌恐怕不太合适,这不像属于自己的本地音乐库,而像构建资源库😂
    einverne
        32
    einverne  
       343 天前
    @wxkk4567 可以邀请一下 PT 吗?

    另外有喜欢音乐的朋友也可以关注一下 pt.gtk.pw 会在里面不定期分享音乐 PT 的邀请。
    wxkk4567
        33
    wxkk4567  
       343 天前   ❤️ 1
    @wayne3602 并不是一些歌,那是一个音乐大包!国内歌手根据皇后 wiki 的歌手姓名排序 国内歌手现在是有 400 多位 欧美和日韩 我也做了一点大概加起来 200 不到! 整个音乐大包现在已经有 700 多 G !格式就是 音乐包-中文/日韩/欧美/-歌手姓名/专辑名称/专辑,差不多目录这个样子。里面包含 lrc 和专辑封面 cover.JPG ! 基本上你拿到手就能使用了
    [IMG]https://s2.loli.net/2023/10/12/LedfWrEs8aBvSxU.png[/IMG]
    [IMG]https://s2.loli.net/2023/10/12/6lhIrT7FkOdaZnf.png[/IMG]
    [IMG]https://s2.loli.net/2023/10/12/7nYZeELGitAPJX6.png[/IMG]
    wt0210
        34
    wt0210  
       332 天前
    @wxkk4567 大佬好,不知能否要个朱雀邀请(我玩馒头,里面没有你的这个包吧),大概十年前整理过自己的音乐库 100 多 G, 后来工作后就没精力折腾了, 很想要这个音乐大包!! d2FudHdvcmtpbmdAMTYzLmNvbQ==
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   959 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 21:54 · PVG 05:54 · LAX 14:54 · JFK 17:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.