“我想我有一个数据,它或多或少完整地记录了我在过去十多年里听过的所有音乐,以及从那时起我的音乐品味是如何演变的。我希望,当我老了,头发花白了,我将有一生的音乐来回顾。”

大家好,我是小胖。前段时间写了个飞牛NAS搭配navidrome、musictag以及音流app的文章 https://www.lllyyb.com/archives/kN2w6R2R。我在那篇文章后面提到,这一套很不错,但是没有年度总结,今天给大家分享一下navidrome关于音乐记录的一些功能,主要是 last.fm 和 ListenBrainz~

首先,navidrome最好是用docker的方式自己安装,飞牛应用商店里的好像低了一个版本,也不方便增加各种配置,而且也方便在其他支持docker的NAS系统(群晖、极空间、绿联等)上装。

打开navidrome的设置页面,可以看到这里有last.fm 和 ListenBrainz两个配置,这两个都是可以用来记录你的听歌历程的~

1-mim7.png

last.fm

last.fm,2002 年成立,凭借“scrobbling”记录听歌数据,构建了庞大的社交网络和推荐系统,并且有中文页面支持。提供丰富的社交功能,如好友、群组、音乐推荐以及个性化电台,用户界面较成熟,社区活跃,适合喜欢分享和交流的用户。

2-3s8i.png

可以看到这个页面还是不错的,有根据你听歌记录的喜好推荐(这些推荐的还是挺匹配的~),然后也有听歌的历史记录。

3-uvur.png

至于历史记录报告,因为小胖也是最近才开始用的last.fm(小胖以前安装的版本没有last.fm的记录设置,然后就没搞了),目前还没有完整的报告,有数据的朋友可以留言分享一下,让我们欣赏一下你的歌单~

另外last.fm的实验室里面也有4个挺有意思的功能,不过小胖的数据还是不全,不好展示。

要配置last.fm比较简单,去他的网站 https://www.last.fm/zh/ 上面注册一下,会发一个邮件确认,记得到邮箱里面确认激活一下,然后进入这个页面来设置https://www.last.fm/zh/api/account/create。

4-aj0m.png

点击提交之后会看到这个页面,保存好API key 和 Shared secret,这个我们要在navidrome配置的。

5-fcdj.png

在docker-compose文件上添加下面几行,文末会给完整的docker-compose.yaml文件配置~

ND_LASTFM_ENABLED: true      
ND_LASTFM_APIKEY: 对应上面的API key      
ND_LASTFM_SECRET: 对应上面的Shared secret      
ND_LASTFM_LANGUAGE: zh

ListenBrainz

ListenBrainz由 MetaBrainz 基金会发起,作为开源项目致力于收集和公开用户听歌记录,强调数据开放与隐私保护,主要侧重于听歌数据的记录与存储,社交功能相对较弱。而且没有中文~

这个服务小胖是最开始就配置好了,所以历史记录会比较多一点,我们可以看一看。

6-txvk.png

可以看到小胖上个月的听歌记录,最喜欢的歌手是邓紫棋和林俊杰~ 最多的专辑,还有最多的歌曲。(这个地方看起来音乐刮削要处理一下,两个邓紫棋,得处理下繁体字~)

7-nrou.png

这个配置也很简单。首先进入 https://listenbrainz.org/ 页面,先创建账号。创建账号登录之后,到这个settings页面复制你的User token。

8-4x8h.png

复制之后,直接在navidrome页面上就能设置。

10-nu3n.png

Spotify

Spotify好像很厉害,不过注册访问需要一点点魔法,在navidrome上面主要是用来处理歌手的信息及头像(小胖这里不知道是不是NAS的网络问题,看不到头像)的,不配置问题也不大。

先看一个对比图,上面是配置了Spotify的,下面是没有配置的,可以看到上面多了歌手的简介信息。(按理来说应该还有头像的,不知道为啥我这没有,可能是魔法问题?有知道的朋友可以留言告诉我一下,感谢)

11-ctdn.png

(插个题外话,朋友们有用什么笔记软件吗,小胖最近打算总结一个NAS笔记软件,有兴趣的朋友可以关注一下~)

Spotify配置也简单,先进入网站注册,然后到这个页面https://developer.spotify.com/dashboard/applications来创建一个应用,大体上和last.fm 一样,不过这里需要把Redirect URI填上,填http://localhost/就行。

对了,注册完也要记得去邮箱里面验证一下。

12-1aco.png

13-cs2q.png

应用创建完成之后,点击这个settings

14-zuio.png

记住下面的Client ID和Client secret,后面也是要填到docker-compose.yaml文件里的。

15-m9yo.png

在docker-compose.yaml 文件增加下面两行

ND_SPOTIFY_ID: 对应上面的Client ID      
ND_SPOTIFY_SECRET: 对应上面的Client secret

docker-compose.yaml 修改之后记得点构建

16.png

小插曲

小插曲,小胖在测试的过程中,用虚拟机装了一个全新的飞牛,然后应用中心的navidrome 一直安装失败,看日志显示是的原因是创建应用data-share目录失败。

然后进ssh一看,/vol1目录下面没有@appshare文件夹,手动创建一个然后加上权限就可以了~

这个问题估计是因为飞牛设定在按照相册或者影视应用的时候会创建这个@appshare文件夹,安装其他应用就漏了~

17.png

完整的docker-compose.yaml 文件(群晖、极空间、绿联应该也都能使用):

services:
  navidrome:
    image: deluan/navidrome:latest
    container_name: navidrome
    ports:
      - "4533:4533"
    restart: unless-stopped
    environment:
      # Optional: put your config options customization here. Examples:
      ND_SCANSCHEDULE: 1h
      ND_LOGLEVEL: info  
      ND_SESSIONTIMEOUT: 24h
      ND_BASEURL: ""
      TZ: Asia/Shanghai
      ND_LASTFM_ENABLED: true
      ND_LASTFM_APIKEY: xxx
      ND_LASTFM_SECRET: xxx
      ND_LASTFM_LANGUAGE: zh
      ND_SPOTIFY_ID: xxx
      ND_SPOTIFY_SECRET: xxx
    volumes:
      - "/vol3/1000/安装的软件/navidrome/data:/data"
      - "/vol3/1000/安装的软件/navidrome/music:/music:ro"

到这里文章就告一段落了,希望这篇文章能帮到你。如果你有不同的体验或使用心得,欢迎在评论区留言讨论,或者私信交流。有什么其他问题或者经验分享也可以一起交流。不知道国内有没有替代上面的方案~

感谢各位老铁的点赞支持,祝你们听歌愉快,天天有好音乐陪伴!

本文首发在公众号上,也欢迎大家关注我的公众号《编程挺好玩》,一起讨论交流,追更更轻松~

Snipaste_2024-12-07_11-05-00.png