Skip to content

toasterofbread/spmp

Repository files navigation

日本語のREADMEへ


SpMp

A YouTube Music client with a focus on customisation of colours and song metadata, built using Compose Multiplatform for Android and desktop



Features

  • Edit song, artist, and playlist titles
  • Select multiple songs for batch actions on any screen
  • Customisable colour theming throughout the app
    • Use a colour from the current song's thumbnail
    • Or use a custom colour set per-song or globally
  • Display app UI and metadata like song titles in separate languages
  • In-app YouTube Music login
  • Display time-synchronised lyrics from KuGou and PetitLyrics
    • Timed lyrics are displayed in a toggleable bar above every app page
    • Furigana (readings) display above Japanese kanji within lyrics
  • Pin any song, playlist, album, or artist to the top of the main page
  • Customisable Discord rich presence
  • Easily insert songs at any position in the queue
And more (see the wiki for a full more complete list of features)

Screenshots

More Screenshots


Installation

Downloads for all platforms can be found on the repository's releases page.

Additional requirements on desktop

The Android version is also available on F-Droid. There is no difference between APKs available on GitHub and those on F-Droid.

Documentation

Documentation on advanced usage of SpMp including compilation instructions can be found at https://spmp.toastbits.dev/docs/

About the project

I started this project after I got tired of dealing with YouTube's official music app's lack of language features and customisation. I tried several alternatives, but all had at least a few issues that bugged me.

So instead of spending a few weeks learning the codebase of an existing project and contributing to it, I decided to spend almost a year (as of writing) creating my own solution.

Contributing

Pull requests, bug reports, and feature suggestions are welcome! This is my first Compose project (and also the largest project I've ever done in general) so there's probably plenty of room for improvement.

The app is currently being developed for both English and Japanese. Contributions for other languages would be greatly appreciated! Information about app localisation can be found here.

Thanks to

  • smlqrs: For designing the project's icon graphic
  • ytmusicapi: Used as a reference for the YouTube Music API
  • ExoVisualizer: Music visualiser implementation
  • ViMusic: A major inspiration for this project

Libraries (see all in shared/build.gradle.kts)

Disclaimer

This project and its contents are not affiliated with, funded, authorized, endorsed by, or in any way associated with YouTube, Google LLC or any of its affiliates and subsidiaries.

Any trademark, service mark, trade name, or other intellectual property rights used in this project are owned by the respective owners.