aleksey-saenko / MusicRecognizer

An Android application for music recognition that uses AudD and ACRCloud services to perform song identification.
GNU General Public License v3.0
431 stars 10 forks source link
acrcloud android android-application android-widget audd foss jetpack-compose kotlin-android music music-recognition shazam-like

Audile

Audile is an open-source music recognition application, that can help you quickly and accurately recognize a music track playing nearby you. This application uses AudD and ACRCloud services to perform song identification and Odesli service to retrieve additional platform-specific track links.

Get it on F-Droid Get it on GitHub

F-Droid releases cannot be upgraded to other releases as they are compiled and signed by F-Droid.

Features

Screenshots

Tech

Audile is written in Kotlin and runs on Android 8.0 or higher.
App architecture inspired by clean arch practices. The application is modularized with a feature-based approach.
UI completely written in Jetpack Compose with MVVM pattern in Material3 design.
The app uses the AudioRecord/MediaCodec API for audio recording and encoding.
Stack: Kotlin, Coroutines, Jetpack Compose, Glance, Hilt, WorkManager, Room, OkHttp, Moshi, DataStore, Coil, Junit.

API Key

This application uses AudD service as a primary Music Recognition API. Please note that AudD service is not free, and you will need a special API token provided by the service to use this application. If you don't have an API token, you can sign up for a trial one.

There is also the option to use the app without a token, but please note that this will significantly restrict the number of daily recognitions that can be performed. Please keep in mind that this behavior is not guaranteed by the service and can be restricted at any time.

License

Copyright (C) 2023 [Aleksey Saenko].

The license is GNU GPLv3.