Skip to content

An Android application for music recognition that uses AudD and ACRCloud services to perform song identification.

License

Notifications You must be signed in to change notification settings

aleksey-saenko/MusicRecognizer

Repository files navigation

Audile

Audile is a 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

  • Recognition - Audile allows you to perform song recognition in one click. The app will save the recording if there is no internet, and the recognition process will be executed when you come back online. You can customize the default behavior for unsuccessful recognition (no internet, no matches, another failure) via the preferences.
  • Background Usage - Use the application seamlessly from the notification drawer, home screen widget, or quick settings tile. Manage the recognition process and obtain track information without launching the app.
  • About track - In case of successful recognition, information about the track, such as the name, artist, album and year, artwork, links to this track on popular music services, lyrics is provided.
  • Library - All recognized tracks are stored in the application's library. You can filter the track list, create a favorites collection, search for tracks, or delete tracks.
  • Preferences - The application has a number of options for customizing its behavior and appearance, which can be found on the settings screen.

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.

About

An Android application for music recognition that uses AudD and ACRCloud services to perform song identification.

Resources

License

Stars

Watchers

Forks

Languages