From SoundSpotter to audioDB: scaling similarity search

SoundSpotter keeps its corpus close at hand and searches it in real time. That works beautifully up to a point. The moment the corpus becomes a library, you need a different machine, and that machine is audioDB, built within the OMRAS2 project.

The scaling problem

Exact nearest-neighbour search gets slow in high dimensions, and audio features are very high-dimensional. The research around SoundSpotter – Casey and Slaney on sequences, Slaney and Casey on locality-sensitive hashing (LSH) – is really about one thing: finding close matches fast enough without checking every candidate.

Shingles and hashing

audioDB indexes short sequences of features (audio "shingles") and uses LSH so that similar shingles tend to collide into the same buckets. Retrieval then looks only inside a handful of buckets instead of the whole collection, with an automatic radius bound to keep accuracy honest. It is the same instinct as SoundSpotter's real-time matching, scaled to millions of frames.

If you want the papers, the Research & Publications page lists them all.

← Driving SoundSpotter live in Max/MSP and PureDataThe quiet craft of sound design in online entertainment →