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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTczNzcsIm5iZiI6MTczOTQ1NzA3NywicGF0aCI6Ii8yNTcwNjUyNC8zODc4ODYwNjgtZTNjMmM1ZjEtM2QyYi00ZjdjLTk4OTMtZDQ2MTMzNDA5NDNlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0MzExN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdlZmMxNmRiMTNmZjIxNzRjNWVkZTg5OTI5YzdiMTJlODQ5NjUxNTFiMThmYTU3N2YzYWJiODQxYTMzOTA0NTMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.V_5dY9tPjIuQ7BeEK3Cx6gdiJumnqDQh5m2D99cDBZ0)
![Screenshot 2](https://private-user-images.githubusercontent.com/25706524/387886086-8d63d03e-6961-4675-b07a-e29697379c4b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTczNzcsIm5iZiI6MTczOTQ1NzA3NywicGF0aCI6Ii8yNTcwNjUyNC8zODc4ODYwODYtOGQ2M2QwM2UtNjk2MS00Njc1LWIwN2EtZTI5Njk3Mzc5YzRiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0MzExN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY2MmI0MmUxZGMzMTZlYjVkNTQ2ZmJlMGQ4N2E2YzQyMWU1MTZmOGExYzMyZWNhNjljMTQ0ODMwY2VjNGQ2ZDkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.SahiXkFFWTbJmnc1wU1__uReaXrHHddXb0F_rxPTg1Y)
- 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.