A cross-platform lyrics display app with karaoke-style word-by-word highlighting and floating overlay support.
If you just want to use the app, you can download the latest release directly from the Releases page.
- Go to the Releases page and download the latest
.apkfile - Open the downloaded file on your phone
- You may be prompted to "Allow installation from unknown sources" in your Android settings
- Open the app, grant the requested permissions (required to read what song is playing) and enjoy!
- Go to the Releases page.
- Download the installer for your operating system
- Install and launch the app. It will automatically detect the music you're currently playing. To open the settings window, click the middle mouse button (mouse wheel) on any text displayed by the app.
- Universal sync: automatically detects the music playing on your device (Spotify, Apple Music, Chrome, etc.).
- Karaoke mode: smooth, animated word-by-word or line-by-line synchronization based on different providers.
- Floating overlay: a persistent, draggable window to display lyrics on top of other apps.
- Premium aesthetics: dynamic color themes and smooth animations.
- Always on top: keep your lyrics pinned above your other windows while you work or game.
This project uses a modern monorepo to share core logic and for code reuse across completely different platforms.
lyricsdisplay/
├── apps/
│ ├── desktop/ # Tauri + React + Vite
│ └── mobile/ # React Native
│
├── packages/
│ ├── shared/ # Shared business logic, zustand stores, API fetchers
│ └── ui-core/ # Shared styling utilities, layout metrics, string parsing
- Node.js (v18+)
- Rust (for desktop development)
- Android Studio (for mobile development)
Clone the repository and install dependencies from the root directory:
git clone https://github.com/marioded/lyricsdisplay.git
cd lyricsdisplay
npm installThis is a npm workspaces monorepo so you can run commands from the root directory, and they will be executed in the correct workspace.
cd apps/desktop
npm run tauri devcd apps/mobile
npm run androidNote: ensure to have an Android emulator running or a physical device connected to adb.
To build an APK for testing, run .\gradlew assembleDebug or assembleRelease inside the apps/mobile/android
directory.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
This project is licensed under the MIT License. See the LICENSE file for details.
