A Material 3 YouTube Music client for Android
This is a fork of InnerTune
- Play, search, and save all your songs, videos, albums, and playlists from YouTube Music
- Background playback & AD free
- Advanced account sync
- YouTube Music account login support
- Fully fledged syncing of songs, playlists and albums — both to and from your account
- Library management
- Cache and download songs for offline playback
- Personalized quick picks
- Local media playback
- Play local and Youtube Music songs at the same time
- We don't use MediaStore's broken metadata extractor!
- Synchronized lyrics (LRC format, also includes multi-line support)
- Audio normalization, tempo/pitch adjustment, and various other audio effects
- Dynamic Material theme & localization
- New integrated library screen design
- Android Auto support
Warning
If you're in a region where YouTube Music is not supported, you won't be able to use this app unless you have a proxy or VPN to connect to a YTM supported region.
Use other music scrobbler apps. I recommend Pano Scrobbler.
- Go to Android Auto's settings and tap multiple times on the version in the bottom to enable developer settings
- In the three dots menu at the top-right of the screen, click "Developer settings"
- Enable "Unknown sources"
Follow the instructions and create a pull request. If possible, please build the app beforehand and make sure there is no error before you create a pull request. ./app/src/main/java/com/dd3boh/outertune/utils/scanners/jni/ffmpeg-android-maker
By default, we ship a prebuilt library (/app/prebuilt/ffMetadataEx.arr
), and you do not need to care about this.
However, should you choose to opt for self built libraries and/or work on the extractor itself, keep reading:
-
First you will need to setup the Android NDK
-
We use FFMpeg to extract metadata from local files. The FFMpeg (non-kit) implementation must be resolved in one of two ways:
-
a) Build libraries. Clone ffmpeg-android-maker into
/ffMetadataEx/src/main/cpp/ffmpeg-android-maker
, run the build script. Note: It may be helpful to modify the FFmpeg build script disable uneeded FFmpeg fetaures to reduce app size, see here for an example. -
b) Use prebuilt FFmpeg libraries. Clone prebuilt ffmpeg-android-maker into
/ffMetadataEx/src/main/cpp/ffmpeg-android-maker
.
-
-
Modify
app/build.gradle.kts
andsettings.gradle.kts
to switch to the self built version, with the instructions being in both of the files
Then start the build are you normally would.
If you like OuterTune, you're welcome to send a donation. Donations will support the development, including bug fixes and new features.
I want to give credit to z-huang/InnerTune for providing an awesome base for this fork, none of this would have been possible without it.