← Back to blog

Reverse Audio Search with Essentia HPCP: Find Covers, Live Recordings, and Harmonic Matches

Upload a reference audio file and Sakarto finds every harmonically similar copy in a folder using Essentia.js HPCP—perfect for covers, live recordings, and alternate arrangements. Free, browser‑based, and 100% private.

Sakarto Essentia HPCP reverse audio search interface showing harmonic matches with reference pinned and protected

Chromaprint is fast. It finds re‑encoded copies of your reference reliably. But it has a blind spot: it compares spectral energy shape, not which notes are being played. A cover version performed on piano instead of guitar has a completely different spectral fingerprint—even though it’s the same song.

That’s where Essentia HPCP Reverse Audio Search comes in. Instead of spectral energy, it compares harmonic content—the actual musical notes and chords being played at each moment. Two recordings of the same chord progression activate the same pitch classes in similar proportions, regardless of what instrument is playing or how the audio was recorded.

For covers, live recordings, and any two performances that share the same harmonic structure, Essentia HPCP reverse search is the algorithm that finds the matches the others miss.


What makes Essentia HPCP reverse search different from Chromaprint and Meyda?

Sakarto gives you three audio algorithms for reverse search. Each one measures a different property of sound and is better suited for different types of audio.

AlgorithmWhat it measuresBest reference forThreshold direction
ChromaprintSpectral energy shape (frequency bands)Re-encoded tracks, different bitrates, format conversionsLower = stricter
Essentia HPCPHarmonic pitch class content (musical notes)Covers, live recordings, harmonic similarityHigher = stricter (inverted)
Meyda MFCCTimbral texture (spectral envelope)Speech, podcasts, voice memos, sound effectsLower = stricter

