Reverse Audio Search Upload a Reference, Find Its Copies
Upload one audio file as your reference. Sakarto scans a folder and finds everything that sounds similar to it — reference pinned first and protected, matches listed after the full scan. 3 algorithms, each finding different kinds of audio copies.
Select any audio file. Its fingerprint is computed immediately and a player appears.
📂
2. Pick a Folder
Select the folder to scan. Reference doesn't need to be inside it.
⚡
3. Scans in Background
Audio processing continues even when you switch tabs. No pausing.
🛡️
4. Reference Protected
Reference card pinned first, can never be moved or deleted. Play tracks to compare.
💡
Reverse Search vs. Find Duplicates: Reverse Search compares every folder file against your one reference (O(n) — fast). Find Duplicate Audio groups all similar files with each other (O(n²)). Use Reverse Search when you know exactly which track you're looking for copies of.
🔒
100% Private — audio never leaves your device. All fingerprinting runs via the Web Audio API. Audio scanning continues in the background regardless of tab focus — unlike video scanning, the Web Audio API is never throttled.
Quick Pick — Which Algorithm?
Each algorithm finds a different kind of audio copy. The right choice depends on what type of copies you expect your reference to have.
Quick guide to choosing the right reverse audio search algorithm
My reference's copies are probably…
Best algorithm
Why
Same track at a different bitrate (320k vs 128k MP3)
Chromaprint
Spectral fingerprint is stable across bitrate and format changes. Fastest, no CDN.
Lossless vs lossy export of the same master (WAV vs MP3)
Chromaprint
Same spectral content regardless of codec. Works at threshold 10–15.
Cover version or live recording of the same song
Essentia HPCP
Measures harmonic pitch class content — covers use the same notes even with different sound.
Same song in different format (FLAC → OGG → M4A)
Chromaprint
Pure JS, no CDN, fastest scan — ideal for format conversion detection.
Podcast episode or voice memo in multiple formats
Chromaprint or Meyda
Chromaprint for exact re-encodes; Meyda MFCC for same speaker's timbral texture.
Sound effect saved at different quality settings
Meyda MFCC
MFCCs capture timbral texture — the "colour" of the sound, independent of format.
Very large folder, fastest possible scan
Meyda MFCC
10-second window only — very fast for long files. Chromaprint second fastest.
All 3 Algorithms — How Reference Audio Search Works
Every algorithm fingerprints your reference first, then processes each folder file and compares it against the reference. The reference card is always pinned first and protected from deletion.
🎵
Chromaprint — Reverse Audio Search
Chromaprint
A pure-JavaScript spectral fingerprinting algorithm — no external library or CDN required, works completely offline. Your reference is decoded, resampled to 11,025 Hz, split into 4,096-sample frames, and each frame is hashed into a 15-bit sub-fingerprint by comparing adjacent frequency band energies via FFT. The same process runs for each folder file, and fingerprints are compared using Hamming distance. The threshold uses quadratic scaling for fine-tuned control at low values. Because the algorithm captures relative frequency shape (not absolute values), it's robust to bitrate changes, format conversions, and level normalization — making it the best choice for finding re-encoded copies of your reference track.
After full scan completes, all matches shown. Reference at position 0, protected.
⚡
Chromaprint is the fastest algorithm. It requires no external library, works completely offline, and analyses the full track. Use it for re-encoded copies, different bitrates, and format conversions.
Uses Essentia.js WebAssembly to extract 12-bin Harmonic Pitch Class Profiles from your reference and each folder file at 44,100 Hz. HPCP measures which of the 12 musical pitch classes (C, C#, D…) are present at each moment — essentially a musical "chord fingerprint." Your reference and each folder file are compared using cosine similarity of their average HPCP vectors. Because HPCP captures harmonic content (which notes are played) rather than exact waveform shape, it identifies the same song even when performed by a different artist, recorded with different equipment, or transposed slightly. The threshold is inverted: higher = stricter (cosine similarity must be ≥ threshold value).
Step 1
Load Essentia.js WASM (once)
~2–4s initialisation on first use per session. After that, all files process fast.
Step 2
Reference → 12-bin HPCP
Decoded to 44,100 Hz → HPCP per frame → averaged to one reference vector.
Step 3
Cosine similarity vs reference
Folder file HPCP vector compared to reference vector. ≥ threshold = match (inverted!).
Step 4
Reference pinned, matches listed
All matches shown after full scan. Reference protected at position 0.
⚠️
Essentia threshold is inverted: higher = stricter (cosine similarity ≥ threshold). Requires Essentia.js from CDN — needs internet on first load, then cached per session.
Uses Meyda.js to extract 13 Mel-Frequency Cepstral Coefficients at 22,050 Hz. MFCCs capture the timbral texture of sound — the quality that makes one person's voice or one instrument recognisably different from another. Only the first 10 seconds of each file are analysed, making this the fastest algorithm for long files like podcasts. Your reference's average MFCC vector is compared to each folder file's vector using Euclidean distance. Lower threshold = stricter. Best for finding copies of a reference podcast episode, voice memo, or sound effect where timbre matters more than pitch. The 10-second window also means the scan is complete very quickly even for a folder of thousands of long files.
Comparison of the 3 audio reverse search algorithms
Property
Chromaprint
Essentia HPCP
Meyda MFCC
What it compares
Spectral band energy shape
Harmonic pitch class content
Timbral texture (first 10s)
Threshold direction
Lower = stricter
Higher = stricter (inverted)
Lower = stricter
External library
None — pure JS
Essentia.js (CDN)
Meyda.js (CDN)
Re-encoded / different bitrate
✓ Excellent
⚠ Good
⚠ Good
Cover versions / live recordings
⚠ Limited
✓ Excellent
✗ Poor
Speech / podcasts / voice
✓ Good
✗ Poor
✓ Excellent
Sound effects
⚠ Moderate
✗ Poor
✓ Excellent
Speed for large folders
⚡ Fast (full track)
⚠ Moderate
⚡ Fastest (10s only)
Works offline
✓ Always
⚠ After first CDN load
⚠ After first CDN load
📖 Complete Guide — How to Use Any Reverse Audio Search
All 3 algorithm pages work the same way. Upload a reference audio, pick a folder, and Sakarto finds every similar file. This guide covers the reference protection system, built-in players, threshold slider, compare modal, and safe file operations.
🔑 What Makes Reverse Audio Search Unique
🎵One reference track
Upload the specific file you want copies of. A player appears immediately so you can verify the right file was loaded.
⚡O(n) speed
Each folder file is compared only against the reference — not against all other files. Much faster than duplicate finding for large folders.
🛡️Reference protected
Reference card is pinned at position 0 with a REFERENCE badge. It cannot be moved or deleted, ever.
🔄Background scanning
Unlike video, the Web Audio API never pauses in the background. Your audio folder scans at full speed even when you switch tabs.
🔒 Privacy — Your Audio Never Leaves Your Device
✅
Zero network activity after page load. All fingerprinting runs locally via the Web Audio API. Zero outbound requests during any scan.
✅
Background scanning. Audio processing continues at full speed regardless of which tab is active. No pausing, no throttling.
✅
Session-only access. Folder permission expires when you close the tab. No filenames, paths, or fingerprints are stored between sessions.
📋 Step-by-Step: Using Reverse Audio Search
Step 1
Choose the Right Algorithm & Open the Page
Use the table above to pick the algorithm that best fits the copies you expect. Click the "Open Reverse Audio Search" button on any algorithm card. If unsure, start with Chromaprint — fastest, no CDN, great for re-encoded tracks.
💡
For Essentia HPCP: wait for the WASM library to finish loading (shown by a status indicator) before uploading your reference. The library loads once per session and is then cached.
Step 2
Upload Your Reference Audio File
Click Choose Reference Audio. Select any audio file from your computer — it doesn't need to be inside the folder you're about to scan. Sakarto processes it immediately and shows a built-in audio player so you can play the file and confirm the right one was loaded.
Supported: MP3, WAV, FLAC, OGG, M4A, AAC. Max 100 MB for reference files.
💡
Use the highest quality version as your reference — a lossless FLAC or high-bitrate MP3. A heavily compressed reference may produce fewer matches against higher-quality copies in the folder.
Step 3
Select the Folder to Search
Once a reference is loaded, click Choose Folder to Search (Chrome / Edge) or drag and drop a folder onto the page. The Start Search button activates once both reference and folder are selected. All audio files inside, including subfolders, are collected.
Step 4
Watch the Scan Run in the Background
Click 🔍 Start Search. A progress bar shows how many files have been processed. Audio processing runs fully in the background — freely switch tabs without pausing the scan. Once complete, the reference card appears at position 0 followed by all matching files.
Step 5
Adjust the Threshold
Use the Hamming Threshold (Chromaprint / Meyda) or Similarity Threshold (Essentia) slider to tune matching sensitivity. Releasing the slider instantly re-filters results without re-scanning.
Low (0–5) — Very strict (Chromaprint & Meyda)
Only near-identical files match. Exact copies and same-master re-encodes.
Medium (6–20) — Balanced (default: 10)
Catches re-encoded versions, different bitrates, light post-processing.
High (21–50) — Loose
Includes similar-sounding files. More false positives — always listen before acting.
⚠️
Essentia threshold is inverted: higher = stricter. Chromaprint and Meyda: lower = stricter.
Step 6
Listen & Review Using the Built-In Player
Every card has a built-in audio player. Playing one track automatically pauses all others — making it easy to audition reference vs match side by side.
▶ Play button — starts playback, pauses all other players on the page
Progress bar — click to seek; drag to scrub
🔇 Mute button — mutes this card's player individually
🔇 Audio (toolbar) — mutes/unmutes all players at once
Click a card to select it (blue border)
Ctrl+Click reference + match, then ⚖️ Compare to see side-by-side with similarity %
Right-click any card for context menu (Move/Delete disabled on reference)
Step 7
The Reference File is Always Protected
✅ You can do these on the reference
Click to select it
Ctrl+Click to add to compare
Play it with the built-in player
Click 🔍 to preview full size
Copy filename to clipboard
🚫 You cannot do these on the reference
Move or delete it
Add to move/delete queue
Right-click Move or Delete
Select it for queue operations
Step 8
Move, Delete, or Copy Matches
📋 CopyCopy match filename(s) to clipboard
📂 MoveStage matches for move to Audio-Duplicates folder
🗑️ DeleteStage matches for permanent deletion
⚖️ CompareListen and view metadata side-by-side
⚠️
Deletions are permanent. The File System Access API bypasses the Recycle Bin. Always use Queue Mode to review before executing. The reference file is protected regardless.
Step 9
Queue Mode — Stage Before Executing
With Queue Mode on, Move and Delete stage files in the Move Queue or Delete Queue tab instead of acting immediately. Switch to those tabs in the sidebar, listen to each file, remove any you change your mind about, then execute. The default Move destination is Audio-Duplicates, created inside your scanned folder — rename it before executing if needed.
💡 Tips for Best Results
💾
Back Up First
Always back up before deleting. Deleted files bypass the Recycle Bin and cannot be recovered.
🎧
Use Best Quality Reference
Use a lossless FLAC or high-bitrate MP3 as your reference. A heavily compressed reference may miss higher-quality copies in the folder.
🎚️
Start Strict, Then Loosen
Begin at threshold 10. Raise only if expected matches aren't appearing. Lower if too many unrelated files show up.
🎧
Always Listen Before Deleting
Play both reference and match using the built-in players. The algorithm is reliable but always verify by ear for important files.
📂
Move, Don't Delete
Use Move to "Audio-Duplicates" first. Review moved files over a few days before permanently removing them.
🧪
Try Multiple Algorithms
Chromaprint for re-encoded copies. Essentia for covers. Meyda for voice/speech. Each finds a different type of match.
⚠️ Known Limitations
↩️
No undo for deletion.
The File System Access API's remove() bypasses the OS Recycle Bin. The reference file itself is protected, but matched files can be deleted. Use Queue Mode.
⏱️
Meyda only analyses the first 10 seconds.
May miss matches where the opening 10s differ significantly. If Meyda misses something, try Chromaprint on the full track.
🌐
Essentia and Meyda require CDN on first load.
Both load from CDN and cache per session. Chromaprint is always offline-capable.
📱
Move and Delete require Chrome or Edge.
The File System Access API is only in Chrome 86+ and Edge 86+. Firefox and Safari can scan and display results but cannot move or delete files.
🛠️ Quick Reference — All Controls
All toolbar buttons and interaction controls
Button / Action
What it does
Choose Reference Audio
Select the audio to search for. Player preview appears immediately.
Choose Folder to Search
Select folder to scan. Activates once reference is loaded.
🔍 Start Search
Begin scanning. All matches shown after full scan completes.
Threshold slider
Adjusts matching strictness. Re-filters on release. Essentia: higher = stricter.
🔄 New Search
Reload and start fresh with a new reference file
📋 Copy (N)
Copy match filenames to clipboard. Reference excluded.
📂 Move (N)
Move matches or stage in Move Queue. Reference always excluded.
🗑️ Delete (N)
Delete matches or stage in Delete Queue. Reference always excluded.
✕ Deselect All
Remove selection from all cards
⚖️ Compare (N)
Compare Ctrl+clicked files side-by-side with players. Works on reference too.
🔇 Audio (toolbar)
Mute / unmute all players on the page at once
Queue Mode checkbox
Stage files for review before executing. Recommended on.
Click card
Select / deselect (blue border)
Ctrl + Click cards
Add to compare list (purple border). Works on reference too.
Click & drag (empty area)
Box-select multiple match cards
Right-click card
Context menu. Move & Delete disabled on reference card.
▶ on player
Play audio. Automatically pauses all other players on page.
Progress bar click
Seek to that position in the track
📥 Download List
Export all matches as a plain-text report
⭐ What Users Say
4.8
★★★★★
Based on 93 reviews
★★★★★
"I used a short snippet of a song as a reference and it found every duplicate in my library. The threshold slider made it easy to balance precision and recall."
Leo V.
★★★★★
"Being able to upload a reference and instantly see all similar files is a game-changer. The player on each card lets me verify by ear before deciding what to keep."
Nina P.
★★★★½
"Fast, accurate, and completely private. I've cleaned up 50 GB of duplicated podcasts with this tool. Highly recommended."
Carlos M.
★★★★★
"Essentia HPCP found cover versions of my reference tracks that Chromaprint completely missed. The inverted threshold took a minute to understand but works brilliantly."
Elena W.
❓ Frequently Asked Questions
Does the reference file need to be inside the folder I'm scanning?▼
No. Select it from anywhere on your computer. Sakarto automatically skips it if it's inside the scanned folder, matched by filename + file size + last-modified date.
The same song in MP3 and FLAC isn't matching. Why?▼
Raise the Hamming Threshold to 12–15. Lossless and lossy versions differ slightly in spectral content because MP3 compression modifies frequency content. Also verify both files have similar duration — files less than 50% of the reference's length are excluded by the duration pre-check.
Why is the reference shown before I've selected a folder?▼
The reference is processed and its player appears immediately on upload so you can verify the right file was selected. Its fingerprint is also ready to go the moment you pick a folder — no delay before scanning begins.
Which algorithm is best for cover versions?▼
Essentia HPCP — it measures which musical notes are present (harmonic pitch class content). Two recordings of the same song use the same notes even when performed differently, so their HPCP profiles are similar. Remember Essentia's threshold is inverted: higher = stricter.
Does audio scanning pause when I switch tabs?▼
No — this is a key advantage of audio over video scanning. The Web Audio API processes audio in the background regardless of tab focus. Freely switch to other pages while your folder is being scanned.
Can I recover deleted files?▼
No. Files deleted through Sakarto use the File System Access API's remove() method, which bypasses the OS Recycle Bin. The reference file itself cannot be deleted. Use Queue Mode: stage files, listen to them, then execute only when certain.
Does this work on Firefox or Safari?▼
Partially. Reference processing, scanning, audio players, and results all work. However, Move and Delete require the File System Access API (Chrome 86+ / Edge 86+ only). In Firefox and Safari, scan and use "Download List" to export results, then manage files manually.