VIVI Music features a fully animated, karaoke-style lyrics system that highlights each word in real time as a song plays. Lyrics are fetched from up to seven independent providers simultaneously, with a configurable priority order so that the best available result is always shown. Every provider can be individually enabled or disabled from Settings → Content, and their fetch order is adjustable via a drag-and-drop priority dialog. The display itself is deeply customisable — text size, alignment, animation style, blur, and romanization for non-Latin scripts are all tunable from Settings → Appearance.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/vivizzz007/vivi-music/llms.txt
Use this file to discover all available pages before exploring further.
Lyrics Providers
Each provider is controlled by a dedicated boolean preference key. All providers are enabled by default.LrcLib
LrcLib
LrcLib is an open, community-maintained lyrics database that stores LRC-format timestamped lyrics. It is one of the most reliable sources for word-level synced lyrics across a wide range of genres.
- Preference key:
EnableLrcLibKey(enableLrclib) - Default: enabled
- Toggle in Settings → Content → Enable LrcLib
Kugou
Kugou
Kugou is a large Chinese music platform with an extensive lyrics catalogue, particularly strong for Mandarin, Cantonese, and other East Asian content. It also covers a broad range of international pop and hip-hop.
- Preference key:
EnableKugouKey(enableKugou) - Default: enabled
- Toggle in Settings → Content → Enable Kugou
BetterLyrics
BetterLyrics
BetterLyrics is a curated lyrics source focused on quality and accuracy of timing data. It is especially useful as a fallback when other providers return poorly timed results.
- Preference key:
EnableBetterLyricsKey(enableBetterLyrics) - Default: enabled
- Toggle in Settings → Content → Enable BetterLyrics
Musixmatch
Musixmatch
Musixmatch is one of the world’s largest lyrics databases and the only provider in VIVI Music that supports both word-level (syllable-accurate) and line-level synced lyrics. The Musixmatch integration is an original VIVI Music contribution — it is not present in upstream forks and was built specifically for VIVI to bring professional-grade karaoke timing to the app.
- Preference key:
EnableMusixmatchKey(enableMusixmatch) - Default: enabled
- Toggle in Settings → Content → Musixmatch
SimpMusic
SimpMusic
SimpMusic is a companion lyrics backend that aggregates several underlying sources. It works well as a general-purpose fallback for tracks not found on the primary providers.
- Preference key:
EnableSimpMusicKey(enableSimpMusic) - Default: enabled
- Toggle in Settings → Content → Enable SimpMusic
YouLyPlus
YouLyPlus
YouLyPlus (YouLy+ extension backend) is a multi-server LyricsPlus provider that queries a distributed set of endpoints. It is particularly effective for YouTube-native tracks that may not appear in traditional lyrics databases.
- Preference key:
EnableYouLyPlusKey(enableYouLyPlus) - Default: enabled
- Toggle in Settings → Content → YouLyPlus
Paxsenix
Paxsenix
Paxsenix delivers Apple Music-quality synced lyrics with syllable-level timing, making it the best source for the most precise word-by-word karaoke highlight effect. It is an excellent complement to Musixmatch for tracks where both are available.
- Preference key:
EnablePaxsenixKey(enablePaxsenix) - Default: enabled
- Toggle in Settings → Content → PaxSenix
Provider Priority
When multiple providers return results for the same track, VIVI selects lyrics according to a drag-and-drop priority list. Only enabled providers appear in the list, and their relative order determines which result is preferred. To reorder providers, go to Settings → Content and tap Lyrics Provider Priority. Drag items up or down, then close the dialog — the new order is saved immediately toLyricsProviderOrderKey.
Enabling and Disabling Providers
- Open Settings → Content.
- Scroll to the Lyrics section.
- Toggle each provider’s switch on or off.
Display Customisation
Lyrics appearance is configured in Settings → Appearance under the Lyrics group.Text Size and Position
| Preference key | Type | Default | Description |
|---|---|---|---|
LyricsTextSizeKey | Float (sp) | 24f | Font size for lyrics lines — adjustable from 16 sp to 36 sp |
LyricsTextPositionKey | Enum | LyricsPosition.LEFT | Line alignment: LEFT, CENTER, or RIGHT |
Animation Style
LyricsAnimationStyleKey controls how the active line and word are highlighted. The default is VIVIMUSIC_1.
| Value | Description |
|---|---|
NONE | No animation — current line is shown without any transition effect |
FADE | Active line fades in and out |
GLOW | Active line gains a glow halo |
SLIDE | Lines slide vertically into position |
KARAOKE | Classic karaoke fill — colour sweeps across the current line word by word |
APPLE | Mimics Apple Music’s standard line-level highlight style |
APPLE_V2 | Apple Music-style with letter-level highlight timing |
VIVIMUSIC_1 | VIVI Music’s signature animation combining smooth transitions with word emphasis |
LYRICS_V2 | Fluid continuous-scroll style with soft highlights |
METRO_LYRICS | Metro-inspired bold typography transitions |
Blur and Glow Effects
| Preference key | Default | Description |
|---|---|---|
LyricsStandardBlurKey | false | Applies a standard blur to inactive lyrics lines |
AppleMusicLyricsBlurKey | true | Applies the Apple Music-style depth blur behind the lyrics panel |
LyricsGlowEffectKey | false | Adds a glow effect to the active lyric word |
Romanization
VIVI Music can automatically romanize (transliterate to Latin script) lyrics in non-Latin scripts. Each script has its own toggle, accessible via Settings → Content → Lyrics Romanization (navigates toRomanizationSettings).
| Preference key | Script |
|---|---|
LyricsRomanizeJapaneseKey | Japanese (Romaji) |
LyricsRomanizeKoreanKey | Korean (Revised Romanization) |
LyricsRomanizeChineseKey | Chinese (Pinyin) |
LyricsRomanizeRussianKey | Russian (Cyrillic → Latin) |
LyricsRomanizeUkrainianKey | Ukrainian |
LyricsRomanizeSerbianKey | Serbian |
LyricsRomanizeBulgarianKey | Bulgarian |
LyricsRomanizeBelarusianKey | Belarusian |
LyricsRomanizeKyrgyzKey | Kyrgyz |
LyricsRomanizeMacedonianKey | Macedonian |
LyricsRomanizeHindiKey | Hindi (Devanagari → Latin) |
LyricsRomanizePunjabiKey | Punjabi (Gurmukhi → Latin) |
LyricsRomanizeAsMainKey— shows the romanized text as the primary line instead of underneath the original.LyricsRomanizeCyrillicByLineKey— romanizes Cyrillic scripts line-by-line rather than inline with each word.