Skip to content
Julius-IXPublic

Repository files navigation

Yamp icon

Yamp

Yet Another Music Player

Stream, download and sync your music on desktop and Android.

Release License Platforms Tauri

Yamp home on desktop Yamp home on Android

Download | Features | Screenshots | Installing | Cloud sync | Building | Terms | Privacy


Yamp is a free music player whose interface follows Snowify, while the features are tuned to my own needs and taste. It is a personal project built for educational purposes and it is MIT licensed. There is no Yamp server and no account to make. Everything runs on your own device and, if you choose to sync, in your own cloud storage.

The official builds are covered by the Terms of Service, which also explain how Yamp relates to the third-party services it uses. How Yamp handles your data is described in the Privacy Policy. Please read both before using the app.

Features

Streaming Search and stream from YouTube and YouTube Music, with artist pages, albums, trending, new releases and moods to browse
Local music Play your own music from folders on the device, which are watched for changes
Downloads Save songs to listen offline
Library Likes, playlists and followed artists, with a queue, autoplay, shuffle and repeat
Videos Music videos are treated like any other song, so they can be liked, saved to a playlist and downloaded
Sync Keep your library and settings in step across devices through your own Google Drive, OneDrive or iCloud
Selective sync Choose per section of the settings what follows you to your other devices
Import and export Bring a library over from CSV or JSON, such as the account data of Spotify or an Exportify export, and export your own to CSV
Radio Listen to internet radio, found by search or by tag
Themes Custom themes with a color for every part of the interface, in both dark and light
Statistics Listening statistics that stay on your devices and can be turned off
Discord Rich Presence on desktop
System integration Media controls from the lock screen or the system, and updates from inside the app

Screenshots

Desktop Android
Playlist on desktop
Playlist
Playlist on Android
Playlist
Radio on desktop
Radio
Radio on Android
Radio

Installing

Every build is on the releases page. Pick the file for your system and the app takes care of its own updates from there.

System File
Windows NSIS setup, .exe Get it
Linux .AppImage Get it
Android universal .apk Get it

macOS and iOS builds are not distributed. The macOS app can be built from source, see Building. iOS is not supported yet, since there is no music engine for it.

Windows

The installer is not signed with a paid certificate, so SmartScreen may show a "Windows protected your PC" screen. Choose More info and then Run anyway to continue.

Linux

Make the AppImage executable and start it:

chmod +x yamp_*.AppImage
./yamp_*.AppImage

Only an AppImage can replace itself, so updates from inside the app work with this build only.

Android

The apk does not come from the Play Store, so Android asks for a few permissions first.

  1. Open the downloaded file. When asked, allow your browser or file manager to install unknown apps.
  2. Play Protect may stop the install with a message that the app is blocked or unrecognized. Choose More details and then Install anyway.
  3. If there is no such option, open the Play Store, tap your profile picture, go to Play Protect and its settings, and turn off scanning apps with Play Protect for the moment. Turn it back on once Yamp is installed.

The warning only appears because the app is not distributed through the Play Store. An update is installed over the existing app and works as long as it comes from the official releases.

Cloud sync

Your library lives in a local SQLite database on each device. When a cloud account is linked, every device writes its changes to its own log in a private folder of that account and applies the logs of the others. Settings travel along with the library, and the newest change wins.

Provider Folder used Works with
Google Drive the hidden app data folder any device
OneDrive the app folder any device
iCloud the container of the app Apple devices only

Yamp cannot see any other file in your account. iCloud only exists on Apple platforms, so devices of mixed kinds have to use Google Drive or OneDrive. The Privacy Policy lists exactly what is stored, and how to disconnect an account and remove the data.

Providers sit behind a small storage interface, see the readme of cloud-sync, so a fork can add one of its own. A build only offers a service when it was compiled with client ids for it, see BUILDING.md.

Third-party tools

Tool Used for
yt-dlp Reading and downloading YouTube content on desktop, fetched from its releases and kept up to date by the app
youtubedl-android The same job on Android
Radio Browser The directory of radio stations
Discord Rich Presence, through the app running on your computer

Tech stack

Tauri with a Rust backend, and a React frontend in TypeScript using MUI and Vite. Storage is SQLite through sqlx.

Building

Read For
BUILDING.md Setup, running, release builds and build time keys
TESTING.md Which crates to test and how
build.sh Creates the release builds in one go

Each crate under src-tauri/crates has a readme of its own.

License

Yamp is released under the MIT License. Forks and builds that are not published in the releases of this repository are not covered by the Terms of Service.

Releases

Packages

Contributors

Languages