GoForum › 🌐 V2EX
SonicLens:让听歌记录成为你的数字资产,不应只是流媒体服务器上的冷数据
vincentchyu ·
2026-03-07 14:58 ·
0 次点赞 · 2 条回复
🎵 你的听歌历史,不应只是流媒体服务器上的冷数据
大家好,作为一名 macOS 深度乐迷,我一直觉得:音乐不仅是流动的空气,更是我们生命中不曾停歇的数字资产。
然而,目前的流媒体平台( Apple Music, Tidal, Qobuz 等)往往将我们的听歌记录封锁在各自的围墙内。如果你使用 Audirvana 或 Roon 追求极致音质,这些宝贵的聆听痕迹更是难以被统一记录和深度挖掘。
于是,我用 Go 编写了 SonicLens (音眸)。
✨ 什么是 SonicLens ?
SonicLens 是一架专为 macOS 用户打造的“声之透镜”。它静默地守候在播放器之后,通过高频采样与无感监控,将你的每一次聆听凝结为属于你个人的、跨平台的音眸轨迹。
🔗 GitHub: https://github.com/vincentchyu/sonic-lens
🚀 核心亮点
- 🛡️ 数据资产化: 所有播放数据通过 SQLite 、MySQL 存储在本地,彻底摆脱平台限制,你的数据你做主。
- 🎧 多平台无感监控: 基于 Go 并发特性,完美支持 Audirvana、Roon 以及 Apple Music 的实时状态采集。
- 👁️ 音眸智能洞察 (Sonic Insight): 接入 AI 大模型( Gemini/Ollama 等),对歌词进行深度情感与语义解析,帮你从文字维度重新认识每一首歌,尤其是小语种。
- ⚡ 实时交互仪表板: 采用 WebSocket 架构,秒级同步播放状态(比特率、封面、进度等),UI 追求极致的设计感。
- 📮 一键分享印记: 生成带有封面的 AI 见解海报,让你的聆听瞬间充满仪式感。
🛠️ 技术侧写
作为一个程序员,我在实现过程中加入了一些好玩的细节:
- 使用 Goroutines 为每个播放器开启独立监听。
- 通过 AppleScript 实现对底层播放器的无感采样。
- 遵循 Last.fm 协议实现 Scrobble 逻辑,并使用 Redis 进行状态预测加速。
- 前端基于 SSE (Server-Sent Events) 实现 AI 解析结果的流式呈现。
📸 效果展示
(建议在这里附上 README 中的几张精美截图,V 站用户非常看重 UI 自治感)

📢 结语
这个项目是我对“科技与人文”结合的一次尝试。如果你也是对音质有追求、对数据有执念的 macOS 用户,欢迎试用并提出你的建议!
如果觉得还不错,也欢迎点个 Star 鼓励一下。
再次感谢大家的时间。
添加回复
你还需要 登录
后发表回复
很早就有这个想法,一直没有行动。 感谢开发者。即刻用起来