项目自 2024 年底起不再维护,可能遇到不会修复的 bug 或失效功能;桌面版必须预装 Java,Linux 版还需额外系统依赖包;官方建议改用继任项目 Kanon
spmp
sayaka-shGPL-3.0更新放缓基于 Compose Multiplatform 开发的 YouTube Music 客户端,支持 Android 和桌面端,主打配色与歌曲元数据的高度自定义。
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.
从 releases 页面下载对应平台安装包;Android 版也可在 F-Droid 安装README 未说明具体硬件要求;桌面版需安装 Java,Linux 版还需若干系统依赖包
已停止维护的 YouTube Music 客户端,主打配色与歌曲元数据自定义,继任者为 Kanon
基于 Compose Multiplatform 开发的 YouTube Music 客户端,支持 Android 和桌面端,主打配色与歌曲元数据的高度自定义。
核心能力
- 编辑歌曲、艺人和播放列表标题等元数据
- 按当前歌曲缩略图或自定义色板全局/逐曲换主题色
- 应用界面与歌曲标题可分别使用不同语言显示
- 内置 YouTube Music 登录,支持定时歌词与日文假名注音
- 可将歌曲、歌单、专辑、艺人置顶主页并自定义 Discord 状态
容易踩的坑
- v0.4.3最新正式版2026-05-01 · 2026-05-01 18:04 UTC
Final patch release & discontinuation
As of this release, SpMp has been discontinued as it has not been maintained for some time. See the project README for more information. If you use SpMp, please be aware that you may encounter bugs or broken features, and that these will not be fixed.
I've been working on successor project, Kanon, for a few months. While it doesn't yet have all features that SpMp had, you may want to consider migrating to it.
[!NOTE] This release is only available here on Github. It will not be made available on F-Droid, Flathub, or other repositories. Additionally, Windows binaries have not been released as I currently don't have the means to build or test them.
Changes
- Fixes to youtube data loading
- Other minor changes (it's been a while, I don't remember)
Full Changelog: https://github.com/toasterofbread/spmp/compare/v0.4.2...v0.4.3
- nightly-latestNightly 2025-05-07 18:59:10pre-release2024-10-27 · 2024-10-27 20:36 UTC
这个版本没有写更新说明。
- v0.4.22024-10-25 · 2024-10-25 17:56 UTC
查看更新说明
Notice: SpMp is currently mostly non-functional
Recent YouTube API changes made audio streaming from third-party applications more difficult.
Until a fix is implemented, streaming music in SpMp usually doesn't work. The project isn't currently under active development so this might not happen for some time.
This is a hotfix release based on v0.4.1 which fixes the issue of song streams failing to load when not signed in to YouTube Music. Other than the changes listed below, new features/fixes on the
mainbranch added since v0.4.1 are not included in this release.Changes
- Access song streams using an iOS app context by default (fixes Youtubei stream method)
- Update NewPipeExtractor to v0.24.2 (fixes NewPipe stream method)
- Automatically fallback to alternative stream methods on load failure
- Add option to disable automatic stream method fallback
Full Changelog: https://github.com/toasterofbread/spmp/compare/v0.4.1...v0.4.2
- v0.4.12024-08-24 · 2024-08-24 15:46 UTC
查看更新说明
Bugs fixed
- Several YouTube data parsing functions not working due to
NotImplementedError: MUSIC_PAGE_TYPE_TRACK_CREDITS
Full Changelog: https://github.com/toasterofbread/spmp/compare/v0.4.0...v0.4.1
- Several YouTube data parsing functions not working due to
- v0.4.02024-08-17 · 2024-08-17 16:41 UTC
查看更新说明
[!NOTE]
Starting with this release, the Android distribution of SpMp requires Android version 8.0 or greaterThis release corresponds to v0.4.0 of spmp-server
New desktop release formats
- Flatpak (toastbits.dev, Flathub)
- Arch User Repository
- Nix Flake
- Tarball
- Jar
Added app language
- Traditional Chinese added by @KuwaLee #300
Changes
- Add layout bar customisation and shortcut configuration #241
- Add video playback #287
- Add hex input field to theme colour picker
- Show non-music items in playlist, add non-music search option
- Add swipe close gesture to song info menu #256
- Add option to adjust player and queue gesture sensitivity #276
- Implement multiple song/playlist artists #278
- Add option to hide portrait feed artists row
- Implement 'search' path in openUri
- Remove YouTube channel creation flow
- Enable playback of local files without metadata
- Add in-app dependency list
- Add dialog with project info and gestures
- Apply queue alpha to wave border
- Increase song overlay menu buttons size
- Revise default player theme values
Android
- Support server connectivity #228
Desktop
- Support webview login
- Add option to force software rendering
- Broadcast media session #269
- Paste.ee upload not working
- Player status webhook not sending
- Settings slider thumb displaying below center #282
- Pressing play in the playlist prepends all songs to the current one #284
- NullPointerException on library song play #290
- NullPointerException when playing MediaItemList item #316
- Compact landscape player displays incorrectly
- Settings import fails on missing key
- Portrait artist page title aligned incorrectly
- Playlist page continuation not loading #261
- Edit buttons not appearing for local playlist
- ['VL' prefix playlist URL ID](https://github.com/t
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
SpMp has been succeeded by Kanon
SpMp was my first large-scale Android/Compose project, and after over two years of development it became very difficult to maintain. Kanon is a rewrite-turned-successor of SpMp, and shares the same basic features and core design.
While SpMp remains available on this repository, it is no longer maintained, and has not been since late 2024. If you use SpMp, please be aware that you may encounter bugs or broken features, and that these will not be fixed.
Original 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)
Installation
Downloads for all platforms can be found on the repository's releases page.
Additional requirements on desktop
- Java must be installed for all desktop platforms
- Several system packages are required to use the Linux version
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 Dependencies.kt)
- Piped: Provides stream URLs for music playback
- SQLDelight: Database for media metadata
- Kuromoji: Generates furigana (readings) for Japanese lyrics
- KizzyRPC: Discord status functionality
- ComposeReorderable: Reorderable lists like the song queue
- compose-color-picker: Theme editor colour wheel
- Catppuccin: Themes included as options in-app
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.