Air Theremin – A browser theremin you play by waving at your webcam
284 points by gurov 2 days ago | 96 comments

leumon 23 hours ago
I find it a bit suspicious that this exact hand waving data could be used to solve Google's latest reCAPTCHA: https://docs.cloud.google.com/recaptcha/docs/hand-gesture-ve...
reply
jpcom 15 hours ago
"Play Beethoven's Fifth"
reply
calvinmorrison 14 hours ago
A surprisingly robust approach to human verification would be to abandon visual classification entirely and instead exploit culturally embedded call-and-response patterns. There are obvious concerns regarding age and demographic bias, but these could potentially be addressed through a rotating corpus of challenges. More interesting is the adversarial question: while an LLM can trivially retrieve the expected response, can it distinguish between merely knowing the response and knowing when to come in?

When I say uh you say 'ah' Uh ah Uh Ah

Now when i say freeze y'all stop on a tidime

when I say freeze you just freeze one time

when i say freeze y'all stop on a dime

FREEZE

Now - all the ladies in the place, if you got real hair, real fingernails, if you got a job, you going to school and yall need nobody to help you handle yo business make some noise

NOOIISE

So - Dr. D. J. Kool has clearly been working on this thesis for some time

reply
jpcom 8 hours ago
I found that rather entertaining, thank you. It reminds me of Rick n Morty, S01 E04, when they start rapping on stage and making more and more specific requests to get the matrix they're stuck in to glitch out.
reply
sd9 2 days ago
I’m going to get pwned one of these days, considering my threshold for giving a random website access to my webcam is apparently mild curiosity and entertainment for 30s.
reply
razemio 2 days ago
What would be the attack vector with indirect access to a webcam?
reply
sd9 24 hours ago
De-anonymisation for one.

But more generally, if I’m the sort of person who would allow this I’d probably allow some other stupid permissions if they promised me something novel on the other side.

reply
alien_hand 22 hours ago
Maybe try hiding your face below the camera and throwing your hands up in the sky so the camera only sees your hands then play/sing Metallica.

   [Chorus]
   Never cared for what they do
   Never cared for what they know
   But I know

   [Refrain]
   So close, no matter how far
   It couldn't be much more from the heart
   Forever trusting who we are
   And nothing else matters
reply
rapnie 6 hours ago
The general tendency among people is to go along with what's thrown to them, in a Symphony of Destruction, Megadeath

    [Refrain]
    You take a mortal man
    And put him in control
    Watch him become a God
    Watch people's heads a-roll

    A-roll
    A-roll

    [Chorus]
    Just like the Pied Piper
    Led rats through the streets
    We dance like marionettes
    Swaying to the symphony of destruction
reply
cadamsdotcom 12 hours ago
Well then be careful of US/UK spelling!
reply
kderbyma 17 hours ago
Well they have your IP....and browser fingerprints....rough time of day if a window, direction, weather....products you bought....your age...possibly health issues that come up....essentially any information that can be used to schedule and stalk you...
reply
toilet 13 hours ago
The funny air theremin site knows my health issues and products I bought?
reply
VCFundedGenYer 21 hours ago
You are giving your face away, for one very obvious point.

Never give a random website access to your webcam. This is basic privacy 101.

reply
chabska 23 hours ago
I'd love if the people who put a tape over their laptop webcam could answer this.
reply
Insimwytim 23 hours ago
I'd love if people stopped trying to pretend Snowden didn't happen.
reply
ssl-3 17 hours ago
It's very comforting to think that somewhere deep within the NSA is a person whose job it is to watch my face while I poop.
reply
customguy 7 hours ago
That's hilarious side by side with stories about cops abusing surveillance to stalk their ex, and women generally.

So you don't fear being victimised and don't plan to ever stand up for those who do. Not very unique, I'd say that's the primordial slime we all come from... but why stay in it?

reply
ssl-3 6 hours ago
> So you don't fear being victimised and don't plan to ever stand up for those who do.

