Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/6xingyv/accompanist-lyrics-ui/llms.txt

Use this file to discover all available pages before exploring further.

Accompanist Lyrics UI is a Compose Multiplatform library that brings Apple Music-style karaoke lyrics rendering to Android and JVM applications. Built for developers who need rich, synchronized lyric displays, it handles everything from syllable-level fill animations and spring-physics list placement to breathing dot interludes and RTL text detection — all within a single KaraokeLyricsView composable that plugs directly into your existing media playback setup.

Quickstart

Add the dependency and render your first animated lyrics view in minutes.

Lyrics Model

Understand the SyncedLyrics data model that powers the view.

KaraokeLyricsView Guide

Deep-dive into configuration, customization, and advanced usage patterns.

API Reference

Full parameter reference for KaraokeLyricsView and related composables.

Key Features

Karaoke Fill Gradient

Syllables light up with a smooth fill gradient that tracks playback position in real time, matching the visual style of Apple Music lyrics.

Character-Level Animations

Each syllable can independently animate with one of three physics-driven styles: DipAndRise, Swell, and Bounce — selected automatically based on syllable metrics.

Multi-Voice & Duet Support

Distinct main-vocal and accompaniment lines are styled separately and positioned independently, making duet and backing-vocal lyrics easy to represent.

Breathing Dots for Interludes

Animated breathing dots appear automatically during instrumental interludes and song intros longer than five seconds, keeping the screen alive between vocal sections.

Synced Line Support

Alongside full karaoke syllable timing, standard time-synced lines (SyncedLine) are rendered with the same blur, focus, and click interactions.

RTL Text Detection

Arabic, Hebrew, and other right-to-left scripts are detected per-syllable and automatically aligned to the end of the line — no manual configuration required.

Spring-Physics List Placement

Lines animate into position using a configurable spring with stiffness that scales by distance from the active line, giving the list a natural, fluid feel.

Blur Effect on Inactive Lines

Non-active lines receive a progressive blur proportional to their distance from the focused line, drawing the viewer’s eye to the current lyric. Disable with useBlurEffect = false.

Translations & Phonetics

Optional translation and phonetic text layers (e.g. pinyin) can be shown below each line and are toggled independently via showTranslation and showPhonetic.

Compose Multiplatform

Targets Android (minSdk 29) and JVM through Kotlin Multiplatform, sharing all rendering code across platforms.

Repository Structure

The Accompanist project is split into two focused artifacts:
  • lyrics-core — Parses TTML (Apple Music format) and LRC lyrics files, holds the SyncedLyrics data model, and handles export. Hosted at github.com/6xingyv/Accompanist-Lyrics.
  • lyrics-ui — The rendering layer built on Jetpack Compose and Compose Multiplatform. This is the library described in this documentation, hosted at github.com/6xingyv/Accompanist.
This separation keeps parsing logic independent of any UI framework. You can use lyrics-core alone to manipulate lyric data in non-UI contexts, while lyrics-ui depends on it for the data model it renders.
lyrics-ui declares lyrics-core as a transitive dependency, but you will typically want to add it explicitly to your own dependencies block so you can call the parser APIs directly in your application code.

License

Accompanist Lyrics UI is released under the Apache License 2.0. You are free to use, modify, and distribute it in both open-source and commercial projects. See the LICENSE file for the full terms.

Build docs developers (and LLMs) love