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

Feature request: Wrong track button #7

Closed nutpantz closed 10 months ago

nutpantz commented 11 months ago

I've noticed that the app gets the song wrong from time to time. It would be nice if there was a manual override to try again.

aleksey-saenko commented 11 months ago

@nutpantz There is no point in trying again with the same recording as the remote service will return the same response within a short period of time. I see two options: either add a "wrong track" button to the screen with the track to initiate recording and recognition again. However, this might overload the interface, and it might be easier to press the back button and relaunch the recognition from the main screen. Alternatively, the second option is to save recordings even for "successful" recognitions, allowing users to recognize them again after some time, in the hope that the database will be updated or through sharing with friends. However, it seems a little far-fetched. Please tell me more about your idea.

nutpantz commented 11 months ago

add a "wrong track" button to the screen so it will not be saved in recognition library then the user can try again from the main screen

That would be the best and simplest option i think.

aleksey-saenko commented 11 months ago

Now it only takes 2 clicks to perform the same action. Ellipsis at the top -> Delete. This will take you back to the main screen. Your idea has value, although I haven't figured out yet how to seamlessly incorporate this button into the interface. Let's wait for others' feedback on this feature.

AudD-music commented 11 months ago

as the remote service will return the same response within a short period of time

Note that by default, we only return the first match; but it's possible that we've actually got more matches. You can sometimes get a couple more by sending a request with the all parameter set to true. Note that the additional metadata won't be returned; you can get the links and album cover from the song_link response field by adding ?thumb, ?apple_music, etc. after it (e.g., https://lis.tn/Warriors?thumb and https://lis.tn/Warriors?spotify).

aleksey-saenko commented 11 months ago

@AudD-music I've done a dozen tests with different tracks. This parameter works; sometimes the service responds with multiple results, but there is no song_link field in any response. So I cannot pull out more information for the secondary tracks. Also, unfortunately, I cannot get the lyrics directly using this method.

{
    "status": "success",
    "result": [
        {
            "artist": "PULS",
            "title": "Dope",
            "album": "Dope",
            "release_date": "2011-12-20",
            "label": "ORCHARD - BLUE SKY MUSIC",
            "timecode": "04:46"
        },
        {
            "artist": "Emix Oblivion",
            "title": "Never Be Alone (The Abominius Remix)",
            "album": "Beautiful EP",
            "release_date": "2014-05-11",
            "label": "Gardenia Records",
            "timecode": "00:11"
        },
        {
            "artist": "The Face",
            "title": "Let's Go",
            "album": "Let's Go",
            "release_date": "2011-04-20",
            "label": "Contraseña Records",
            "timecode": "00:15"
        }
    ]
}
aleksey-saenko commented 10 months ago

Version 1.1.3, including swipe-to-retry function, was released on F-Droid.