爱意满满的作品展示区。
amazingTT

[开源] 给特斯拉车机做了个 Spotify 同步歌词网站,可自部署

  •  
  •   amazingTT · 1 day ago · 485 views

    想法来自用了很久的 Lyricify ,但它一直没有浏览器端。开车的时候 Spotify 没歌词实在难受,所以自己开发了一个浏览器端的,在车机浏览器里就能用(用 Tesla 实测)。

    完全开源,支持自己部署;嫌麻烦的话也可以直接用我部署好的。

    能干啥

    • 歌词跟着 Spotify 播放进度逐行滚动
    • 歌词源:中文歌(或开了翻译时)优先网易云,英文歌优先 LRCLIB ,也可以在设置里手动指定;翻译可开可关(右上角 ⚙ 设置)
    • 歌词错了点右上角「歌词不对?」,从候选里手动选,纠正结果所有用户共享
    • 车机登录不用打字,用已登录的手机扫码就能登上,cookie 长期有效,直到手动退出

    折腾过的点

    • 中文歌匹配:Spotify 给的歌名经常是繁体,歌词库里是简体。现在用 OpenCC 把繁简统一后打分,结合标题、歌手、时长,并且排除翻唱、伴奏、Live 版
    • 车机性能:为了照顾车机的 GPU 和性能,歌词每换一行只做一次 CSS transform ,不跑逐帧动画
    • 轮询:每个用户一个轮询器,只有页面开着才去调用 Spotify ,然后用 SSE 推给浏览器;页面关闭一分钟后停止
    • 技术栈:后端 FastAPI + SQLModel + SQLite ,前端 Vite + React ,纯 CSS 没用 UI 框架
    • 隐私:Google 登录只拿邮箱和名字; Spotify 的密钥和令牌在数据库里加密存储

    使用门槛

    需要 Spotify Premium,而且每个人要建一个自己的 Spotify 开发者应用(网站上有引导,两分钟搞定)。

    这是 Spotify 2026 年的新规:开发者模式的应用最多给 5 个人用,所有者还必须是 Premium ,所以没法用一个公共应用服务所有人。

    自部署

    docker compose up -d --build 就能跑,需要一个 HTTPS 域名和一个 Google OAuth 客户端,README 里有完整步骤。

    开源版默认只用 LRCLIB 当歌词源。源码里没放网易云接口服务,需要的话自己接一个兼容的就行,很简单。


    思路来自 Lyricify ,感谢 Lyricify ,也推荐大家用它的客户端!

    欢迎回帖,欢迎 Issue 和 PR~

    1 replies  •  2026-10-09 16:57:49 +08:00
    david214
        1
    david214  
       1 day ago
    用上了!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1059 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:02 · PVG 03:02 · LAX 12:02 · JFK 15:02
    ♥ Do have faith in what you're doing.