[Media] sptlrx-rs: A zero-latency Spotify lyrics TUI using zbus and tokio

65 points ReachBeginning 5 comments
[Media] sptlrx-rs: A zero-latency Spotify lyrics TUI using zbus and tokio

Built a Spotify lyrics tool in Rust because I couldn't stand the latency of the Web API. Bypassed it entirely by using zbus to listen to org.mpris.MediaPlayer2.Player on the user session.

The architecture is just a few tokio actors and mpsc channels: one polling D-Bus, a 60Hz ticker for smooth interpolation, a fetcher for LRCLIB, and the ratatui loop.

Honestly, the biggest pain wasn't the async stuff, but fighting the C linker in NixOS to get a 100% static MUSL binary that actually runs on other distros without breaking.

Would love some feedback on the channel sync between actors if anyone has the time. (((:

Repo:https://github.com/Jirevelaz/sptlrx-rs