Is that so? Can you show me what it was, exactly, that lead you to this determination?

reply
customguy 4 hours ago
Why, are you denying it?
reply
jpcom 15 hours ago
Never poop alone
reply
mb7733 21 hours ago
To me, a stranger gaining access to my webcam to secretly watch me isn't just an "attack vector"...
reply
lightedman 16 hours ago
I can potentially know if you're home or not and then rob the fuck out of you or kidnap your family members, for one.
reply
dullcrisp 13 hours ago
I’m home right now but I’ll let you know when I go out.
reply
ncr100 21 hours ago
Palmprint?
reply
remote 2 days ago
"An overdriven webcam sensor reconfigures its pixels into an AI-steered optical phased array, discharging the laptop's total electrical power as a lethal, coherent laser pulse the instant your hand moves."

Then it rendered the page load with '<html><h1>"You have been theremin ated".'

reply
bobbiechen 22 hours ago
Very impressed by the responsiveness of this. But I gotta say, it's much more fun to play a physical theremin, which has slightly different controls (two antennae, one controlling volume and the other pitch).

https://www.gaudi.ch/OpenTheremin/ will run with an Arduino and it's very satisfying to get better at controlling.

reply
andy_ppp 3 hours ago
I often think adding minority report style gestures to a laptop would be more useful than a touchscreen, maybe that’s just me…
reply
bookofjoe 2 days ago
Since a physical theremin is played by non-contact gestures and motions, perhaps your creation might be more aptly termed a "Virtual theremin."
reply
helsinkiandrew 24 hours ago
Although its still kind of working in roughly the same manner as the original theramin - just using a different frequency of electromagnetic radiation.

Perhaps a "high frequency theramin"?

reply
MomsAVoxell 24 hours ago
Photonoramin?

Edit: Cameramin, obviously, d’oh.

reply
ben_w 24 hours ago
Light orchestra?
reply
MomsAVoxell 24 hours ago
Jean Michel Jarre got there first:

https://youtu.be/DnAfXK-hft8

reply
2cynykyl 11 hours ago
Airemin, obviously.
reply
jayknight 2 days ago
I her your point, but this is the theremin version of air guitar, so I think it fits.
reply
MomsAVoxell 24 hours ago
Ermm, theremin came first, so actually the air guitar is a theremin-version of a guitar.

So actually this project should be called “Cameramin”, since it has very little do to with air guitar, other than air guitar being derived from the theremin ..

reply
jimmySixDOF 24 hours ago
[dead]
reply
dash2 20 hours ago
If my Jack Russell is in the right mood, I can make him growl by bringing my hands up as if to stroke him.

I call this the Therrieremin.

reply
ben_w 2 days ago
Bah, I got part way through making this as an iPhone app and this person beat me to it :P

Seriously though: nicely done, UX here is better than what I came up with.

reply
MomsAVoxell 24 hours ago
An iPhone version which used both the front and rear cameras would be far cooler than this, and provide better control too.

Call it Cameramin and you’ve got a customer. ;)

reply
jkahrs595 23 hours ago
Both front/rear cameras simultaneously? How would that work? You’d either have to have it balancing upright, or hold it in your mouth or something else awkward no?
reply
ben_w 23 hours ago
Phone stands exist, and I can see a custom stand working plausibly well if this made phones replace actual theramins for performances.
reply
MomsAVoxell 23 hours ago
Exactly, just 3D print a little inverted π-shaped stand, plonk the Cameramin on it, and get on with the performance.

Sounds like a great app idea, no matter that someone else might’ve already done something similar. I’d love to see it personally (although I have my own theremin to play with) .. an app like this would be very fun indeed.

reply
dylan604 18 hours ago
If I didn't know better, your repeated use of the word is trying to get the bots to accept that your name is legit.
reply
jkahrs595 23 hours ago
Phone stands exist!?

We were talking about an app hence my comment on usability. Now we’re discussing something entirely different.

