SpMp (YouTube Music Client) v0.2.0
Requirements: Android 8.1+
Overview: A YouTube Music client with a focus on language and metadata customisation, built with Kotlin and Jetpack Compose for Android.
Features:
Metadata
Edit song, artist, and playlist titles
Set UI and metadata languages separately (ex. display the app’s UI in English and show songs and artists in Japanese)
In-app YouTube Music login for feed personalisation and interaction
Lyrics
Fetch and display lyrics from PetitLyrics, with timed lyrics support (in-progress)
Display timed lyrics above the home feed
Show furigana for Japanese kanji within lyrics using Kuromoji
Song queue
Undo button for queue actions (no more accidental swipe removals)
Radio filters (if provided by YouTube)
‘Play after’ button in the long-press menu for songs
Similar to ‘Play next’, but allows you to select a position in the queue and add the song there directly
Automatically increments the insertion position when used, so the next song you add will be placed after the last (rather than before, as with ‘Play next’)
Multi-select
A multi-select mode can be started by long-pressing on any media item (song, artist, or playlist) from any screen
In multi-select mode, media items can be selected and unselected with a single tap
General actions like downloading and adding to a playlist can be performed, as well as some screen-specific actions such as removing from a playlist or removing/shuffling part of the song queue
YouTube parity
Home feed (with filters support)
Song radio (also with filters support)
Custom radio builder
Like/dislike songs
Subscribe/unsubscribe from artists
Display artists and playlists (in-progress)
Search
Persistent music queue
Home feed
Pin any song, playlist, album, or artist to the top of the home feed
Disable specific recommendation feed rows (such as ‘Listen again’ and ‘Quick picks’) from options
Shows the feed’s most common artists in a row at the top
When offline, the library page is displayed instead
Connectivity
Customisable Discord rich presence (with image support) using KizzyRPC, with in-app login
Editable text
Toggleable ‘open on YouTube’ button and ‘visit project’ button
Theming
UI theme editor
Multiple themes with different names can be created
By default, automatically uses a colour from the current song thumbnail as the theme accent colour
Users can select a different colour from a palette generated using the thumbnail, or select a colour directly from the image
Three modes for theming the player menu:
Use accent colour as background (default)
Use accent colour for elements, with the background using the main background colour
Do not use the accent colour
Three accent colour sources:
Theme colour
Current song accent colour
System theme colour
Playlists
Playlists can be created locally and then, optionally, can be converted to a YouTube playlist on your account
Supports renaming, song add, remove, and reorder, and setting a custom image (currently only selectable from an added song)
Songs can be added from any screen from the long press menu, or by selecting multiple songs
Other
UI theme editor
Option to automatically use a colour from the current song thumbnail as the theme accent colour
Accessibility service for fine volume control, even when screen is off if device is rooted
What’s New:ย
New Contributors
Polish translation added by @WaldiSt in #101
Slight improvements to the bug report template by @opusforlife2 in #115
Thanks to @Zaxx69, @PFARN, and others on the Discord server for their help with testing
Major changes
Partially redesigned home page
Completely redesigned library page
Completely rewrote backend code for loading and storing media #93
Replaced Klaxon with Gson, dramatically improving load times for the song feed, radios, etc.
The library folder, which contains downloaded media, can now be set to a custom location #126
Local playlists are now stored as m3u files within the library folder #124
Improved consistency and reliability of song feed cache and persistent queue
KuGou is now the default lyrics source
New features
Full Material You theming support #80
Playlist continuation button for lists longer than 100 songs #112
Pull-to-refresh to artist and playlist pages #88
YouTube Music lyrics source #104
Option to stop playback on app close #131
Customisable media item filtering by keyword #77
Added a system for displaying and reporting errors
YouTube/Google brand account switcher #86
Android 13 monochrome launcher icon #74
Added a development section to the settings containing a list of external strings that haven’t been localised, and several UI constraints
This app has no advertisements
More Info:
https://github.com/toasterofbread/spmp
Download Instructions: