SShortSingh.
Back to feed

How Shazam's 20-Year-Old Audio Fingerprinting Algorithm Actually Works

0
·1 views

Audio fingerprinting technology, most famously used by Shazam, can identify a recording from just ten seconds of noisy, degraded audio captured in a loud environment. The algorithm, described by Avery Wang in a 2003 paper titled 'An Industrial-Strength Audio Search Algorithm,' works by detecting local peak points in a audio spectrogram and discarding all amplitude data. These sparse 'constellation' points are then paired and hashed using only their frequencies and the time gap between them, making the lookup key independent of where in a track the audio clip begins. This design means the system can match a query clip against millions of recordings without needing to know its position in the song, while remaining robust to re-encoding, background noise, and audio filtering. The approach outperforms alternatives like cryptographic hashing, waveform correlation, and neural embeddings, each of which breaks down under real-world audio degradation or fails to scale efficiently.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

gRPC vs REST: How to Choose the Right Protocol for Service Communication

A technical comparison published on DEV Community breaks down the key differences between REST and gRPC for service-to-service communication. REST transmits human-readable JSON over HTTP/1.1 and is universally supported by browsers, making it well-suited for public APIs and external clients. gRPC uses binary Protocol Buffers over HTTP/2, delivering roughly 5–10 times better performance and native bi-directional streaming, which makes it ideal for internal microservice communication. The guide recommends a hybrid architecture where an API gateway handles external REST traffic while internal services communicate via gRPC for speed and type safety. Developers are advised to avoid gRPC when browser clients need direct access or when teams lack familiarity with the required .proto schema format.

0
ProgrammingHacker News ·

NASA Extends Voyager 2 Mission by Another Year Despite Probe Being 48 Years Old

NASA has found a way to keep its Voyager 2 spacecraft operational for at least one more year, extending one of the longest-running missions in space exploration history. The probe, launched in 1977, is now 48 years old and continues to operate far beyond its original mission parameters. Engineers devised a solution to address the power and operational challenges that come with the aging spacecraft. Voyager 2 remains one of only a handful of human-made objects to have traveled into interstellar space.

0
ProgrammingDEV Community ·

LangGraph Tutorial Part 5: Agent Learns to Balance Shared Driver Pools Across Two Zones

A developer tutorial series on building a ride-share zone-balancing AI agent concludes with its fifth and final installment, focusing on coordinating two zones simultaneously rather than evaluating each in isolation. Previous parts assumed an unlimited driver pool, but the new installment addresses the reality that regional driver supplies are finite and shared between zones. Each zone gains two additional supply channels: a local dormant driver pool and a cross-zone pull request that draws from a neighboring zone's surplus. A human approval step is triggered only when a zone's cross-zone request exceeds what the adjacent zone can comfortably spare, keeping most automated cycles uninterrupted. The tutorial also explains key architectural decisions in LangGraph, including why each zone's logic is wrapped as a compiled sub-graph to ensure reliable parallel fan-in behavior.

How Shazam's 20-Year-Old Audio Fingerprinting Algorithm Actually Works · ShortSingh