Rockbox Last.fm 记录 Scrobbling - 无 RTC 设备也能记录收听历史
Scrobbling 是什么
Scrobbling 是 Last.fm 网站的核心功能——把你在播放器上听的每首歌、什么时候听的、听了多久,全部记录到你的 Last.fm 账户里。
记录的用途:
- Last.fm 根据你的收听记录生成播放历史时间线
- 自动生成每周推荐和相似艺人
- 社交分享(朋友可以看到你最近在听什么)
- 生成你的音乐 taste 图表(什么流派占比最多、最常听的艺人等)
Rockbox 怎么实现的
Rockbox 是少数支持无 RTC(实时时钟)设备 scrobbling 的播放器。很多老 DAP(Archos 早期型号)没有内置时钟芯片——原厂固件连日期时间都显示不了,更别说记录「什么时候听的歌」。
Rockbox 的方案是:
- 本地缓存:每听一首歌,就先存在本地
.rockbox/scrobbler.log文件里(不需要时间戳也行) - 获取时间:DAP 有 RTC 时直接用;没 RTC 时,下次连电脑传文件时 Rockbox 会问电脑的当前时间,把日志里的记录补上时间戳
- 提交:联网设备(部分 Android 播放器)直接提交;大部分 DAP 没 Wi-Fi → 用 Rockbox Utility 的 Scrobbler Log Uploader 功能把日志文件上传到 Last.fm
开启步骤
Step 1:注册 Last.fm 账户
去 last.fm 注册一个免费账户(或用旧账户)。
Step 2:在 Rockbox 里开启 Scrobbling
Settings → General Settings → Last.fm Scrobbling → On
然后填入你的 Last.fm 用户名和密码(或 API Key)。
Step 3:获取 API Key(推荐)
Last.fm 现在要求第三方应用使用 API Key 而不是直接填账户密码(更安全):
- 去 Last.fm API 申请一个 API Key(免费、即刻发放)
- 在 Rockbox 的 Last.fm 设置里填 API Key 和 Secret
提交方式
有 Wi-Fi / 蜂窝的设备(Android 播放器)
Rockbox 直接联网提交,实时 scrobbling。
无网络的 DAP(大多数)
- DAP 作为 U 盘连电脑
- 打开 Rockbox Utility
- 进入 Scrobbler Log 标签
- 点 Upload to Last.fm
- 输入 API Key + Secret → 自动上传所有缓存的 scrobble 记录
提交规则
不是每首歌都会被记录到 Last.fm。Rockbox 遵循 Last.fm 的官方规则:
- 必须听一首歌的至少 50%(或播放时间 ≥ 4 分钟)才会 scrobble
- 跳过的歌、暂停超过很久的歌不会被记录
- 重复播放同一首歌多次会被多次记录
.scrobbler.log 文件
这是 Rockbox 用来存储待提交 scrobble 记录的文件,位于 .rockbox/scrobbler.log。可以手动打开看看内容(纯文本,每行一条记录),格式大致是:
SCROBBLE
Artist=<艺人>
Album=<专辑>
Track=<曲目>
Duration=<秒数>
Timestamp=<时间戳>
rating=0
注意事项
不要手动编辑 .scrobbler.log
手动改很容易破坏格式导致上传失败。要清理缓存记录,直接在 Rockbox 设置里找 Clear Scrobbler Cache。
时间漂移
无 RTC 的设备,获取时间的那个时刻到下次连电脑之间,日志里的时间戳是靠 Rockbox 内部计时器估算的——可能有几秒到几分钟的偏差。Last.fm 对这个时间精度很宽容,不影响记录。
DAP 切换
如果同时在多个 DAP 上刷 Rockbox 并 scrobble,Last.fm 会把所有记录合并到同一个账户里——挺好,一个账户看到完整的收听历史。