Finding duplicate audio normally means scanning a whole folder and grouping everything that sounds similar. That’s useful when you’re cleaning up a music library and you don’t know what’s in there. But sometimes you know exactly which file you’re looking for copies of—a specific podcast episode, a particular song, or a sound effect you know is scattered across multiple folders.
That’s where reverse search comes in. Instead of grouping everything, you upload one reference file first. Sakarto processes it immediately, then scans your chosen folder and returns only the files that sound like that specific reference. The reference is pinned at the top with a protected badge—it can never be accidentally moved or deleted.
It’s the audio equivalent of Google reverse image search, but entirely in your browser, with zero uploads, and with three different algorithms to choose from. This guide covers the Chromaprint algorithm—the fastest option, with no CDN dependencies, perfect for finding re-encoded copies and different bitrates of your reference.
How reverse audio search is different
The standard Find Duplicate Audio workflow scans a folder and compares every audio file against every other file. That’s O(n²) complexity—fine for a few hundred files, but it gets slower as the folder grows.
Reverse Audio Search does something much smarter. It fingerprints your reference once, then compares each folder file only against that reference. That’s O(n) complexity—linear scaling. A folder of 10,000 files takes roughly the same time per file as a folder of 100. The scan speed depends only on the number of files, not how many of them are similar to each other.
This makes reverse search the faster choice for large folders where you already know what you’re looking for.
The reference protection system
The reference file is treated differently from every other file in the scan. When you upload it, Sakarto immediately:
- Decodes the audio and computes its fingerprint using your chosen algorithm
- Shows a built-in audio player so you can verify the right file was loaded
- Pins it at the top of the results as soon as scanning starts
- Displays a blue REFERENCE badge on the card
- Prevents it from being moved or deleted—the Move and Delete buttons are disabled on the reference card
This last point is critical. If you’re using reverse search to find copies of a file you want to keep, you don’t want to accidentally delete the original. The reference protection system makes that impossible.
How the Chromaprint reverse search algorithm works
The algorithm is the same pure-JavaScript Chromaprint-inspired spectral fingerprinting used in the duplicate finder. The difference is what gets compared to what: here, every folder file is compared against your reference only—not against each other.
Step 1: Process the reference file immediately
When you select your reference audio, Sakarto processes it right away—before the folder scan starts. It decodes the file, resamples to 11,025 Hz, and computes its full spectral fingerprint. A preview player appears immediately so you can confirm the file loaded correctly.
Step 2: Decode and resample each folder file
For each audio file in the folder, the browser decodes it at its native sample rate using AudioContext.decodeAudioData(), then resamples to 11,025 Hz mono. This normalises MP3, WAV, FLAC, OGG, and M4A so they are all directly comparable regardless of original format.
Step 3: Apply Hann window and compute FFT
The audio stream is split into overlapping 4,096-sample frames (hop size 1,024). Each frame is multiplied by a Hann window, then a pure-JavaScript Cooley-Tukey FFT converts it to a magnitude frequency spectrum covering 0–5,512 Hz.
Step 4: Hash into 16 frequency bands
The spectrum is divided into 16 equal bands. For each frame, 15 adjacent-band comparisons (“is band N louder than band N+1?”) produce a 15-bit sub-fingerprint. This captures relative spectral shape—robust against loudness normalisation, bitrate changes, and minor re-encoding.
Step 5: Compare against the reference using Hamming distance
After all folder files are fingerprinted, each is compared against the reference by XOR-ing their fingerprint arrays and counting differing bits (Hamming distance). If the bit-error percentage falls below the threshold set by the slider, the file is a match. A duration pre-check skips files shorter than 50% of the reference duration.
Step 6: Reference pinned first, matches listed after
The reference card always appears at position 0 with a blue REFERENCE badge. All matching files are listed after it. Unlike the duplicate finder (which shows results live), reverse search completes the full scan first, then shows all matches together so you get a complete count before acting.
What Chromaprint reverse search finds well
| Type of duplicate | How well it works | Why |
|---|---|---|
| Your reference track at different bitrates (320k vs 128k MP3) | ✅ Excellent | Bitrate changes affect absolute values but not relative band ordering. |
| Lossless vs. lossy exports of the same master (WAV vs MP3) | ✅ Excellent | Spectral shape is preserved even when compression discards data. |
| Re-encoded copies in different formats (FLAC → OGG → M4A) | ✅ Excellent | Format changes affect encoding but not overall spectral shape. |
| Lightly normalised or level-adjusted versions | ✅ Very Good | Relative band ordering is unchanged by level changes. |
| Same recording with slightly different silence at start/end | ✅ Good | Fingerprint arrays are compared element-wise, ignoring extra silence. |
| Duplicate podcast episodes at different quality settings | ✅ Good | Spectral shape of speech is preserved across formats. |
| Heavily pitch-shifted versions (more than ~2 semitones) | ⚠️ May struggle | Pitch shift moves frequency content to different bands. |
| Time-stretched recordings | ⚠️ May struggle | Time stretching changes frame alignment. |
| Cover versions or different performances | ⚠️ May struggle | Instrumentation differences change spectral shape. Use Essentia HPCP instead. |
| Spoken-word copies in different formats | ✅ Good | Spectral shape of speech is preserved. |
Understanding the Hamming threshold slider
The Hamming Threshold slider (0–50) controls how strictly folder files must match your reference to appear in results. Adjusting it after a scan re-filters results instantly without re-scanning.
| Threshold range | What it does | When to use |
|---|---|---|
| 0–5 (Very strict) | Only near-identical files match. Very few or no false positives. | Finding exact copies and same-master re-exports at different bitrates. |
| 6–15 (Balanced) | Catches re-encoded versions, different bitrates, and light post-processing. | Default and recommended. The default of 10 is a good starting point for most music library searches. |
| 21–50 (Loose) | Groups files with similar overall spectral character. More false positives. | If you’re missing expected matches. Always listen before acting at these values. |
Important: The slider uses quadratic scaling. The actual comparison threshold is (slider²) / 50:
- Slider 10 ≈ 2% bit-error rate
- Slider 20 ≈ 8% bit-error rate
- Slider 30 ≈ 18% bit-error rate
- Slider 50 = 50% bit-error rate
Two identical files produce 0% error. Two completely unrelated audio files average around 50% error. Most re-encoded duplicates fall below 4–6%.
How to use reverse audio 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 processes it immediately—a preview player with the purple art background 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).
Step 2: Select the folder to search
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.
Step 3: Start the search
Click 🔍 Start Search. A progress bar shows how many files have been processed. 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 Hamming threshold
Use the Hamming Threshold slider above the results to tune sensitivity. Releasing the slider re-filters results instantly without re-scanning. Start at the default of 10 and raise it if you’re missing expected matches.
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 Chromaprint 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 audio.
Essentia HPCP — harmonic content for covers
Essentia HPCP uses Essentia.js WebAssembly to compute a 12-bin Harmonic Pitch Class Profile. It measures which musical notes are present—not the sound of the instruments. It finds cover versions, live recordings, and alternate arrangements even when the instrumentation is completely different.
Use Chromaprint reverse search instead: You have the same recording in different formats or bitrates. Essentia HPCP is for harmonic similarity; Chromaprint is for re-encoded copies of the same master. Chromaprint is also faster and has no CDN dependency.
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. Excellent for podcasts, voice memos, and sound effects.
Use Chromaprint reverse search instead: You’re working with music, not speech. Chromaprint’s full-track spectral analysis is more reliable for music than Meyda’s 10-second window, and Chromaprint has no external CDN dependency.
Chromaprint — spectral fingerprinting for re-encoded music
Chromaprint is the general-purpose workhorse for audio reverse search. It handles re-encoded tracks, different bitrates, format conversions, and near-identical audio with no external dependencies and no tab-switching pauses.
Use Chromaprint reverse search when: You have one reference track and want to find every version of it in a folder—different bitrates, different codecs, different containers. It’s the fastest audio algorithm, works completely offline, and is the best starting point for any music library reverse search.
Algorithm quick reference
| Algorithm | Best for | What it measures | External library | Threshold direction | Speed |
|---|---|---|---|---|---|
| Chromaprint | Re-encoded tracks, different bitrates, format conversions | Spectral band energy shape | None—pure JS | Lower = stricter | Fastest |
| Essentia HPCP | Cover versions, live recordings, harmonic similarity | Musical pitch class content | Essentia.js (CDN) | Higher = stricter (inverted) | Moderate |
| Meyda MFCC | Speech, podcasts, voice memos, sound effects | Timbral texture (spectral envelope) | Meyda.js (CDN) | Lower = stricter | Fast |
Privacy: your files never leave your device
Like every Sakarto tool, the reverse audio search runs entirely in your browser:
- Zero network activity after page load. All audio decoding and fingerprint computation run locally via the Web Audio API. Open DevTools → Network tab during a scan: zero outbound requests.
- No accounts, no cookies, no analytics. The only localStorage data is your OS detection and Queue Mode preference. No file names, paths, or fingerprints 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. There is no server-side component, database, or API endpoint receiving any data from you.
Frequently asked questions (Chromaprint reverse search specific)
“Does my reference file need to be inside the folder I’m scanning?”
No—the reference can be from anywhere on your computer. Pick it from your desktop, a different drive, or a completely separate folder. If the reference does happen to live inside the scanned folder, Sakarto automatically detects and skips it during the scan, matched by filename, file size, and last-modified timestamp. This means you can safely scan the same folder your reference lives in without it showing up as a match to itself.
”Why does the reference card appear before I’ve even selected a folder?”
Sakarto fingerprints the reference file the moment you select it—before any folder scanning begins. Showing the card immediately does two things: it lets you verify the right file was loaded (you can play it with the built-in player right there), and it means the reference hash is ready to compare against as soon as scanning starts with no delay. All cards that appear after you select a folder are real matches from the scan, not the reference itself.
”The same song as my reference exists in MP3 and FLAC in the folder, but only one version is showing up. Why?”
Lossless (FLAC/WAV) and lossy (MP3) versions of the same master differ slightly in spectral content because MP3 compression modifies frequency data. Try raising the Hamming Threshold to 12–15—this range reliably catches lossless vs. lossy pairs. If neither version appears, confirm both files have a similar duration to the reference: the duration pre-check silently excludes any folder file shorter than 50% of the reference’s length.
”How is reverse search different from the Chromaprint duplicate finder?”
The duplicate finder compares every file against every other file in the folder—O(n²) comparisons, which gets slow for large libraries. Reverse search compares every folder file against only your reference—O(n) comparisons, which is much faster. The results are also already sorted by relevance to your one file rather than grouped into arbitrary pairs. Use reverse search when you know exactly which track you’re looking for copies of; use the duplicate finder when you want to find all clusters of similar audio without a specific reference in mind.
”No matches at all, but I know copies of my reference are in that folder. What should I check?”
Work through this checklist: first, raise the Hamming Threshold gradually from 10 toward 20–25. Second, check that the candidate files have similar duration to your reference (the pre-check excludes files shorter than 50%). Third, verify the files are in a supported format—WMA and APE are silently skipped. Fourth, consider whether the copies are cover versions or have different instrumentation: Chromaprint matches spectral energy shape, so a piano cover of a guitar original may not match. If the copies are harmonically similar but instrumentally different, try Essentia HPCP. If they’re spoken-word copies in different formats, try Meyda MFCC.
”Can I use my reference to find cover versions of a song in my folder?”
To a limited extent at higher thresholds—covers that closely follow the original arrangement and instrumentation can produce similar spectral fingerprints. However, Chromaprint compares frequency band energy, not which notes are played, so a cover on a different instrument often produces a very different fingerprint even if the melody is identical. For reliable cover detection, use Essentia HPCP reverse search instead. Its Harmonic Pitch Class Profile is instrument-agnostic and is specifically designed to match the same song across different performances.
”What’s the best quality reference file to use for the most accurate results?”
Use the highest-quality, uncompressed version you have—a lossless FLAC or WAV file is ideal, or the highest available MP3 bitrate (320k). A heavily compressed reference (e.g. a 64k MP3) produces a spectral fingerprint with more compression artifacts, which may mean higher-quality copies in the folder don’t match it closely enough at your chosen threshold. If your reference is lossy, try raising the threshold slightly to account for the extra fingerprint noise.
”Can I recover files after deleting them through Sakarto?”
No. Sakarto uses the File System Access API’s remove() method, which permanently deletes files and bypasses the OS Recycle Bin entirely. The reference file is protected and can never be deleted through Sakarto regardless. For everything else, always use Queue Mode: stage files in the Delete Queue, listen to each one using the built-in player, and compare them against the reference in the Compare modal before executing the deletion.
”Does this work on Firefox or Safari?”
Reference fingerprinting, folder scanning, the built-in players, result display, and the Compare modal all work in Firefox and Safari. The limitation is Move and Delete—those require the File System Access API, which is only available in Chrome 86+ and Edge 86+. In other browsers, complete the search and review results normally, then use Download List to export a report and manage the identified files manually in your OS file manager.
Final thoughts
Reverse audio search is a fundamentally different workflow from standard duplicate finding. It’s faster for large folders, it protects your reference file, and it gives you a clear, focused view of exactly what you’re looking for.
Chromaprint reverse search is the fastest and most private option. With no CDN dependencies and pure-JavaScript processing, it works completely offline and finds re-encoded tracks, different bitrates, and format conversions of your reference reliably.
If you know which track you want to clean up, reverse search is the right tool. And with three algorithms to choose from—Chromaprint for re-encoded copies, Essentia HPCP for covers and live recordings, and Meyda MFCC for speech and sound effects—you can match the algorithm to the kind of duplicates you expect to find.
Ready to find every copy of your reference track?
- Open Chromaprint Reverse Audio Search — fastest, no CDN, great for re-encoded copies
- Try Essentia HPCP Reverse Audio Search — best for covers and live recordings
- Try Meyda MFCC Reverse Audio Search — best for speech, podcasts, and sound effects
- Find Duplicate Audio (Chromaprint) — scan a whole folder without a reference
