Git Product home page Git Product logo

musicrecognizer's Introduction

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

  • 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.

musicrecognizer's People

Contributors

aleksey-saenko avatar fjuro avatar liz-desartiges avatar lucasmz-dev avatar mikropsoft avatar tomz00 avatar ysard avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

musicrecognizer's Issues

[Feature Request] Integrate Shazam API

I don't know much about how this app works, but how hard would it be to integrate the shazam api as well, which audire uses?
It would combine the ease of use of a free api and in my experience sometimes better results with the way more functions that this app provides and the better design.

Android 6?

Hi! Is it possible to compile the app with Android 6 support?

app working?

Installed the Audile app, got a token.
It does not recognize anything, not even superhits by the Beatles.

The app listens for 3 seconds, then re-tries for 3 seconds.
Following the msg, no matches found.
Tried very famous songs.

My device
Samsung A52
Android 13

Copy service links

It can be useful if we were able to copy music service links directly, in current status it take us to the browser and then you have to copy it from browser addressbar, it can be done with press and hold service name

Also it will be a good feature if we can share an specific service link!

Quick setting recognition

Add a quick settings that has the same behavior as the current notification service.
By that I mean when enabling the quick setting listen to the environment and recognize a song then the quick setting gets disabled

Widget?

Ey-ya, why not something like Shazam (btw there is a material you version officially)
Imma post a screenshot of it 3 minutes later
Screenshot_2024-05-27-22-15-22-941-edit_app.lawnchair.jpg

1 minute*

Own API Key does not work

Error message "Wrong API token" when using own API Key

I signed up, confirmed email and copied my api_token from https://dashboard.audd.io into Audile v1.1.4 and applied it.
I then force quitted the app and started it again (confirming my api key is present in settings). I then tried to recognize a song, but it loads very long and gives this error.
I even resetted the token and used the new one.
The token "test" works in the limit of 10 requests.

[Feature request] Links to TIDAL

If possible, could you please add TIDAL to the "links to music services" section?

And, of course, thank you for coding this, much appreciated!

YT Music songs inside Audile

Just like Shazam
The play button can be near the sources where you can play the song (but those are external) so that you don't need to redirect
The sample can also be the part of the song which was recognised, as the time when it was recognised is registered

Can you please add identifiable User-Agent to requests?

Hi there,

Congrats on the app! It looks awesome!

Our systems have seen some unusual sign-ups before we identified the requests were coming from the users of this app, so we think most of the requests aren't coming through now.

Can you please identify the app in the API requests you're sending to us via the User-Agent header? That'd be helpful and would allow requests to come through.

Thank you!

Crash app v1.0.1

FATAL EXCEPTION: e9.z Dispatcher
Process: com.mrsep.musicrecognizer, PID: 5465
java.lang.IllegalStateException: Unbalanced enter/exit
at r9.d.i(Unknown Source:126)
at r9.c.M(Unknown Source:19)
at r9.b0.a(Unknown Source:49)
at r9.b0.w(Unknown Source:38)
at k9.h.f(Unknown Source:24)
at i9.e.d(Unknown Source:2)
at j9.b.a(Unknown Source:283)
at j9.f.b(Unknown Source:134)
at i9.a.a(Unknown Source:101)
at j9.f.b(Unknown Source:134)
at g9.b.a(Unknown Source:121)
at j9.f.b(Unknown Source:134)
at j9.a.a(Unknown Source:150)
at j9.f.b(Unknown Source:134)
at j9.g.a(Unknown Source:153)
at j9.f.b(Unknown Source:134)
at i9.j.g(Unknown Source:95)
at i9.g.run(Unknown Source:37)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)


I touch 'Listen', app crashed.

Tap to recognize widget

I just came accross this app looking for an alternative to shazam widget.

some android flavor allow to have widget on their lockscreen (samsung for exemple), and also a widget on the home screen can be quite useful.

