Open-source project
vivizzz007/vivi-music avatar
vivizzz007/vivi-music

VIVI Music: a Material 3 YouTube Music client for Android

Vivi-Music is an expressive Material 3–based YouTube Music client for Android.

3,469 stars132 forksKotlinNOASSERTION

At a glance

What is it?
VIVI Music is a Kotlin Android client that streams from YouTube Music with an adaptive Material You interface. It is a personal-project app with a fast release cadence, a built-in updater, and a licence that is not stated in the repository.
Who is it for?
Adopt VIVI Music if you are on Android, comfortable installing an APK outside a store, and want a Material You player that streams from YouTube Music with lyrics, downloads and in-app updates. Do not adopt it if you need a maintained licence statement, an iOS build, or a desktop client; the README documents none of these.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Kotlin, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What VIVI Music actually is, and who it is for

VIVI Music is an Android application written in Kotlin that plays music pulled from YouTube and YouTube Music. The README calls it a client rather than a player because it does not hold a catalog of its own: it reads the YouTube Music catalog and renders it in its own interface. The repository topics list android, android-app, download, material-3-expressive, music, music-client and ytmusic, which matches the description.

The intended user is an Android listener who finds the official YouTube Music app visually plain and wants an interface that recolors itself around the current album art. The README promises "Dynamic Material You" and "Premium Animations", and the screenshots folder shows a player, artist, album, search, home and audio control screen. A second group of users is served by the offline features: the README lists local downloads and cache management, so the app is also for people who want tracks on the device rather than a stream every time.

It is not for people who want a music service. There is no account system described, no subscription, and no catalog. Everything the app plays comes from YouTube Music, which means the app's usefulness depends on an external service the project does not control.

How the streaming and theming layers are put together

The repository layout shows the app split into modules rather than one large Android module. Alongside app/ and build.gradle.kts there are directories named innertube/, jiosaavn/, kizzy/, lastfm/, lyricsProvider/, shazamkit/, spotify/, canvas/, applecanvas/, artistvideo/ and vivimusiccanvas/. The innertube/ directory is the clearest signal of the data flow: InnerTube is the internal API surface YouTube clients use, and a module with that name is where the app talks to YouTube Music. jiosaavn/ suggests a second metadata or streaming source, and lyricsProvider/ is a separate module for lyric retrieval rather than code buried in the player screen.

The visual layer is similarly split. canvas/, applecanvas/, artistvideo/ and vivimusiccanvas/ are four separate directories, which indicates that animated backdrops and artist video are treated as their own concern. The README describes an "Animated Canvas" with "Apple Music-style animated backdrops", and the directory names line up with that claim.

The privacy claim follows from this architecture. The README states that the app keeps a "Completely local database" with "absolutely zero trackers, analytics, or background telemetry". If the library and preferences live in a local database and the only outbound calls are to the streaming and lyric sources named by the modules, that claim is plausible. It is not something the README proves, and a reader who cares should check the manifest for network permissions and any analytics SDK before trusting it.

Installing the VIVI Music APK and playing a first track

VIVI Music is not distributed through Google Play. The README points at the GitHub releases page for vivizzz007/vivi-music, and the release list shows builds tagged v6.0.7, v6.0.6 and b6.0.5, with v6.0.7 labelled VIVI-GITHUB-DROID. That label is the one to look for when picking a file.

Download the APK from the releases page and install it on the device. Because the file does not come from a store, Android will ask you to allow installation from the app you used to download it. The README does not document an F-Droid listing, a Play listing, or a signed checksum file, so the only verification path is the release page itself.

bash
# https://github.com/vivizzz007/vivi-music/releases
gradlew.bat
./gradlew

The two Gradle wrapper entry points above are the ones present at the repository root, gradlew for Unix-like systems and gradlew.bat for Windows. Building from source is the alternative to the release APK, and the wrapper scripts are what the project ships for it.

After the first launch, use the search screen to find a track and start playback. The README describes background playback with "full notification drawer controls", so the test is simple: start a song, pull down the notification shade, and confirm the transport controls appear. Then open the player screen and check that the interface recolors itself around the album art, which is the Material You behaviour the README leads with.

The project also ships an in-app updater, shown in the screenshots as "Built-in Updater". The README describes "Instant Over-the-Air updates directly inside the app", so after the first manual install you should not need to repeat the download step. The README does not document how the updater verifies a downloaded build, which is worth knowing before you rely on it.

Where VIVI Music breaks, and when it is the wrong tool

The largest limitation is structural. VIVI Music depends on YouTube Music's InnerTube endpoints, and those are not a public API with a stability contract. When YouTube changes them, an app built on top stops playing until the maintainer ships a fix. The related searches include "vivi music not playing", which is the symptom you would expect from that dependency. The README does not describe a fallback source for playback if the primary one fails, although the jiosaavn/ module suggests at least one additional integration exists.

The second limitation is the licence. The repository's licence field reads NOASSERTION, and the top-level LICENSE file exists but is not characterised in the README. NOASSERTION means the automated licence detection could not match the file to a known licence, so a reader cannot assume GPL, MIT or Apache terms. If you plan to fork the app, redistribute it, or ship it inside a product, that ambiguity is a real blocker and you would need to read the LICENSE file itself and probably ask the author.

