SpMp review: a customisable YouTube Music client now replaced by Kanon
SpMp has been succeeded by Kanon, see README --- A YouTube Music client with a focus on customisation of colours and song metadata. Built with Compose Multiplatform for Android and desktop.
At a glance
- What is it?
- SpMp is a Compose Multiplatform YouTube Music client for Android and desktop, centred on metadata editing, colour themes, lyrics, and queue control. Its README says the project is no longer maintained and directs new users toward Kanon.
- Who is it for?
- Existing SpMp users may keep it when Android or desktop playback, metadata editing, themed colours, and lyric display are more important than receiving fixes. New adopters should evaluate Kanon first because the repository explicitly identifies it as the successor, then verify platform availability, YouTube Music login behaviour, and required desktop dependencies before migrating.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 175 days ago.
- 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 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What SpMp was built to change
SpMp addresses a specific gap in the official YouTube Music experience: language controls and visual customisation were not considered sufficiently flexible by the project author. The README says the author started the project after encountering limitations in the official app and problems in several alternatives. It is aimed at Android and desktop users who want more control over how a YouTube Music client presents songs, artists, playlists, and their surrounding interface.
The feature list is focused on presentation and small changes to library behaviour. Users can edit song, artist, and playlist titles, select several songs for batch actions, and insert songs at any position in the queue. The interface can draw colours from a current song thumbnail, use a colour set for an individual song, or apply a custom colour set globally. SpMp also separates the language of the application interface from the language of metadata such as song titles. That separation is meaningful for listeners who read one language but want to inspect titles in another.
The project is not merely a playback screen. It includes in-app YouTube Music login, pinning for songs, playlists, albums, and artists, and Discord rich presence customisation. Lyrics can be displayed above pages, with timing and furigana for Japanese kanji. These features place SpMp between a conventional music player and a personal YouTube Music front end, although they remain dependent on YouTube Music services and on external lyric providers.
How SpMp is structured across Android and desktop
SpMp is written primarily in Kotlin and uses Compose Multiplatform, with repository entries for `androidApp/`, `desktopApp/`, and `shared/`. The shared and platform-specific layout indicates a common application layer with separate application targets. The README identifies Piped as the source of stream URLs for music playback and SQLDelight as the database for media metadata. That combination suggests a split between remote playback acquisition and locally stored metadata, although the README does not document the complete runtime data flow.
The client also uses Kuromoji to generate furigana readings for Japanese lyrics. Lyrics are associated with KuGou and PetitLyrics, while KizzyRPC supplies Discord status functionality. ComposeReorderable supports reorderable lists such as the song queue, and `compose-color-picker` supports the in-app theme editor. The listed dependencies provide a more concrete view of the design than the product description alone: SpMp combines playback, local metadata storage, lyric processing, interface state, and platform presentation rather than serving as one narrow component.
The project targets English and Japanese localisation. Its documentation directory and localisation wiki are separate from the basic README, so the README does not give a complete account of supported locales, API behaviour, account storage, or desktop packaging. That missing detail matters when evaluating an unofficial client, because the exact handling of credentials, network failures, and YouTube Music changes cannot be established from the repository overview.
SpMp installation and a first useful launch
SpMp does not provide a self-contained installation command in the README. It directs users to the repository releases page for downloads across the supported platforms. The Android build is also available through F-Droid. According to the README, there is no difference between the APKs distributed through GitHub and F-Droid.
For a first real use, a reader can obtain the appropriate build from the releases page, install the Android package on an Android device, or select the desktop package for the target operating system. The README documents two important desktop prerequisites: Java must be installed for all desktop platforms, and the Linux build requires several system packages described in the separate installation documentation. It does not give exact package names, download commands, or release filenames, so those details cannot be reproduced safely from the README alone.
After launching SpMp, the first useful path described by the project is in-app YouTube Music login. From the account-authenticated library, the user can inspect songs and then exercise one of the differentiating features, such as editing metadata, changing the theme, or inserting a song into a chosen queue position. The README does not document account creation, first-run screens, offline playback, or a recovery procedure, so this tutorial stops at the first feature-level use rather than implying undocumented setup steps.
The documentation points to the project documentation site for advanced usage and compilation instructions, while the repository itself contains Gradle wrapper files. The wrapper files indicate a Gradle-based project, but the README does not state a supported JDK version or a reproducible command for building every platform. A fresh user should therefore treat the releases page as the documented installation route and check the platform documentation before compiling.
Metadata, theming, lyrics, and queue controls
SpMp's strongest differentiator is the combination of metadata editing and visual controls. Title edits apply to songs, artists, and playlists, while selection of multiple songs enables batch actions from any screen. Queue insertion at any position is useful for users who do not want to wait for a track or rebuild an ordered list. Pinning also changes the main page by moving selected items to the top.
Theme customisation has several sources. The interface can use a colour from the current song thumbnail, a per-song colour set, or a global colour set. The dependency list names `compose-color-picker` and Catppuccin, and the README says themes are included as options in the app. This makes SpMp relevant to users who care about the visual state of a player, not only playback controls. The documentation does not say whether custom themes are stored locally, synced through an account, or shared between Android and desktop, so cross-device theme behaviour should not be assumed.
Lyrics are another substantial feature. SpMp can display time-synchronised lyrics from KuGou and PetitLyrics in a toggleable bar above every page. Furigana readings can appear above Japanese kanji. The feature depends on those external services and on lyric availability, which means it is not equivalent to bundled lyrics. The README does not document provider selection, offline lyric storage, or behaviour when a lyric cannot be found.
The maintenance boundary and Kanon as the successor
SpMp should be treated as an unmaintained application, despite the repository not being archived and despite a release dated 2026-05-01. The README explicitly says that the project is no longer maintained and has not been since late 2024, and warns that bugs or broken features may not be fixed. The last repository push was on 2026-05-01, but that repository activity does not override the project's own maintenance statement. A newer commit or release can still contain work that the author does not consider ongoing maintenance.
The stated successor is Kanon, hosted at the GitLab address linked in the README. It is described as a rewrite turned successor of SpMp and is said to share the same basic features and core design. That is a better fit for evaluating future work than assuming that fixes for SpMp will arrive. It is also a more precise alternative than a generic YouTube Music client because the documented relationship explains why Kanon is relevant to readers familiar with SpMp.
The README does not state whether Kanon supports the same Android and desktop targets, whether its YouTube Music integration is compatible with existing SpMp accounts, or whether any metadata, themes, lyrics, or queue data can be transferred. Those are migration questions, not details that can be filled in from the SpMp README. The GPL-3.0 licence also means that code reuse and distribution have licence conditions, but the README does not provide legal interpretation or a migration procedure.
Limits of SpMp for new deployments
The most immediate limitation is maintenance. The README warns that broken features may remain broken. This is especially relevant because SpMp depends on YouTube Music and several network services rather than operating only as a local player. Changes to upstream services, login handling, stream resolution, lyrics, or Discord integration could affect behaviour without a corresponding SpMp maintenance commitment.
Second, SpMp is the wrong choice when a stable support path matters more than customisation. The project is aimed at users who value editable metadata, per-song and global colours, language separation, lyric display, and queue placement. A user who mainly needs a conventional, currently supported music player should investigate Kanon instead, since it is the documented successor. A user who needs offline lyrics, guaranteed desktop packaging, migration of local metadata, or documented account security should not infer those capabilities from the feature list.
Third, the source dependencies create an operational surface larger than a small local application. Piped, SQLDelight, Kuromoji, KizzyRPC, ComposeReorderable, `compose-color-picker`, and Catppuccin each serve a specific function. The README identifies them, but it does not specify their versions, configuration, security boundaries, or failure handling. That makes SpMp more attractive for experimentation by users comfortable with unofficial clients and more difficult to justify for deployments requiring a clear support and update policy.
Editorial conclusion
Existing SpMp users may keep it when Android or desktop playback, metadata editing, themed colours, and lyric display are more important than receiving fixes. New adopters should evaluate Kanon first because the repository explicitly identifies it as the successor, then verify platform availability, YouTube Music login behaviour, and required desktop dependencies before migrating.
Frequently asked questions
Is SpMp still maintained?
No. The README says SpMp has not been maintained since late 2024, even though the repository received a push on 2026-05-01. It warns that bugs and broken features may not be fixed.
What is the successor to SpMp?
Kanon is the documented successor. The README describes it as a rewrite-turned-successor that shares SpMp's basic features and core design.
Where can I install SpMp on Android and desktop?
The README directs users to the repository releases page for platform downloads. It also states that the Android version is available on F-Droid, and that GitHub and F-Droid APKs have no difference.
Official sources
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.
[](https://hysenlabs.com/projects/sayaka-sh-spmp)Was this useful?