GoForum🌐 V2EX

SonicLens:让听歌记录成为你的数字资产,不应只是流媒体服务器上的冷数据

vincentchyu · 2026-03-07 14:58 · 0 次点赞 · 2 条回复

🎵 你的听歌历史,不应只是流媒体服务器上的冷数据

大家好,作为一名 macOS 深度乐迷,我一直觉得:音乐不仅是流动的空气,更是我们生命中不曾停歇的数字资产。

然而,目前的流媒体平台( Apple Music, Tidal, Qobuz 等)往往将我们的听歌记录封锁在各自的围墙内。如果你使用 AudirvanaRoon 追求极致音质,这些宝贵的聆听痕迹更是难以被统一记录和深度挖掘。

于是,我用 Go 编写了 SonicLens (音眸)


✨ 什么是 SonicLens ?

SonicLens 是一架专为 macOS 用户打造的“声之透镜”。它静默地守候在播放器之后,通过高频采样与无感监控,将你的每一次聆听凝结为属于你个人的、跨平台的音眸轨迹

🔗 GitHub: https://github.com/vincentchyu/sonic-lens


🚀 核心亮点

  • 🛡️ 数据资产化: 所有播放数据通过 SQLite 、MySQL 存储在本地,彻底摆脱平台限制,你的数据你做主。
  • 🎧 多平台无感监控: 基于 Go 并发特性,完美支持 AudirvanaRoon 以及 Apple Music 的实时状态采集。
  • 👁️ 音眸智能洞察 (Sonic Insight): 接入 AI 大模型( Gemini/Ollama 等),对歌词进行深度情感与语义解析,帮你从文字维度重新认识每一首歌,尤其是小语种。
  • 实时交互仪表板: 采用 WebSocket 架构,秒级同步播放状态(比特率、封面、进度等),UI 追求极致的设计感。
  • 📮 一键分享印记: 生成带有封面的 AI 见解海报,让你的聆听瞬间充满仪式感。

🛠️ 技术侧写

作为一个程序员,我在实现过程中加入了一些好玩的细节:

  • 使用 Goroutines 为每个播放器开启独立监听。
  • 通过 AppleScript 实现对底层播放器的无感采样。
  • 遵循 Last.fm 协议实现 Scrobble 逻辑,并使用 Redis 进行状态预测加速。
  • 前端基于 SSE (Server-Sent Events) 实现 AI 解析结果的流式呈现。

📸 效果展示

(建议在这里附上 README 中的几张精美截图,V 站用户非常看重 UI 自治感)

项目展示 AI 解析展示 1 AI 解析展示 2 播放展示


📢 结语

这个项目是我对“科技与人文”结合的一次尝试。如果你也是对音质有追求、对数据有执念的 macOS 用户,欢迎试用并提出你的建议!

如果觉得还不错,也欢迎点个 Star 鼓励一下。

再次感谢大家的时间。


GitHub 地址:https://github.com/vincentchyu/sonic-lens

2 条回复
astrodaw · 2026-03-07 15:23
#1

很早就有这个想法,一直没有行动。 感谢开发者。即刻用起来

Aaron01 · 2026-03-07 15:48
#2

很有意思👍

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: vincentchyu
发布: 2026-03-07
点赞: 0
回复: 0