The third limitation is platform. The description says Android, the primary language is Kotlin, and the build files are Gradle with gradlew and gradlew.bat. There is no iOS target, no desktop target, and no web build in the repository layout. Anyone searching for a VIVI Music PC client or an iOS version will not find one here.

Finally, the README is a promotional page rather than documentation. It does not describe rollback if an over-the-air update goes wrong, does not list minimum Android versions, and does not explain what happens to downloaded tracks when a song leaves the catalog. Those gaps matter more than the feature list when you are deciding whether to depend on the app.

VIVI Music compared with ViMusic and Metrolist

The related searches include "vivi music vs metrolist" and "vivi music alternative", and the search questions include "Does Vimusic still work?", so the comparison people are making is with other YouTube Music clients for Android. ViMusic is the older project in this space and the one whose name is closest to this one, which is why the two get confused.

The difference in approach is visible in the repository layout. VIVI Music splits lyric retrieval into lyricsProvider/, keeps multiple canvas implementations in separate directories, and carries modules for lastfm/, spotify/, shazamkit/ and jiosaavn/ alongside the innertube/ client. That is a wider integration surface than a minimal streaming client, and it is what supports the synced lyrics, animated backdrops and scrobbling-style features the README advertises. Metrolist and ViMusic are the names people reach for when they want the same job done with a smaller feature set.

What VIVI Music adds over a plain client is the design layer and the updater. What it gives up is predictability: a smaller client with fewer integrations has fewer things that can break when an upstream service changes. If you want a player that mostly streams and does not care about animated canvas or karaoke lyrics, the wider module set here is extra surface area you are not using. If you specifically want the Material 3 expressive look and the in-app updater, that is the reason to pick this one.

Release cadence, upgrade cost and what the licence does not say

The repository is not archived, and the last push was on 2026-09-23. Releases have been frequent: b6.0.5 on 2026-08-21, v6.0.6 on 2026-08-31, and v6.0.7 on 2026-09-09. Three tagged releases inside a month is a fast cadence for a project of this size, and it is consistent with the README's claim that Ko-fi support "helps keep this premium audio experience completely active, clean, and ad-free".

The upgrade cost is low by design. The built-in updater means you do not have to watch the releases page, and the app is a single APK with no server component to run. The cost that remains is the one you cannot avoid: each upstream change to YouTube Music is a potential breaking change, and the maintainer has to react. A fast release cadence is good news here, but it also means the project is in a constant race with an external service.

On licensing, the field reads NOASSERTION and the README does not state terms. That is not a legal opinion, and I am not giving one. The practical point is narrower: before you reuse any code from app/, innertube/ or the canvas modules, open the LICENSE file and confirm what it actually grants. Do not assume a permissive licence because the source is on GitHub. The crowdin.yml file indicates the project accepts translation contributions through Crowdin, which implies a contributor workflow, but it says nothing about the licence those contributions fall under.

Editorial conclusion

Adopt VIVI Music if you are on Android, comfortable installing an APK outside a store, and want a Material You player that streams from YouTube Music with lyrics, downloads and in-app updates. Do not adopt it if you need a maintained licence statement, an iOS build, or a desktop client; the README documents none of these. Before installing, verify three things: the APK comes from the GitHub releases page for vivizzz007/vivi-music, the package still streams after your region's YouTube Music changes, and you accept that the repository's licence field reads NOASSERTION rather than a named licence.

Frequently asked questions

What is VIVI Music?

It is an Android music client written in Kotlin that streams from YouTube and YouTube Music and renders the catalog in a Material 3 interface that adapts its colors to the current album art. The README also lists synced karaoke lyrics, an equalizer, local downloads and over-the-air updates.

How do I install VIVI Music?

Download the APK from the GitHub releases page for vivizzz007/vivi-music and install it on the device, allowing installation from the app you used to download it. The release list shows v6.0.7 labelled VIVI-GITHUB-DROID, and after that first install the built-in updater handles later versions.

How do I download VIVI Music?

The README links to the releases page at github.com/vivizzz007/vivi-music/releases, which is the only download location it names. There is no Play Store or F-Droid listing documented in the README.

Is there a VIVI Music alternative?

The comparison people make is with other Android YouTube Music clients such as ViMusic and Metrolist. VIVI Music carries more integration modules, including separate directories for lyrics, canvas, Last.fm, Spotify and ShazamKit, which is what supports its lyrics and animated backdrop features.

How does VIVI Music compare with Metrolist?

The repository layout shows VIVI Music split into separate modules for lyrics, canvas, Last.fm, Spotify, ShazamKit and JioSaavn alongside its InnerTube client, which is a wider integration surface than a minimal streaming client. That breadth is what backs the synced lyrics and animated backdrops the README advertises.

Official sources

  1. Issues
  2. Project website
  3. README
  4. Releases
  5. vivizzz007/vivi-music on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/vivizzz007-vivi-music.svg)](https://hysenlabs.com/projects/vivizzz007-vivi-music)