MIT License

项目介绍

aviwad/LyricFever 是一个托管在 GitHub 上的开源项目,主要使用 Swift 编写,采用 MIT License 许可证,目前获得 605 个 Star、31 次 Fork。

仓库全名
aviwad/LyricFever
开源许可证
MIT License
Star 数
605
Fork 数
31
未关闭 Issue
53

README 摘要

Lyric Fever The Best Lyrics Experience for Spotify & Apple Music on macOS. It Just Works. Installation Manual Download the DMG file here. Homebrew Run brew install lyric-fever Screenshots lyricfeverad.webm Features Automatic Lyric Playback on Menubar Fullscreen Mode (Modeled after Apple Music’s fullscreen view) Karaoke Mode (Lyric popup that stays on screen) Karaoke Mode customization (font color, etc) Lyric…

完整内容见 GitHub 原始 README 或本页 。

常见问题

LyricFever 用什么语言开发?

主要使用 Swift 编写,采用 MIT License 许可证,目前有 605 个 Star。

LyricFever 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 LyricFever 的源码?

可以直接克隆仓库:git clone https://github.com/aviwad/LyricFever.git,默认分支为 main;安装与运行步骤见仓库 README。

LyricFever 最近还在维护吗?

仓库最近一次更新为 4月3日,当前有 53 个未关闭 Issue;Star 数为 605,可作为社区活跃度的参考。

关于

Best Spotify & Apple Music Lyrics experience for macOS (spiritual successor to LyricsX)

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
670
价值分
369
活跃状态
活跃

语言占比

Metal
Swift

README

Lyric Fever

Logo

The Best Lyrics Experience for Spotify & Apple Music on macOS. It Just Works.

Installation

Manual

Download the DMG file here.

Homebrew

Run brew install lyric-fever

Screenshots

lyricfeverad.webm

Screenshot of Lyric Fever's menubar window and floating lyric window First Screenshot Screenshot 1 Screenshot 2025-09-07 at 4 50 35 PM image

Features

  • Automatic Lyric Playback on Menubar
  • Fullscreen Mode (Modeled after Apple Music’s fullscreen view)
  • Karaoke Mode (Lyric popup that stays on screen)
  • Karaoke Mode customization (font color, etc)
  • 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, LRCLIB, and NetEase as a backup lyric provider
  • Simplified Chinese language support in app UI, thanks to @InTheManXG

YouTube Promo Vid:

![LyricFever Promo Vid]

Requirements

  • macOS Sequoia or higher
  • Spotify Desktop Client (if using Spotify)

Technical Details

  • 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
  • Songs translated using Apple’s Translation API.
  • 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

Translation Help

Crowdin Translation website

Please open a GitHub issue request to translate to more languages. Thank you very much.

Other Contributors

Acknowledgements / Special Thanks

  • Sparkle: For app updates
  • Amplitude: For app analytics
  • Spotify: The music platform this project depends on! (for playback, for lyrics)
  • 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
  • autozimu for https://github.com/autozimu/StringMetric.swift, used to determine how similar NetEase search results are from search query
  • tranxuanthang for LRCLIB, an open source Lyric library. Used when Spotify fails.
  • NetEase for their Lyrics, used when LRCLIB and Spotify fail.
  • fatbobman for ObservableDefaults
  • https://neteasecloudmusicapi-ten-wine.vercel.app for their NetEase API
  • LyricsX/ddddxxx for their ChineseConversion class (SwiftlyOpenCC)
  • sindresorhus for KeyboardShortcuts
  • f728743 for the mesh gradient view.
  • jayasme for the LRC Lyric Parser I used as a base
  • MusicBrainz & the CoverArtArchive projects for their MBID and Cover Art APIs (used for non-spotify / local files)
  • LyricsX/MxIris for their Spotify TOTP fix and NetEase lyric provider
  • Mecab-Swift by shinjukunian for the excellent Japanese Romanization
  • Christian Selig for his efficient image color averaging technique
  • Various StackOverflow snippets

评论

暂无评论