(theremin.bizibah.com)
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
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.
[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 [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 destructionNever give a random website access to your webcam. This is basic privacy 101.
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?
Is that so? Can you show me what it was, exactly, that lead you to this determination?
Then it rendered the page load with '<html><h1>"You have been theremin ated".'
https://www.gaudi.ch/OpenTheremin/ will run with an Arduino and it's very satisfying to get better at controlling.
Perhaps a "high frequency theramin"?
Edit: Cameramin, obviously, d’oh.
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 ..
I call this the Therrieremin.
Seriously though: nicely done, UX here is better than what I came up with.
Call it Cameramin and you’ve got a customer. ;)
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.
We were talking about an app hence my comment on usability. Now we’re discussing something entirely different.
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.
My original comment was perfectly reasonable…
Sorry if asking clarifying questions about your hypothetical app seems to have hit a nerve.
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
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.
Or it counts as a captcha for porn site access.
Plugged it into Sonic Pi, wired it up to play samples on gestures. Got a nice installation brewing at some point.
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!
I don't think it works as well as this one.
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
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.
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 :)
Do mention your product when it’s relevant, but just make it human, please