Try it →

Prove you're human by singing a song everybody knows.

Karaoke CAPTCHA swaps the grid of blurry traffic lights for thirty seconds in a karaoke booth. Sing the line, get in, and join everyone else who did the same.

Why this exists

Questions

Is my voice uploaded?

Not unless you choose to share. The check runs on your device. If your take passes and you share it, it's stored on this site so others can hear it in the choir, then deleted after 24 hours. Only the recording, your username, and its scores are kept.

Does it use AI?

Yes, a small speech model (Whisper) that runs locally in your browser to hear the words. Nothing is sent to an AI service.

Do I have to sing well?

No. It checks that you sang the words, not how well. Off-key and off-beat both pass. That's the point.

Can a bot beat it?

A determined one, probably: a voice synthesizer that knows the lyrics could pass. Like every CAPTCHA, it raises the cost rather than making it impossible. Pairing it with rate limits and privacy-preserving tokens would make passing at scale expensive.

Where do the songs come from?

For this prototype, 30-second previews of the original recordings with the vocals removed, plus lyrics from LRCLIB. A real version would license its music, or work with artists who want their songs sung.

What if I can't or won't sing?

A production version would always offer the standard accessible alternative. Humming or tapping could cover quiet places.

How it's made

Each song is the original recording's 30-second iTunes preview with the vocals removed by Demucs. Whisper times every sung word on the separated vocal, and the words are corrected against the real lyrics from LRCLIB. In the booth, everything runs in your browser.

PieceWhat it doesWhere it runs
Whisper (base.en) via Transformers.js 4.3Listens to your take and writes down the wordsIn your browser, on WebGPU or WebAssembly. Downloads once
Word matcherCompares your words with the real lyrics, in order, forgiving mishearings and sound-alikesIn your browser
pitchy 4.1Tracks pitch for the "sounds human" meter and your choir partIn your browser
Web Audio, MediaRecorderPlays the music, records the mic, mixes the choirBuilt into the browser
iTunes Search API30-second previews of the original recordingsFetched when preparing songs
Demucs (htdemucs)Splits each preview into instrumental and vocalOffline, when preparing songs
faster-whisper (small.en)Times each sung word on the separated vocalOffline, when preparing songs
LRCLIBThe real lyrics, to correct what Whisper heardFetched when preparing songs

How it works

How it compares

Traditional CAPTCHAKaraoke CAPTCHA
What you doClick images, type warped lettersSing a line of a song you know
What you getNothingA moment of fun, and a way into a community of people that did the same
Where your input goesTo the provider, often as training dataChecked on your device. No recordings are uploaded unless you choose to share
What it checksWhether you know how to recognize stoplightsWhether you sang the real words, in time
AfterwardsGoneYour take can join a choir of everyone who sang that song

What it does and doesn't do

DoesDoesn't
Checks that you sang the actual words of the song, roughly in timeProve you're human against a determined attacker. A synthetic voice that knows the lyrics could pass
Runs the check on your device, with no account and no serverReplace a real bot detector. The "sounds human" meter is a rule of thumb, and a synthesizer could add wobble on purpose
Makes getting in a shared experienceWork for everyone in every setting yet (see fallbacks)

Real protection would pair it with rate limits (a few passes per device per day) and privacy-preserving access tokens, so passing is costly even for a bot that can sing.

Other forms it could take

Fallbacks

Around the room

Thursday open mic

Sign-ups are on the wall by the door. Bring a song everyone knows.

Duet requests

Looking for someone to take the high part on I Want It That Way.

Song of the day

Today it's Africa. Sing the chorus and add your voice to the choir.