Doesn't Chromaprint have to compare the whole song? This is great for detecting duplicates, but Shazam's fingerprint design allows it to match a short snippet to the complete song.
Chromaprint computes “features” roughly 8 times per second. You can do a brute-force search checking different times in a song or potentially do some more fancy indexing once you have the features.
(I did some experiments with Chromaprint - described here, https://kenschutte.com/phingerprint/)
Cool experiment. I suspect your version would be far more permissive in matching than Shazam, which makes sense for your test case. Shazam's fingerprints are a lot more specific, e.g. they would differentiate different mixes of the same recording, potentially even different masters.
I think it's possible to match on a subset in principe, but I don't know if/how this is implemented.