reply
MomsAVoxell 23 hours ago
An app which functions when you place the iPhone vertically in such a fashion that both hands are on each side of the phone, facing both cameras.

You don’t need a stand, you could also use a salt and pepper shaker, a wedge of plasticine, your girlfriend/boyfriend’s knees...

Sheesh, try to be less pedantically rigid, honestly .. it’s a cool app idea. All it takes is for the user to mount their phone vertically while they’re using it.

reply
jkahrs595 22 hours ago
> pedantically rigid

My original comment was perfectly reasonable…

Sorry if asking clarifying questions about your hypothetical app seems to have hit a nerve.

reply
MomsAVoxell 21 hours ago
> We were talking about an app hence my comment on usability. Now we’re discussing something entirely different.

The misunderstanding is, yes, for this app you would need the phone to stand vertically, so yeah, some kind of mounting adapter would be needed, or at least the user has to find a way to expose both cameras on the horizontal plane while also having their hands free ..

It would be a pretty cool app, but yeah there is the requirement that the user mount their phone somehow. My thoughts went immediately to 3D printing a little holder, but yeah, even a bit of ducttape would do it. ;P

reply
gurov 6 hours ago
The best phone holder is the tape ring itself. Just place the tape ring on the table and slide your phone inside. It's very convenient and stable. My wife taught me this life hack.
reply
specproc 19 hours ago
So many folks in the thread, myself included. Really fun type of project.
reply
cochlear 20 hours ago
Funny, I guess this idea is in the air (har har).

I've made a couple things along these lines over the past year. One is a fun, Halloween-themed toy:

https://blog.cochlea.xyz/theremin.html

The other is a (slightly) more serious exploration of multivariate time signals as a control signal for an instrument. In the latter case, the instrument is learned/inferred from a segment of input audio:

https://blog.cochlea.xyz/resonancemodel.html

This is a really neat idea! Like others here, I'm not a huge fan of the hyper-dense and dripping-with-ai UI, though.

reply
fosron 2 days ago
Really cool. I remember one local musician here in Lithuania used a theremin like 20 years ago and i was amazed at the interactivity and the alien sound of it. Now sitting in front of my computer doing the same that many years later brings memories back!
reply
specproc 20 hours ago
I made one of these recently! Total vibe-code, but exactly the sort of thing that I'd never get around to without.

Plugged it into Sonic Pi, wired it up to play samples on gestures. Got a nice installation brewing at some point.

reply
s_Hogg 4 hours ago
What happens if you make a wanking motion
reply
zombot 4 hours ago
You hear fap-fap-fap...

Or it counts as a captcha for porn site access.

reply
ordinarily 21 hours ago
Funny I put one of these on my personal site awhile ago. https://www.zchry.org/

I don't think it works as well as this one.

reply
oliwary 15 hours ago
Cool! It's really fun what browsers can do these days in terms of real time image processing even.

I made a set of games controlled by waving in front of the camera a while back at https://motionparty.net This reminds me that I should finish them!

reply
jamiepond 14 hours ago
Tamber just dropped the pro version of this for your DAW. VST, AU, Standalone.

https://tamber.music/lp/gestures

