← Lab

experiment

Shazam vs Audio Fingerprinting

Benchmarking ShazamKit recognition speed and accuracy in noisy environments.

SwiftShazamKitAVFoundationiOS

Problem

Music recognition in the real world fails differently under distance and background noise, which directly affects product UX.

Approach

Tested 50 songs at multiple distances and noise levels to measure recognition speed, confidence, and accuracy.

Result

The results drove BeatMap's recognition UX, including confidence feedback and prompts to move closer to the source.

While building BeatMap, I wanted to understand ShazamKit’s limits. How fast does it identify a song? How much background noise can it tolerate? Does distance from the speaker matter?

I set up a test rig: iPhone at fixed distances from a speaker (0.5m, 1m, 2m, 3m), playing 50 songs across genres, with varying levels of ambient noise (silent room, coffee shop recording, street noise overlay).

Key findings: ShazamKit identified songs within 3-5 seconds in quiet environments regardless of distance. At coffee shop noise levels, recognition dropped to ~80% at 2m+. Heavy bass tracks were identified faster than acoustic or vocal-heavy tracks. The API’s confidence score correlated well with actual accuracy — anything above 0.7 was reliable.

This informed BeatMap’s UX: the app now shows a confidence indicator and suggests moving closer to the source if recognition is slow.