By the end of this guide you will have a fully animated, Apple Music-style karaoke lyrics view running inside your Compose Multiplatform application. You will add the required Gradle dependencies, parse a lyrics file into aDocumentation 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.
SyncedLyrics object, wire up a LazyListState, and render KaraokeLyricsView with seek-on-tap support — all in under 30 lines of composable code.
Add Dependencies
Add both After syncing, verify the dependency tree resolves correctly before moving on.
lyrics-ui and lyrics-core to your module’s build.gradle.kts. The lyrics-ui artifact provides the composable renderer; lyrics-core provides the parser and the SyncedLyrics data model.Parse Your Lyrics File
Use
lyrics-core’s parser to read your lyrics file and produce a SyncedLyrics object. The library supports TTML (the format used by Apple Music) and LRC (the common karaoke format).SyncedLyrics holds a flat list of ISyncedLine entries — either KaraokeLine (with syllable-level timing) or SyncedLine (with line-level timing). KaraokeLyricsView handles both types automatically.Set Up LazyListState
KaraokeLyricsView manages its own auto-scroll behaviour, but it needs a LazyListState so you can observe or control the list position from outside the composable if required.listState in the calling composable also lets you implement features like “jump to top” buttons or scroll-position persistence across recompositions.Render KaraokeLyricsView
Place
KaraokeLyricsView in your composable hierarchy. Supply the listState, your SyncedLyrics object, and lambdas that read the current playback position and respond to user interactions.currentPosition is a lambda — not a State — so it is read on every frame during animation without triggering recomposition. onLineClicked receives the ISyncedLine that was tapped, making seek-to-line a one-liner.This guide only covers the basics. See the KaraokeLyricsView guide for detailed walkthroughs of duet layouts, custom breathing dot styles, RTL handling, phonetic text, and performance tuning.