/music

A material design music player with music from YouTube/YouTube Music

Primary LanguageKotlinGNU General Public License v3.0GPL-3.0

Music

Make your own music library with any song on YouTube/YouTube Music.
No ads, free, and simple.

Latest release License Downloads

Note 1: The project is currently in an unstable stage, so there should be many bugs. If you encounter one, please report by opening an issue.

Note 2: The name of this app is temporary. It will be changed in the future.

Description

With this app, you're like getting a free music streaming service. You can listen to music from YouTube/YouTube Music and build your own library. What's more, songs can be downloaded for offline playback. The metadata of songs and artists are fully editable. You can also create playlists to organize your songs. The aim of Music is to enable everyone to listen to music at no cost by an easy-to-use, practical and ad-free application.

The ability to retrieve information and stream data from YouTube/YouTube Music is provided by NewPipe Extractor.

Features

YouTube

  • No ads
  • Search songs, albums, videos, playlists and channels from YouTube/YouTube Music
  • Auto load more songs when playing the last 5 songs in queues from YouTube

Library

  • Play and save songs from YouTube/YouTube Music
  • Download music for offline playback
  • Edit song and artist metadata
  • Create playlists in local database

Player

  • Material design player
  • Lockscreen playback
  • Media controls in notification
  • Skip to next/previous song
  • Repeat/shuffle mode
  • Edit now-playing queue

Screenshots

Roadmap

The overall plan for this project at current stage:

  1. Improve user interface and migrate to Material You
  2. Modify NewPipe Extractor to support more album and artist information and audio normalization

Installation

You can install Music using the following methods:

  1. Download the APK file from GitHub Releases.
  2. Add IzzyOnDroid to your F-Droid repos following the instruction, and you can search for this app and receive updates.
  3. To get a dev build, go to GitHub Action and download the APK artifact of any workflow.
  4. Clone this repository and build a debug APK.

How to get updates?

  1. If you install from GitHub Releases, the app already has a built-in updater.
  2. If you install from method 2, you can check for updates using the F-Droid application.
  3. Or else, visit GitHub and checkout the releases, issues, PRs, or anything new.

Contribution

Contributing Translations

App

  1. Have a fork of this project.
  2. If you have Android Studio, right click on the app/src/main/res/values folder, select "New"->"Values Resource File". Input strings.xml as file name. Select "Locale", click ">>", choose your language and region, and click "OK".
  3. If not, create a folder named values-<language code>-r<region code> under app/src/main/res. Copy app/src/main/res/values/strings.xml to the created folder.
  4. Replace each English string with the equivalent translation. Note that lines with translatable="false" should be ignored.
  5. (Recommended) Build the app to see if something is wrong.
  6. Make a pull request with your changes. If you do step 5, the process of accepting your PR will be faster.

Fastlane (App Description and Changelogs)

Follow the fastlane instruction to add your language and create a pull request.