Sign-ups are on the wall by the door. Bring a song everyone knows.
CAPTCHA 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
- People hate CAPTCHAs. They're a chore with nothing in it for the person solving them.
- Your answers train someone else's AI. Image CAPTCHAs have long doubled as free labeling work.
- Machines solve them anyway. AI now passes many traditional challenges, so they mostly slow down people.
- Adding privacy means you see more of them. VPNs, tracking protection and private browsing make people look like bots, so the people protecting themselves see the most challenges.
- The web is getting lonelier. Karaoke CAPTCHA creates shared moments on the internet. Here it's OK to make your voice heard (and sing awkwardly!).
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.
| Piece | What it does | Where it runs |
|---|---|---|
| Whisper (base.en) via Transformers.js 4.3 | Listens to your take and writes down the words | In your browser, on WebGPU or WebAssembly. Downloads once |
| Word matcher | Compares your words with the real lyrics, in order, forgiving mishearings and sound-alikes | In your browser |
| pitchy 4.1 | Tracks pitch for the "sounds human" meter and your choir part | In your browser |
| Web Audio, MediaRecorder | Plays the music, records the mic, mixes the choir | Built into the browser |
| iTunes Search API | 30-second previews of the original recordings | Fetched when preparing songs |
| Demucs (htdemucs) | Splits each preview into instrumental and vocal | Offline, when preparing songs |
| faster-whisper (small.en) | Times each sung word on the separated vocal | Offline, when preparing songs |
| LRCLIB | The real lyrics, to correct what Whisper heard | Fetched when preparing songs |
How it works
- Pick up the mic. A well-known song plays: a few bars to hear the tune, then a 3-2-1 count-in.
- Sing along. The lyrics light up word by word under a bouncing dot. Don't know the song? Skip to the next one.
- The check. A speech model on your device listens back and compares what you sang with the real lyrics. Most of the words, in order, gets you in. Pace and pitch can be off; that's karaoke.
- A quick read of how human it sounds. People's pitch wobbles and their timing drifts; much synthetic voice is steadier.
- Once inside: Share your take with your group or everyone, and hear the choir: different takes of the same chorus, arranged by voice.
How it compares
| Traditional CAPTCHA | Karaoke CAPTCHA | |
|---|---|---|
| What you do | Click images, type warped letters | Sing a line of a song you know |
| What you get | Nothing | A moment of fun, and a way into a community of people that did the same |
| Where your input goes | To the provider, often as training data | Checked on your device. No recordings are uploaded unless you choose to share |
| What it checks | Whether you know how to recognize stoplights | Whether you sang the real words, in time |
| Afterwards | Gone | Your take can join a choir of everyone who sang that song |
What it does and doesn't do
| Does | Doesn't |
|---|---|
| Checks that you sang the actual words of the song, roughly in time | Prove 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 server | Replace 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 experience | Work 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
- Finish the lyric: hear one line, sing the next from memory.
- Song of the day: everyone sings the same chorus, and the choir grows all day.
- Duets: sing the response to a stranger's line.
- Passkey unlock: sing to unlock a passkey on your device, the way Face ID does today. The key does the security; the song is the moment.
- Social recovery: lose your account, and friends who've heard you sing vouch for you.
Fallbacks
- Accessibility: a production version would offer the standard accessible CAPTCHA alternative, as every CAPTCHA must.
- Quiet places: humming or tapping the rhythm could stand in where singing aloud isn't possible.
Around the room
Looking for someone to take the high part on I Want It That Way.
Today it's Africa. Sing the chorus and add your voice to the choir.