Hello, we've encountered issues on Android using Custom Catalogs.
On Android the only possible way to create a custom catalog is using .addFromCatalog() from a .shazamcatalog file, there is no method like iOS SDK provides .addReferenceSignature() to add a signature.
Generating from iOS a .shazamcatalog file and loading in Android returns wrong values for query signature duration:
Android
catalog.minimumQuerySignatureDurationInMs: 3000
catalog.maximumQuerySignatureDurationInMs: 2147483647
iOS
minQuerySignDuration: 1.0 seconds
maxQuerySignDuration: 12.0 seconds
No match resulting for Android but iOS works as expected.
Is it possible to match against a custom catalog on Android?
Any help will be much appreciated.
Post
Replies
Boosts
Views
Activity
The resulted matches from a custom catalog on both iOS/ Android are a bit delayed (1-3+ seconds)
How to test? (iOS)
Prepare AVAudioPlayer with recorded audio.
Load custom catalog & listen to recorded audio from an external source.
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.
Hello,
Are the Android results expected to be similar to the iOS version?
Tests below calculating after: "live audio offset - shazam predicted match offset"
iOS Tests
16 ms
15 ms
18 ms
11 ms
Android Tests
4823 ms
-159 ms
4365 ms
-4657 ms
900 ms
*negative value means that Shazam returned a timestamp ahead of the live audio
*tests were done against multiple audio files (studio recordings)
How did I generate the signatures and catalogs?
using Shazam CLI
Android ShazamKit version:
2.0.0
What can we do to improve Android results?
Best regards!
Hello,
Using ShazamKit, based on a shazam catalog result, would it be possible to detect the audio-recorded FPS (speed)?
I'm thinking that the shazam catalog which was created from an audio file can be used to compare the speed of a live recorded audio.
Thank you!