I also own a z flip 5 and it's possible with just a few line of xml to allow your widget to be displayed on the external screen which is my main reason to wanting an alternative to shazam.

But unfortunately I have no experience with either kotlin or android development. I will try to look into it, but I would need some help

Feature request: Mic gain and mic used option

Most devices have more then one mic
So it should be an option on which mic to
use as some mics are more sensitive then others. (Hands free vs phone mic for example)
And mic gain should be an option if it's not maxed out by default.
Some mics could record very badly maxed out possibly.

Feature request: export library to a file

Hi there!

Great app, thank you!

I would love to be able to export the library, in a CSV file or something alike.

Use cases :

  • changing phone
  • mere backup, useful if phone gets broken, lost or stolen
  • building a wish list
  • ...

Personally, I hated Shazam the day I changed my phone and wanted to keep the 200+ songs I had shazamed (I don't want to have an account). Fortunately, I had rooted the phone and could eventually find the database and copy the file. Now I don't want to root my new phone anymore for security reasons, and I have just discover Audible which is as good as Shazam (except for musics from TV shows or films), but would still love to be able to retrieve my library at will

Thanks for your consideration

Privacy information

Currently, I can't find information about which personal data is being processed by audile.

Especially interesting would be, which personal data Audil shares with AudD, ACRCloud and Odesli.
Another information that would be interesting to a lot of users would probably be how the privacy of Audile compares to Shazam.

All of that information could be shared in the readme and (I assume also through the readme) on FDroid etc.

Feature Request: QS Tile

Similar to the quick settings tile that Shazam has, it would allow you to quickly start the service, recognize a song and serve it as a notification, without ever needing to open the app itself. It's a very smooth workflow.

Check for update

Hi. Can you please add the ability to check for update. So if there's a new update of the app. We can download and install it. This would be useful

Link to Cifra Club

Add a button that redirects to the song in the Cifra Club app or website (cifraclub.com), used by instrumentalists and musicians

Feature request: Proxy settings

Hi, thanks for developing this app.
Please add the proxy settings to this app.
Like Telegram, AntennaPod, InnerTune, F-Droid and etc.

Screenshot_2023-11-01-18-11-22-518_org.telegram.messenger.web.jpg

The Audd service is blocked in my country.

Feature request: Force retry for saved recognitions

I have 4 recordings that are not recognized in the que when i forgot to enable wifi.the songs are not recognized after i turned wifi on.
And i know the songs are recognizable because i tested them in "live"mode

I push start and it seems to do nothing but charge the icon

Add Wikipedia / Google / DuckDuckGo?

Hi @aleksey-saenko,
since this also works so well with YouTube and TIDAL, I just had the idea that it would be great if a Wikipedia and Google / DuckDuckGo search were also available.
Since I research unknown artists quite often, it would be very convenient to be able to go directly to the Wikipedia page for the artist or even the album.
If there are no entries there, you would then have the normal search function via Google or DuckDuckGo etc.
What do you think?

Best regards

[Feature request]: Longer music detection to get whole playlists

Hi,

it would be good to add the possibility to add also the recognision of more than one music track.
On a party for example you could be interested not only on one specific song and wants to get the whole playlist.
In Shazam this is called "Auto Shazam". Please also add this function to this great app. Thanks

Translation

Hi, where can i get the strings.xml file of the application? can you send me instructions

Feature request: Capture device's audio output for recognition.

Problem

As this explains, Audile https://github.com/aleksey-saenko/MusicRecognizer/releases/download/v1.4.3/Audile_v1.4.3_github.apk currently doesn't appear to be able to recognise sound which hasn't been routed via the speakers of the device and subsequently recognised by the microphone. However, Shazam is able to.

Solution

Consequently, please implement the ability to recognise audio from the device which doesn't exit a speaker, whether that's due to 0% audio volume or connected headphones.

Instantly crashes

When pressing tap to rec it closes with no notification.
Last version would stay open but didn't detect any songs, from the most popular artists

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.