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

大家好,作为一名 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 中的几张截图)

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


📢 结语

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

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

再次感谢大家的时间。


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


小红书可以搜索 #Soniclens #音眸轨迹 词条

标签: none

添加新评论