The Best Lyrics Experience for Spotify & Apple Music on macOS. It Just Works.
Download the DMG file here.
Run brew install lyric-fever
![Screenshot 1](https://private-user-images.githubusercontent.com/25706524/387886068-e3c2c5f1-3d2b-4f7c-9893-d4613340943e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2NDE2NTQsIm5iZiI6MTczOTY0MTM1NCwicGF0aCI6Ii8yNTcwNjUyNC8zODc4ODYwNjgtZTNjMmM1ZjEtM2QyYi00ZjdjLTk4OTMtZDQ2MTMzNDA5NDNlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDE3NDIzNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI5NWUzMmRlMzNmNWYxNzM0ZWU0NjE3ZTdjZWE0NjQzOTQ3ZjQwZDAyNjZiM2Y1ZmNmM2M0MTBiZWJjNWRhOTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.KFUhEfzG05WM26YOlAwL4a0e1ckxBmw7AWWBploiAjE)
![Screenshot 2](https://private-user-images.githubusercontent.com/25706524/387886086-8d63d03e-6961-4675-b07a-e29697379c4b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2NDE2NTQsIm5iZiI6MTczOTY0MTM1NCwicGF0aCI6Ii8yNTcwNjUyNC8zODc4ODYwODYtOGQ2M2QwM2UtNjk2MS00Njc1LWIwN2EtZTI5Njk3Mzc5YzRiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDE3NDIzNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI2MWJiYmQzNWE4ZGQxOTRkMGY0ZThhZGFiNjhhZmU5MGFkNDA4OTI0YjdhMDEwNDI0MzZkNmRkNWVhNmYxMTcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.p6v6MhJDY0gkD9jerE7Ot5lM84OdORY16VmSa7Jf9N4)
- Automatic Lyric Playback on Menubar
- Fullscreen Mode (Modeled after Apple Music’s fullscreen view)
- Karaoke Mode (Lyric popup that stays on screen)
- Lyric Translation (using Apple’s on device APIs)
- Offline caching! Lyrics are automatically stored offline efficiently using CoreData
- Play some music on the Spotify / Apple Music app and watch the lyrics play on the menu bar automatically.
- Lyrics fetched from Spotify, and LRCLIB as a backup lyric provider
- macOS Ventura or higher (Sonoma required for fullscreen, Sequoia required for translation)
- Spotify Desktop Client (if using Spotify)
- UI is built using SwiftUI.
- The lyrics are updated and fetched using Swift Concurrency and Swift Tasks
- The lyrics are stored into disk using CoreData.
- I interface with Spotify & Apple Music using their AppleScript methods as well as by subscribing to their playback state change notifications.
- I interface with Spotify and Apple Music's AppleScript methods by using Apple's provided ScriptingBridge interface.
- I additionally use private APIs to get the currently playing Apple Music song's iTunes ID, and use MusicKit to map that to an ISRC code
- I map Apple Music songs to equivalent Spotify ID using ISRC to display Lyrics fetched from Spotify for either platform
- Lyrics are fetched from LRCLIB as a backup when Spotify fails
- I fetch the song “background color” with each lyric, and the color is used for the karaoke mode window background
- The fullscreen view uses a custom mesh gradient and extracts colors from the album art using ColorKit
- Spiritual successor to LyricsX (95% more efficient, 0.1% CPU usage of Lyric Fever vs 3% of LyricsX)
- Technical write-up coming soon
- lcandy2 For their pull request
- Sparkle: For app updates
- Amplitude: For app analytics
- Spotify: The music platform this project depends on! (for playback, for lyrics)
- Apple MusicKit: Apple Music API
- Apple Music: Another platform that this project depends on
- ColorKit-macOS: My port of ColorKit for macOS
- Cindori for their blog post on writing an NSPanel view for SwiftUI
- tranxuanthang for LRCLIB, an open source Lyric library. Used when Spotify fails.
- f728743 for the mesh gradient view.