Upload one reference audio file, scan a folder, and Sakarto finds everything that sounds similar to it using spectral fingerprinting. The reference card is always pinned first — protected from move or delete — and matches appear after the scan completes.
🔒
100% Private — Your Audio Files Never Leave Your ComputerAll fingerprinting runs in your browser via the Web Audio API. No uploads, no accounts, no tracking. Close the tab and all data is gone.
🔁 What Is Reverse Audio Search?
Reverse Audio Search is the audio equivalent of reverse image search. Instead of scanning a folder and automatically grouping everything that sounds alike, you choose one specific audio file as your reference, then Sakarto scans a folder to find everything with a similar spectral fingerprint.
Use it when you already know what track you're looking for — for example: "find all copies and re-encoded versions of this specific song in my archive."
🎵One Reference Track
Upload a single audio file. Sakarto processes it immediately and displays a player so you can verify you picked the right file.
📁Scan Any Folder
Select a folder and Sakarto fingerprints every audio file in it, then compares each against your reference using Hamming distance.
⚡Runs in Background
Audio processing continues even when you switch browser tabs. Unlike video scanning, the Web Audio API is never throttled in background.
🛡️Reference is Protected
The reference card is pinned first with a blue REFERENCE badge. It can never be accidentally moved or deleted.
🧠 How the Chromaprint Algorithm Works
Both the duplicate finder and this reverse search use the same pure-JavaScript Chromaprint-inspired fingerprinting pipeline. The difference is what gets compared to what: here, every folder file is compared against your reference only — not against each other.
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 via OfflineAudioContext, and computes its full spectral fingerprint. A preview player appears so you can confirm the file loaded correctly.
2
Decode & 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 normalizes MP3, WAV, FLAC, OGG, and M4A so they are all directly comparable regardless of original format.
3
Apply Hann Window & 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.
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 normalization, bitrate changes, and minor re-encoding.
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.
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.
💡
Why compare everything against the reference? In the duplicate finder, every file must be compared against every other file (O(n²) comparisons). In reverse search, each file is compared against the reference only (O(n) comparisons) — much faster for large folders, and results are already sorted by relevance to your one file.
🎚️ 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.
Low values (0–5) — Very strict
Only near-identical files match. Use for exact copies, same file at different bitrates, or lossless vs. lossy exports of the same master. Very few or no false positives.
Medium values (6–20) — Balanced (default: 10)
Catches re-encoded versions, different bitrates (320k vs 128k), and light post-processing. A good starting point for music library searches.
High values (21–50) — Loose
Groups files with similar overall spectral character, even if content differs. Useful for finding recordings from the same session. Expect more false positives — always listen before deleting.
⚡
Re-filtering is instant. When you adjust the slider and release it, the already-computed fingerprints are re-compared against the reference immediately — no re-scanning needed. The scan only runs once per session.
⚖️
Quadratic scaling. The actual bit-error threshold is (slider²) / 50 — so slider 10 ≈ 2%, slider 20 ≈ 8%, slider 30 ≈ 18%. Fine-tuning at low values feels more impactful than at high values.
✅ What It Finds — and What It Might Miss
✅ Finds Well
The reference track at different bitrates (320k vs 128k MP3)
Lossless vs. lossy exports of the same master (WAV vs MP3)
Re-encoded copies in different formats (FLAC → OGG)
Lightly normalized or level-adjusted versions
Same recording with slightly different silence at start/end
Duplicate podcast episodes at different quality settings
⚠️ May Struggle With
Heavily pitch-shifted versions (more than ~2 semitones)
Time-stretched or tempo-changed recordings
Remixes with significant additional instrumentation
Short clips (under ~15 seconds)
Files with very different duration vs. reference
Heavy noise or severe compression artifacts
💡
For covers, alternate versions, or live vs. studio recordings, try the Essentia HPCP reverse audio search — it uses Harmonic Pitch Class Profiles and is more robust for musically related but not identical recordings.
🛡️ How the Reference File is Protected
✅ You Can
Click the reference card to select it
Ctrl+Click it to add to compare
Play it using the built-in player
Preview it full-size with the 🔍 icon
Copy its filename to clipboard
Right-click to access Copy and Compare
🚫 You Cannot
Move the reference file
Delete the reference file
Add it to the move or delete queue
Use the toolbar Move/Delete on it
Right-click Move or Delete (grayed out)
Select it for queue operations
▶️ The Custom Audio Player
Every audio card has a built-in player. Here's how to use it:
All audio player controls and their functions
Control
What it does
▶️ Play button
Starts playback. Automatically pauses any other playing track on the page.
⏸️ Pause button
Pauses playback. Audio position is remembered.
Progress bar
Click anywhere on the bar to seek to that position. Drag left/right to scrub.
🔊 / 🔇 Mute button
Mutes or unmutes this individual track.
🔇 Audio (toolbar)
Mutes or unmutes all audio on the page at once.
Time display
Shows current position / total duration (e.g. 1:23 / 3:45).
← / → arrow keys
When the progress bar is focused, seeks backward or forward 5 seconds.
💡
Exclusive playback. When you press play on any card, all other currently-playing tracks pause automatically. This makes it easy to audition multiple candidates one by one.
📋 Step-by-Step: How to Use Reverse Audio Search
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.
💡
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 & 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:
📋 CopyCopy filename(s) to clipboard
📂 MoveStage for move to Audio-Duplicates folder
🗑️ DeleteStage for permanent deletion
⚖️ CompareListen and view metadata side-by-side
⚠️
Deletions are permanent. The File System Access API bypasses the recycle bin. 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.
🏛️ Quick Reference — All Controls
All toolbar buttons and keyboard shortcuts for reverse audio search
Button / Control
What it does
Choose Reference Audio
Select the audio file to search for. Player preview appears immediately.
Choose Folder to Search
Select the folder to scan. Activates once reference is loaded.
🔍 Start Search
Begin scanning. Processes all folder files, then shows all matches.
Hamming Threshold slider
Adjusts matching strictness. Re-filters results on release without re-scanning.
🔄 New Search
Reload the page and start fresh with a new reference file
📋 Copy (N)
Copy selected filenames to clipboard. N = count.
📂 Move (N)
Move match files or stage them in Move Queue (reference excluded)
🗑️ Delete (N)
Delete match files or stage in Delete Queue (reference excluded)
✕ Deselect All
Remove selection from all cards
⚖️ Compare (N)
Open compare modal for Ctrl+clicked files. Needs 2+.
🔇 Audio
Mute / unmute all audio players on the page
Queue Mode checkbox
Stage files for review before executing. Recommended on.
Click card
Select / deselect the card
Ctrl + Click card
Add / remove from compare list (purple border)
Click & drag (empty area)
Box-select multiple match cards
Right-click card
Context menu: Copy / Move / Delete / Compare. Move & Delete disabled on reference.
🔍 hover icon
Open full-size preview with modal player. Reference shown as REFERENCE.
▶️ on player
Play audio. Pauses all other players on page automatically.
💡 Tips for Best Results
💾
Back Up First
Always back up your audio library before deleting anything. Deleted files bypass the recycle bin and cannot be recovered.
🎧
Use the Best Quality Reference
Use the highest-quality, largest version of the file as your reference — a lossless FLAC or 320k MP3. A heavily compressed reference may produce fewer matches.
🎚️
Start Strict, Then Loosen
Begin with the default threshold of 10. If expected matches are missing, gradually raise the slider rather than jumping to a high value.
⚖️
Listen Before Acting
Use the built-in players to audition reference and match side-by-side before moving or deleting. The algorithm is good but not infallible for edge cases.
📂
Move, Don't Delete
Use Move to an "Audio-Duplicates" folder rather than deleting immediately. Review the moved files over a few days before permanently removing them.
🧪
No Matches? Try a Different Algorithm
If Chromaprint finds nothing but copies clearly exist, try Essentia HPCP (better for harmonic similarity) or Meyda MFCC (better for timbral texture and spoken word).
⚠️ Known Limitations
🎵
Pure-JavaScript FFT — no hardware acceleration.
Processing a typical 3–4 minute track takes 1–3 seconds on modern hardware. Large folders (1,000+ tracks) can take several minutes. Close other browser tabs to free up CPU.
↩️
No undo for file deletion.
The File System Access API bypasses the OS recycle bin entirely. Use Queue Mode to review files before executing any delete operation.
🔀
Single folder at a time.
You can't scan two separate folders in one session. Workaround: scan their common parent directory so both are included.
📊
Memory limit for very large collections.
Fingerprints for thousands of long tracks consume significant RAM. For libraries with 10,000+ files, scan in genre or artist subfolders.
📱
Move and Delete require Chrome or Edge.
The File System Access API is only available in Chrome 86+ and Edge 86+. Firefox and Safari can scan and display results but cannot move or delete files.
🔒 Privacy & Security
✅
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. Only your OS detection and Queue Mode preference are stored in localStorage. No file names, paths, or fingerprints are ever saved or transmitted.
✅
Folder access is scoped and session-only. Browser 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
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.