Improve match results (iOS/ Android)

The resulted matches from a custom catalog on both iOS/ Android are a bit delayed (1-3+ seconds)

How to test? (iOS)

  1. Prepare AVAudioPlayer with recorded audio.
  2. Load custom catalog & listen to recorded audio from an external source.
  3. When a match is found, play recorded audio from the AVAudioPlayer at: predictedCurrentMatchOffset

Result: 1-3+ seconds delayed matches

Question

How to improve or filter the resulting matches to be close if not exact to the external audio source?

Experimental

Filtering results by frequencySkew close to 0, does not minimize delayed matches.

[{
    "sh_audioStartDate" = "2021-11-24 12:34:42 +0000";
    "sh_frequencySkew" = "2.222024e-05";
    "sh_matchOffset" = "388.3738065670163";
    "sh_score" = "4302.546";
    "sh_speedSkew" = "0.0009712927";
    "sh_title" = ItemTitle;
}]

Printing the matchedMediaItems, there is a “sh_score”, maybe we can experiment with? But it’s not a public property

Best regards.

Replies

Hi @andzk. Thanks for the question. Can you open a Feedback Request with the info above and attach a sample project with a sample catalog for us to test against, please?

Custom Catalogs are matched locally on device so the expectation is for that delay to be a fraction of what you're getting.

Thanks.

  • Hello. We've made a mistake on iOS using the matchOffset alone, using predictedCurrentMatchOffset the results are much better, very close now to the live audio. The problem still remains for Android, we still have 1-3 seconds delay. I've opened a Feedback Request here, FB9804589 (Improve Shazam match results (Android Shazamkit SDK)). Thank you for helping.

Add a Comment