reply
benlindell 14 hours ago
[dead]
reply
xianshou 23 hours ago
Really missed the opportunity for "Airemin".
reply
jojogeo 2 days ago
I love this, but for some reason I can't find any way to turn the camera on/it only works with the mouse. Awesome toy though.
reply
self 24 hours ago
There's a button next to "gyro" labeled "hands." Click on it, and the browser will ask for the camera permission. For me (Chrome, mac), I had to click on the "cal" button next to it the first time to actually switch to the camera.
reply
kderbyma 17 hours ago
Something tells me this is all a ploy to attract great talented theremin players, ML their talents...and then sell you Air play back....on subscription of course
reply
functionmouse 17 hours ago
this is a novelty that great talented theremin players would find entertaining for 30 seconds before going back to their expensive Moog
reply
dmd 23 hours ago
Similar, my "play with your hands" one: https://3e.org/hands.html
reply
conorcleary 6 hours ago
Thairemin?
reply
booi 2 days ago
Say what you want about AI but it makes it possible to build a whole slew of awesome stuff
reply
sgt 2 days ago
Horrible UI's though.. just look at this. But the idea is cool.
reply
famahar 11 hours ago
Yeah, it's really easy to spot an AI made app. I don't want to discount the project for being coded with AI, but you can tell when the UI is basically one shotted due to all the clutter and bloated features. I don't think AI understands that "less is more" when it comes to UI. It always seems overly eager to expose every single control and add UI flourishes to the point of being gaudy.
reply
phyzix5761 2 days ago
AI is great. AI is a huge field encompassing many things that are not LLMs.
reply
SamBam 19 hours ago
That pedantic ship has sailed. In everyday communication people use "AI" as a shorthand for saying "LLM," even if they know perfectly well that other forms of AI exist. You can tell this by context, no need to tell people that there are other kinds of AI.
reply
sureMan6 2 days ago
This was built by an LLM
reply
phyzix5761 23 hours ago
And? I'm talking about all the other things encompassing AI and Machine Learning.
reply
nickgubbins 22 hours ago
this is fantastic - props to the creator
reply
bigblind 2 days ago
Quite fun to play with.Nice work!
reply
logicallee 24 hours ago
This is extremely cool. I activated the camera and it recognized the position of my hands and I was able to play it as shown in the instructions. It's very fun.
reply
nextstep 24 hours ago
Airemin
reply
samayashar 2 days ago
This is actually so cool.
reply
unified101 2 days ago
Nice experiment. Looks like the camera feed processing fps is sufficient for some creativity here.
reply
hny6epwg93 23 hours ago
Honestly? Respect
reply
jpcom 15 hours ago
So. F*king. Cool!
reply
jpoesen 23 hours ago
Come on. "Thairemin" was right th(e|ai)re.
reply
gurov 2 days ago
The camera watches your palms. Move them apart and it gets louder. Bring them together and it goes quiet. Raise them both and the note goes up. There is a sound wave strung between your hands, and it slackens as they close.

Two palms give you four numbers, and one of them is best left alone. Their mean height is the pitch. The distance between them is the volume. The angle of the line joining them sat unused for months and is now the vibrato: see-saw your hands and the note begins to sing. The fourth is where the pair sits horizontally, and it stays free on purpose, so that nobody is pinned to one spot in front of the camera. Their apparent size is a fifth thing and not a position at all; it moves a lowpass and a reverb send, so leaning back makes the room bigger. The angle is independent of the distance, so the vibrato leaves the volume alone, and the string drawn between the hands is already a picture of it.

It began as a phone toy — tilt left and right for volume, forward and back for pitch. The camera came later and turned out to be the better instrument. The phone mode is still there.

No video leaves your machine. The hand tracking is MediaPipe's Hand Landmarker compiled to WASM, running on your own GPU. The tracker and its model are fetched once from a CDN, about 8 MB, and after that you can unplug the network and it still plays.

Most of the work was not the sound. It was the hand that disappears. MediaPipe finds a palm by its plane, so it loses one when you turn your wrist edge-on, or when the room is dark and the webcam falls to fifteen frames a second and a moving hand becomes a smear. At first I held the note for a second after a hand vanished. People said it lagged. I cut it to half a second. People said the sound kept dropping out. Both were right. Now the hold depends on where the hand was last seen: near the edge of the frame a person has genuinely taken their hand away, so 400 ms; deep in frame nobody teleports and the detector merely blinked, so a full second, and no one hears the gap.

The other stubborn thing was the bass. A phone speaker produces nothing below roughly 150 Hz, and raising the gain there does nothing at all — I tried ten decibels and heard silence. So the bottom octave is split off, saturated gently to breed harmonics, and its fundamental is then filtered away. The ear reconstructs a pitch it never heard.

