Skip to content
/ spmp Public
forked from toasterofbread/spmp

A YouTube Music client with a focus on language and metadata customisation. Built with Kotlin and Jetpack Compose for Android.

License

Notifications You must be signed in to change notification settings

MRGABOZ/spmp

 
 

Repository files navigation

日本語のREADMEへ

SpMp

A YouTube Music client with a focus on language and metadata customisation, built for Android using Jetpack Compose and Kotlin.


Development status

SpMp is in alpha and still has many bugs, but is very close to being feature-complete. I've been using it instead of YouTube Music for a while now.

Support for Compose Multiplatform on desktop is planned but will not be a priority until the main project is stable.


Features

  • Edit song, artist, and playlist titles
  • Set separate languages for app UI and metadata like song titles
  • 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
  • Select multiple songs for batch actions on any screen
  • 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


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.

Also available on

Thanks to

  • ytmusicapi: Used as a reference for the YouTube Music API
  • KeyMapper: For screen off volume control implementation
  • 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.

About

A YouTube Music client with a focus on language and metadata customisation. Built with Kotlin and Jetpack Compose for Android.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 99.7%
  • Python 0.3%