The key insight: HPCP extracts a 12‑element Harmonic Pitch Class Profile—one bin for each semitone of the chromatic scale (C, C#, D, D#, E, F, F#, G, G#, A, A#, B). It measures how strongly each note is present in the audio at each moment. Two recordings of the same chord progression will activate the same pitch class bins, regardless of instrument. A cover version on piano and the original on guitar produce near‑identical HPCP profiles because they’re playing the same notes.


How the Essentia HPCP reverse search algorithm works

The algorithm uses Essentia.js—a WebAssembly‑compiled music analysis library—to extract HPCP features from your reference and each folder file. The difference from the duplicate finder is what gets compared to what: here, every folder file is compared against your reference only—not against each other.

Step 1: Load Essentia.js WASM and process the reference file

When you select your reference audio, Sakarto first initialises the Essentia.js WASM module (1–4 seconds on first use, then cached per session), then immediately processes the reference file—decodes it at 44,100 Hz and computes its full HPCP sequence. A preview player appears so you can confirm the file loaded correctly before scanning begins.

Step 2: Decode each folder file at 44,100 Hz

For each audio file in the folder, the browser decodes it at the native 44,100 Hz sample rate using AudioContext.decodeAudioData(). Only the left channel is used. Files over 100 MB are skipped. The reference file itself is skipped if it also appears inside the scanned folder (matched by name + size + date).

Step 3: Extract HPCP for each folder file

Each folder file’s audio is divided into overlapping 4,096‑sample frames (hop 2,048). Essentia’s hpcpExtractor(frame, 44100, false) produces a 12‑element Harmonic Pitch Class Profile per frame—one bin per semitone of the chromatic scale, capturing the relative harmonic energy at each pitch class.

Step 4: Align sequences and compute average cosine similarity

The shorter of the two HPCP sequences determines the alignment length. Each corresponding pair of 12‑element vectors is compared using cosine similarity—measuring the angle between them in 12‑dimensional chroma space. These per‑frame scores are averaged to produce a single similarity value for the file pair.

Step 5: Apply threshold and duration pre‑check

A duration pre‑check first rejects any folder file shorter than 50% of the reference duration. For the remaining files, if the average cosine similarity meets or exceeds the threshold set by the slider, the file is added to the results list as a match.

Step 6: Reference pinned first, matches shown after full scan

Unlike the duplicate finder (which shows groups live), reverse search completes the full folder scan first, then displays all matches together. The reference card is pinned at position 0 with a blue REFERENCE badge. All matching files appear after it. The result count shows how many similar files were found in total.


What Essentia HPCP reverse search finds well

Type of duplicateHow well it worksWhy
Your reference track at different bitrates (320k vs 128k MP3)✅ ExcellentBitrate changes affect quality but not harmonic content.
Lossless vs. lossy exports of the same master (WAV vs MP3)✅ Very GoodHarmonic structure is preserved even when compression discards data.
Cover versions with the same chord progressionExcellentIdentical notes = similar HPCP vectors regardless of instrument.
Transposed recordings (same song, different key)Very GoodHPCP bins shift with transposition but maintain relative structure.
Alternate arrangements sharing the same harmonic structureGoodSame chord progression = similar HPCP profile.
Live and studio versions of the same songGoodHarmonic content is unchanged by venue or recording setup.
Re-mastered versions with similar harmonic content✅ GoodHarmonic content is unchanged by mastering.
Heavily distorted or processed recordings⚠️ May struggleDistortion adds harmonic noise that changes HPCP patterns.
Very short clips (under ~15 seconds)⚠️ May struggleLess data = less reliable matching.
Atonal or noise-based music❌ PoorNo clear pitch classes to extract.
Spoken word, podcasts, sound effects❌ PoorNo harmonic pitch content. Use Meyda MFCC instead.

Understanding the similarity threshold slider

The Similarity Threshold slider (50–95) controls how strictly folder files must match your reference to appear in results. Higher values are stricter—cosine similarity of 1.0 means a perfect harmonic match. Adjusting it after a scan re‑filters results instantly without re‑scanning. This is the opposite direction from Chromaprint’s Hamming threshold.

Threshold rangeWhat it doesWhen to use
81–95 (Very strict)Only near‑identical harmonic profiles match. Very few false positives.Finding exact copies and same‑master re‑exports.
66–80 (Balanced)Catches cover versions, different‑bitrate re‑encodes, and recordings with the same chord progression.Default and recommended. The default of 75 is a good starting point for most music library searches.
50–65 (Loose)Groups files sharing broad harmonic character—same key, similar chord patterns.If you’re missing expected matches. Expect more false positives—always listen before deleting.

Tip: Start at 75. If you’re seeing unrelated songs grouped together (false positives), raise the threshold toward 80–85. If expected covers or alternate versions are not appearing, lower it toward 65–70.


How to use Essentia HPCP reverse search: step by step

Step 1: Select your reference audio file

Click Choose Reference Audio in the left panel. Select any audio file from your computer. Sakarto initialises the Essentia.js WASM module (1–4 seconds on first use), then processes the reference file immediately—a preview player appears so you can play the file and confirm you chose correctly.

Supported formats: MP3, WAV, FLAC, OGG, M4A, AAC. Files over 100 MB are not supported as reference files.

Tip: The reference file does not need to be inside the folder you’re about to scan. Select it from anywhere on your computer. Sakarto skips it automatically if it also appears inside the scanned folder (matched by name + size + date).

Once a reference file is loaded, Choose Folder to Search becomes active. Click it to open a native folder picker (Chrome / Edge). Or drag and drop a folder directly onto the page. The folder count shows how many files were found. The Start Search button activates only when both a reference file and a folder are selected.

Click 🔍 Start Search. A progress bar shows how many files have been processed. HPCP extraction is more CPU‑intensive than Chromaprint—expect 2–5 seconds per track. Audio processing runs fully in the background—you can switch browser tabs freely without pausing the scan.

Once the scan completes, the reference card appears at position 0 (blue REFERENCE badge) followed by all matching files sorted by closeness to the reference. The result count shows how many similar files were found.

Step 4: Adjust the similarity threshold

Use the Similarity Threshold slider above the results to tune sensitivity. Remember: for Essentia, higher = stricter. Releasing the slider re‑filters results instantly without re‑scanning. Start at the default of 75 and adjust based on results.

Step 5: Listen and review results

Every card has a built-in player. Use it to listen and confirm similarity before taking action. Playing one track automatically pauses all others.

  • Click a card to select it (blue border)
  • Ctrl+Click (Cmd+Click on Mac) to add to the compare list (purple border)
  • Click the 🔍 icon on hover to open full-size preview with a modal player
  • Right-click any card for the context menu (Move/Delete disabled on the reference card)
  • Click & drag on empty space to box-select multiple match cards

Step 6: Compare reference vs. match side-by-side

Ctrl+Click the reference card and one or more match cards, then click ⚖️ Compare. A modal opens with a player per file, full metadata (duration, size, type, path), and a similarity percentage. For 3+ files, a pairwise similarity matrix is shown.

The reference card in the compare modal shows only a Copy Name button—no Move or Delete—to keep it protected.

Step 7: Act on matches—Move or Delete

Select match cards (not the reference—it’s protected) and use the toolbar. With Queue Mode on (recommended), files are staged first:

  • 📋 Copy — copy filename(s) to clipboard
  • 📂 Move — stage for move to Audio-Duplicates folder
  • 🗑️ Delete — stage for permanent deletion
  • ⚖️ Compare — listen and view metadata side-by-side

Warning: Deletions are permanent. The File System Access API bypasses the recycle bin. Always use Queue Mode to review before executing. The reference file cannot be deleted or moved.

Step 8: Queue Mode—review before you commit

With Queue Mode enabled (default), clicking Move or Delete stages files in the Move Queue or Delete Queue tab. Switch to those tabs in the sidebar, listen to each file, remove any you change your mind about, then execute. The default destination folder is Audio-Duplicates, created inside your scanned folder.


When to use Essentia HPCP reverse search vs. the other 2 audio algorithms

Sakarto gives you three audio algorithms for reverse search. Each one measures a different property of sound and is better suited for different types of reference searches.

Chromaprint — spectral fingerprinting for re-encoded tracks

Chromaprint is pure‑JavaScript spectral fingerprinting. It captures the overall “shape” of sound—which frequency bands are louder than others. It finds re‑encoded tracks, different bitrates, and format conversions with no CDN dependencies.

Use Essentia HPCP reverse search instead: You’re looking for covers, live recordings, or alternate arrangements of your reference. Chromaprint measures how the sound is shaped; Essentia measures which notes are being played.

Meyda MFCC — timbral texture for speech

Meyda MFCC extracts Mel‑Frequency Cepstral Coefficients—originally developed for speech recognition. It captures timbral texture (the “colour” of sound) and only analyses the first 10 seconds of each file.

Use Essentia HPCP reverse search instead: You’re working with music, not speech. HPCP is specifically designed for pitched musical content and captures harmonic structure that Meyda’s timbral texture approach misses.

Essentia HPCP — harmonic fingerprinting for music

Essentia HPCP is the specialist for music‑to‑music comparison. It extracts Harmonic Pitch Class Profiles using the Essentia.js WASM library, capturing which musical notes are present at each moment. It finds covers, live recordings, and any two performances that share harmonic content.

Use Essentia HPCP reverse search when: You want to find different versions of the same song—covers, live recordings, alternate studio takes, or transpositions. It’s the only algorithm that handles these cases reliably.


Algorithm quick reference

AlgorithmBest forWhat it measuresExternal libraryThreshold directionSpeed
ChromaprintRe-encoded tracks, different bitrates, format conversionsSpectral band energy shapeNone—pure JSLower = stricterFastest
Essentia HPCPCover versions, live recordings, harmonic similarityMusical pitch class contentEssentia.js (CDN)Higher = stricter (inverted)Moderate
Meyda MFCCSpeech, podcasts, voice memos, sound effectsTimbral texture (spectral envelope)Meyda.js (CDN)Lower = stricterFast

Privacy: your files never leave your device

Like every Sakarto tool, the Essentia HPCP reverse audio search runs entirely in your browser:

  • Only the Essentia.js library loads from the network. Three CDN scripts load at page load. After that, all HPCP computation is local. Open DevTools → Network tab during scanning: zero outbound requests.
  • No accounts, no cookies, no analytics. Only your Queue Mode preference is stored in localStorage. No file names, paths, or HPCP data are ever saved or transmitted.
  • Folder access is scoped and session‑only. Permission covers only the folder you selected, lasts only while the tab is open, and can be revoked from browser site settings at any time.
  • Purely static—no backend. Sakarto is HTML, CSS, and JavaScript. No server, no database, and no API endpoint receives any data from you.

Frequently asked questions (Essentia HPCP reverse search specific)

“Does my reference file need to be inside the folder I’m scanning?”

No—the reference can come from anywhere on your computer. If it happens to also exist inside the scanned folder, Sakarto detects and skips it automatically using a combination of filename, file size, and last‑modified date. This means you can scan the same folder the reference lives in and it won’t show up as a match to itself. The reference is always displayed at position 0 as a pinned card separate from the scan results.

”The Essentia threshold slider feels backwards—higher means stricter?”

Yes, and it’s intentional. Essentia HPCP compares files using cosine similarity—a value between 0 (completely different harmonic content) and 1 (identical). So a threshold of 0.85 means “only show matches that are at least 85% harmonically similar to the reference”—very strict. A threshold of 0.55 means “show anything 55% or more similar”—loose. This is the inverse of Chromaprint and Meyda, which measure distance (lower = stricter). Think of it as a minimum similarity score rather than a maximum difference allowed.

”I’m using a studio recording as my reference but the live version of the same song isn’t appearing as a match.”

Try lowering the Similarity Threshold toward 0.60–0.65. Live recordings often have different harmonic balance than studio versions due to reverb, audience noise, and different mixing. The core melody and chord progression will still produce a similar HPCP profile, but the similarity score will be lower than for a clean studio‑to‑studio comparison. If the live version uses significantly different arrangements (e.g. acoustic vs. electric), try 0.55. Always listen to any matches near the threshold boundary before acting on them.

”Can Essentia find copies of a reference that are in a different key (transposed)?”

Partially. Standard HPCP is not fully transposition‑invariant—a song transposed by a semitone or two will produce a slightly shifted chroma profile and may score lower than an untransposed copy. A transposition of 3–4 semitones will likely not match at all. If you need to find transposed versions of your reference, try lowering the threshold significantly and expect more false positives, then filter by ear. For reliable transposition‑invariant matching, dedicated music information retrieval tools outside of Sakarto would be more appropriate.

”No matches found even though I know harmonically similar recordings exist in the folder. What should I try?”

Work through this checklist: first, lower the Similarity Threshold toward 0.55–0.60 (remember: lower = looser for Essentia). Second, make sure the candidate files have similar duration to the reference—the duration pre‑check excludes files shorter than 50% of the reference length. Third, confirm the WASM library finished loading before you started the scan (look for the “ready” status indicator). Fourth, consider the content: HPCP works best for pitched music with clear harmonic content. If your reference is primarily spoken word, drums, or heavily distorted, try Chromaprint or Meyda MFCC instead.

”What type of reference file gives the best results with Essentia HPCP?”

Use a clean, full‑length version of the track with clear harmonic content—a studio recording rather than a live clip with crowd noise, and a version without heavy distortion or noise. Lossless formats (FLAC, WAV) produce slightly more accurate HPCP profiles than heavily compressed MP3s (below 128k). The most important factor is that the harmonic content is clearly present—an instrumental section works better as a reference than a spoken intro, for example, if you’re looking for music matches.

”Why does the reference player appear before I’ve selected a folder?”

Essentia processes the reference file immediately on upload, extracting its HPCP fingerprint right away. This serves two purposes: you can play the file to confirm the right one was loaded, and the fingerprint is ready to compare against the moment you select a folder—no additional processing delay. If you upload a reference file and then wait a minute before selecting a folder, the scan will still start immediately because the reference fingerprint is already computed.

”Can I recover files after deleting them?”

No. Sakarto’s File System Access API remove() call permanently deletes files without going through the OS Recycle Bin. The reference file is fully protected and cannot be deleted or moved no matter what. For all matched files, always use Queue Mode: stage them in the Delete Queue, play each one in the player, compare it against the reference card in the Compare modal, and only execute the deletion when you’re certain.

”Does this work on Firefox or Safari?”

Reference fingerprinting, folder scanning, HPCP extraction, the built‑in players, result display, and the Compare modal all work in Firefox and Safari. Move and Delete are the exception—they depend on the File System Access API which is Chrome 86+ and Edge 86+ only. In other browsers, run the search, review and listen to results, then use Download List to export a report and handle files manually in your file manager.


Final thoughts

Essentia HPCP reverse search is the algorithm you reach for when you need to find music that is harmonically similar to your reference rather than spectrally identical. It’s not for finding re‑encoded tracks—Chromaprint is faster and more reliable for that. It’s not for matching speakers by voice—Meyda MFCC is better for timbral texture. But for covers, live recordings, alternate studio takes, and any two recordings that share the same chord progression, Essentia HPCP reverse search is the only algorithm that reliably works.

It’s particularly effective for:

  • Cover versions. The same song performed by different artists.
  • Live recordings. Studio versions vs. live performances.
  • Alternate arrangements. Acoustic versions, orchestral versions, remixes with similar chord structures.
  • Transpositions. The same song in different keys.

Where Essentia HPCP falls short—speech, sound effects, and non‑harmonic audio—other Sakarto algorithms fill the gap. Use Chromaprint Reverse Search for spectral matching and Meyda MFCC Reverse Search for timbral texture.

But for harmonic similarity in music, Essentia HPCP reverse search is the tool that finds the matches the others miss.

Ready to find harmonically similar audio files to your reference?

February 7, 2026
⏱ 17 min read
🇬🇧 English