A sane music player built with media3 and the Material Design library that is following Android's standard strictly.
![]() | ![]() | ![]() |
|---|---|---|
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
You can download the latest stable version of the app from either GitHub releases, F-Droid, or from IzzyOnDroid.
Beta versions and sneak peeks are available in the telegram channel or chat.
To build this app, you will need the latest beta version of Android Studio and a fast network.
Gramophone includes certain dependencies such as media3 as git submodule. Make sure you download git submodules by running git submodule update --init --recursive before trying to build Gramophone.
Gramophone has a package type that indicates the source of the application package. Package type string is extracted from an external file named package.properties.
Simply open your favorite text editor, type releaseType=SelfBuilt, and save it in the root folder of the repository as package.properties.
Launch Android Studio and import your own app signing signature. You should be able to build Gramophone now.
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Why can't I see songs shorter than 60 seconds? Gramophone hides songs shorter than 60 seconds by default. You can change it in Three dots > Settings > Behaviour (set the setting to 0 to show all songs).
I changed the minimum song length setting, but some songs are still missing! Make sure you haven't excluded the folder in Behaviour > Folder blacklist. Then, try to reboot your phone, then wait a few minutes (this will rescan the system-wide media database Gramophone uses to find songs). If it's still not visible, your system version may not support scanning this file extension: this most commonly is observed for .opus, which will only be scanned since Android 10 (pro tip: rename your .opus file to .ogg, and it will be detected on Android 6 and later).
My song isn't playing! / My song is playing, but it's completely silent, yet the volume is turned up! Please note that Gramophone relies on system media codecs to make the app smaller. This means
There is one exception: ALAC files can be played even without the system ALAC decoder as Gramophone includes an extremely lightweight Java ALAC decoder.
(top 30 of 112)
Kotlin
75.2%
Java
12.9%
C++
9.4%
C
1.9%
A sane music player built with media3 and the Material Design library that is following Android's standard strictly.
![]() | ![]() | ![]() |
|---|---|---|
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
You can download the latest stable version of the app from either GitHub releases, F-Droid, or from IzzyOnDroid.
Beta versions and sneak peeks are available in the telegram channel or chat.
To build this app, you will need the latest beta version of Android Studio and a fast network.
Gramophone includes certain dependencies such as media3 as git submodule. Make sure you download git submodules by running git submodule update --init --recursive before trying to build Gramophone.
Gramophone has a package type that indicates the source of the application package. Package type string is extracted from an external file named package.properties.
Simply open your favorite text editor, type releaseType=SelfBuilt, and save it in the root folder of the repository as package.properties.
Launch Android Studio and import your own app signing signature. You should be able to build Gramophone now.
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Why can't I see songs shorter than 60 seconds? Gramophone hides songs shorter than 60 seconds by default. You can change it in Three dots > Settings > Behaviour (set the setting to 0 to show all songs).
I changed the minimum song length setting, but some songs are still missing! Make sure you haven't excluded the folder in Behaviour > Folder blacklist. Then, try to reboot your phone, then wait a few minutes (this will rescan the system-wide media database Gramophone uses to find songs). If it's still not visible, your system version may not support scanning this file extension: this most commonly is observed for .opus, which will only be scanned since Android 10 (pro tip: rename your .opus file to .ogg, and it will be detected on Android 6 and later).
My song isn't playing! / My song is playing, but it's completely silent, yet the volume is turned up! Please note that Gramophone relies on system media codecs to make the app smaller. This means
There is one exception: ALAC files can be played even without the system ALAC decoder as Gramophone includes an extremely lightweight Java ALAC decoder.
(top 30 of 112)
Kotlin
75.2%
Java
12.9%
C++
9.4%
C
1.9%