Skip to content

About

vibing with fluent lyrics

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

FluentLyrics

A cross-platform lyrics viewer built with Flutter that displays and synchronizes song lyrics from multiple providers.

Lyrics Providers

  • Musixmatch
  • Netease Music
  • QQ Music
  • LRCLIB

Features

  • Synchronized and syllable-synced (rich) lyrics support.
  • Multiple lyrics providers with configurable priority.
  • Local lyrics cache using Isar.
  • Per-track and global lyrics offset support.
  • Lyrics translation support, including LLM-based translation.

Screenshots

The main interface The lyrics candidate interface The settings interface

Installation

Linux

  1. Arch Linux (x86_64/arm64)
paru -Sy fluent-lyrics-bin
  1. Other Linux Distros

    Download the portable archive from GitHub Releases or kindly package it yourself :3

    Saving an LLM API key or Musixmatch token needs a Secret Service (GNOME Keyring or KWallet) and libsecret.

Android

  1. GitHub Releases

  2. Tracking GitHub Releases with Apps like Obtainium (Recommended)

  3. Custom F-Droid repo:

    1. Click to add the Fluent Lyrics custom F-Droid repo or scan this QR Code:

      Click to expand the QR code QR: Fluent Lyrics custom F-Droid repo
    2. Sync the repos

    3. Search for "Fluent Lyrics"

Others

Check GitHub Releases for other platform builds (such as macOS).

Support status

Fully Supported

  • Linux
    • Retrieve now-playing metadata via the MPRIS D-Bus interface.
  • Android
    • Requires Android 7.0 (API 24) or later.
    • Currently tested primarily on Android 15 and later.

Limited Support

  • macOS

    • Obtain now-playing metadata via the MediaRemote adapter.
    • HUGE thanks to @watchdogexd for testing and contributing.
    • I don't have a macOS device, so I can't test it directly; expect best-effort support.
  • Linux arm64

    • I don't have a Linux arm64 device, so I cannot test on this architecture directly.

Cannot Support

  • Windows

    we dun want to :3

    In fact, the project's developers do not have Windows installations, so we do not consider developing for Windows to have a sufficient benefit.

  • iOS

    Theoretically impossible to obtain now-playing metadata without jailbreaking.

  • Other platforms/architectures Platforms not natively supported by Flutter will not be supported. Pull requests for other Flutter-supported platforms/architectures are welcome if accompanied by tests and feedback.

Development

For architecture, setup instructions, codegen, and everyday commands, see:

Quick clone with submodules:

git clone --recurse-submodules <repo-url>
./tool/sync_opencc_assets.sh
flutter run

Disclaimer

This project is vibe-coded; I think I only produced around 5% of the codebase, so don't expect any quality or polished experience from this.

Non-AI Coded Up To 5%!

About

vibing with fluent lyrics

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages