Skip to main content

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.

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.

Lyrics Providers

Each provider is controlled by a dedicated boolean preference key. All providers are enabled by default.
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 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 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 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 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 (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 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 to LyricsProviderOrderKey.

Enabling and Disabling Providers

  1. Open Settings → Content.
  2. Scroll to the Lyrics section.
  3. Toggle each provider’s switch on or off.
Changes take effect on the next track that triggers a lyrics fetch. You can re-enable any provider at any time without losing your priority ordering.

Display Customisation

Lyrics appearance is configured in Settings → Appearance under the Lyrics group.

Text Size and Position

Preference keyTypeDefaultDescription
LyricsTextSizeKeyFloat (sp)24fFont size for lyrics lines — adjustable from 16 sp to 36 sp
LyricsTextPositionKeyEnumLyricsPosition.LEFTLine alignment: LEFT, CENTER, or RIGHT

Animation Style

LyricsAnimationStyleKey controls how the active line and word are highlighted. The default is VIVIMUSIC_1.
ValueDescription
NONENo animation — current line is shown without any transition effect
FADEActive line fades in and out
GLOWActive line gains a glow halo
SLIDELines slide vertically into position
KARAOKEClassic karaoke fill — colour sweeps across the current line word by word
APPLEMimics Apple Music’s standard line-level highlight style
APPLE_V2Apple Music-style with letter-level highlight timing
VIVIMUSIC_1VIVI Music’s signature animation combining smooth transitions with word emphasis
LYRICS_V2Fluid continuous-scroll style with soft highlights
METRO_LYRICSMetro-inspired bold typography transitions
Change the style in Settings → Appearance → Lyrics Animation Style.

Blur and Glow Effects

Preference keyDefaultDescription
LyricsStandardBlurKeyfalseApplies a standard blur to inactive lyrics lines
AppleMusicLyricsBlurKeytrueApplies the Apple Music-style depth blur behind the lyrics panel
LyricsGlowEffectKeyfalseAdds 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 to RomanizationSettings).
Preference keyScript
LyricsRomanizeJapaneseKeyJapanese (Romaji)
LyricsRomanizeKoreanKeyKorean (Revised Romanization)
LyricsRomanizeChineseKeyChinese (Pinyin)
LyricsRomanizeRussianKeyRussian (Cyrillic → Latin)
LyricsRomanizeUkrainianKeyUkrainian
LyricsRomanizeSerbianKeySerbian
LyricsRomanizeBulgarianKeyBulgarian
LyricsRomanizeBelarusianKeyBelarusian
LyricsRomanizeKyrgyzKeyKyrgyz
LyricsRomanizeMacedonianKeyMacedonian
LyricsRomanizeHindiKeyHindi (Devanagari → Latin)
LyricsRomanizePunjabiKeyPunjabi (Gurmukhi → Latin)
Two additional options control how romanization is applied:
  • 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.
If you want to sing along to Japanese or Korean songs without knowing the script, enable the relevant romanization key and set the animation style to KARAOKE or VIVIMUSIC_1 for the best karaoke experience.

Build docs developers (and LLMs) love