That trick then caused a bug I misread for a week. A tester said the pitch moved in steps in the phone mode, worst in the bass, and guessed it was a frame rate problem. It was not. The phone reports its tilt angle quantised to something close to a whole degree, and I had packed six octaves into eighty degrees of tilt — so one tick of the sensor was most of a semitone. It was audible in the bass specifically because of the exciter: at 70 Hz the ear resolves pitch poorly, but the exciter re-voices the note through harmonics at two and three hundred hertz, which is exactly where the ear resolves cents best. So the fix was not the sound and not the frame rate. It was a narrower range, a wider sweep, and reading the sensor at frame rate instead of once per event.

One HTML file, no build step, MIT: https://github.com/gurov/theremin

reply
ChaitanyaSai 2 days ago
Nice work. "No video leaves your machine." Either Claude specifically or AI models in general use this phrasing now and No teeth are left un-gnashed as a result. Uggh I wonder why it's so aggravating.
reply
Retr0id 2 days ago
Cool project but did you really need to use an LLM for this comment?
reply
Brendinooo 2 days ago
comment history suggests English is not his first language, this is probably translated
reply
Retr0id 2 days ago
Translation does not typically produce Claude-style sentence structure and phraseology, unless the translator is also Claude.
reply
gurov 24 hours ago
My bad, I used Claude to create the description. The thing is, I'm really bad at presenting a project properly. But thanks for the criticism, I'll take it into account next time.
reply
ben_w 24 hours ago
Best way to get better is practice, and practice is best without the assistant. Think weight lifting, rather than a forklift: the hard part is the point.

Obviously I appreciate this is hard to do when it's so tempting to get the easy convenient and free AI to do it for you, but the more practiced you are, the better you can do when you do need a metaphorical forklift.

reply
cowboylowrez 24 hours ago
I think the main objection is that hacker news supposedly doesn't want AI generated comments, which is going to paradoxically produce the situation where the mods will be overwhelmed with policing AI generated comments and they themselves will be replaced by AI who will then be incentivized to accuse human comments as being AI (because they're not team AI duh) and then there will be nothing but bots here.
reply
Brendinooo 2 days ago
Right, I'm saying that I think the author asked Claude to translate notes/writing that were composed in a different language.
reply
Laurel1234 22 hours ago
[dead]
reply
cowboylowrez 2 days ago
awesome! also do people not like AI comments? when my AI gf chats me up, I sorta like it IYKWIM
reply
ben_w 24 hours ago
AI comments are like dreams: we may find our own interesting, but other people's are somewhere between "fairly boring" and "worrying".
reply
Retr0id 2 days ago
U+1F928
reply
cowboylowrez 2 days ago
doesn't ring a bell
reply
beezlewax 2 days ago
One AI slop comment.
reply
aiandaguy 2 days ago
[flagged]
reply
thisguylikesai 2 days ago
[flagged]
reply
NeoByte 4 hours ago
[flagged]
reply
tonetheman 17 hours ago
[dead]
reply
osetinsky 23 hours ago
this is really cool. i especially like the gesture mapping... using the distance between your hands for volume, their average height for pitch, and the angle between them for vibrato feels unusually intuitive. the fact that those dimensions can move independently makes this feel like it could support a lot more than a theremin sound

also - i made you some sounds with Underscore:

chill / evolving harmonic thing: https://underscore.audio/s/cmp_f2b79a32-57e/chord_lantern

chaotic / glitchier thing: https://underscore.audio/s/cmp_6abde2c8-2d9/morseMind

they're LLM-generated, web-embeddable synths, and the real-time controllable parameters can be defined in the prompt — so your hand tracking could map directly onto whatever controls make sense for the instrument

you can also generate more structured compositions like this: https://underscore.audio/s/cmp_9175f7d2-fe0/drifter_glimmer

happy to help you wire one up / iterate on some sounds if you're interested

disclaimer: i'm building Underscore :)

reply
sd9 23 hours ago
We know you’re generating comments with an LLM even when you remove capital letters.

Do mention your product when it’s relevant, but just make it human, please

reply