Let's Design and Build a (mostly) Digital Theremin!

Posted: 4/14/2018 7:54:34 AM

From: germany, kiel

Joined: 5/10/2007

Thanks for compliments. Of course there is always some room for improvement.

There might be RC time constants for attack and decay maxima (i cannot calculate those – trial and error will serve the purpose), but the RC time is floating inbetween..

High pass filtering the position.. Integrated past position.. Unrectified high pass filtering: i don't get it. 
Could you explain it for blondes, please?

Unfortunately the Sony RX100 M3 has no audio or mic in (unlike the M2). And with the integrated (hey: integrated again) mic being to far away from the amp recordings are so-so. Thus i use a JamMan looper as recorder. Premiere then brings it all together.

Can users (easily) build their own sounds with your theremin? A broad field.

Posted: 4/14/2018 8:35:17 PM

From: Northern NJ, USA

Joined: 2/17/2012

"High pass filtering the position.. Integrated past position.. Unrectified high pass filtering: i don't get it.  Could you explain it for blondes, please?"  - Dominik

I can try!  Here's a sketch of some rough digital / analog equivalents:

At top is a differentiator, digital on left, analog on right.  The circle is an add, the box with "z^-1" delays the input number by a single clock.  So if we input 3, and on the next clock 5, what gets output on that clock is 5 - 3 = 2.  The analog version clearly has a bleed resistor, which forms an RC time constant, but if the input is changing significantly faster than RC then you get a differentiation action that is similar to the digital version.

In the center is an integrator,digital on left, analog on right.  If the input again is 3, and then 5, we get 3 + 5 = 8 output on that clock.  The analog version has a bleed resistor, which makes the output follow the input over the long term, but gives summation in the short term.

At the bottom is a combination of digital differentiator and integrator in a feedback loop, which yields a first order digital filter.  This is more analogous to the analog differentiator and integrator because it has a true time constant as given by w (omega) which is a number less than one.  Notice that IN - LP = HP which is how analog filters work too.  It's probably easiest to see how this works in Excel, but you can do a small simulation of it on paper too.

If you differentiate then you get what I was doing for velocity.  I think you're using an analog differentiator, which is more of a digital high pass filter.  I was also forcing negative results of differentiation to zero, whereas you aren't.

I'm still on the fence as to what to do here and it's got me kinda stuck.  I can do a lot of what you show in your video, but not all, and I'm thinking a lot of it comes down to non-linearity and / or analog hitting limits.  And I suppose I'm somewhat biased having played it for a while, but having a definite threshold seems to make it more controllable when mixing regular playing and percussive playing.  But you really show a lot of control in your video so it's still something of a mystery to me.

"Can users (easily) build their own sounds with your theremin? A broad field."

Yes, within the framework of the fixed DSP datapath and the parameters controlling the elements (all knob parameters are part of the preset system).  It's a small virtual analog synth with emphasis on vocals.  I'd like to get an OK violin family sound from it, but emulating existing analog Theremin sounds has become less important to me.

Posted: 4/15/2018 2:19:23 PM

From: germany, kiel

Joined: 5/10/2007

Thanks for your explanations! I didn't get it all but at least i did some research about some basics.. but still have to keep on, in order to understand what i have found per chance / experimentation..

Violin family sounds good. A raspy celloesque timbre with a little reverb (to get the body) is one favorite for me.

Posted: 4/16/2018 9:33:48 AM

Joined: 8/25/2014


I'm based in London and looking for a theremin player to record some brief parts for a song i'm doing. Are you interested in having a go? We can correspond a bit and ill answer any questions you might have. Thanks   

Posted: 4/23/2018 2:45:09 PM

From: Northern NJ, USA

Joined: 2/17/2012

Domink: I imagine the VCA in the Subscope is linear?  If so, then the velocity sensing is in the exponential domain.  My prototype does velocity sensing in the linear domain, which could explain much of the difference between the responses of our Theremins.  This is something I need to explore.

[EDIT] Never mind, I just graphed this in Excel and it doesn't appear to be a factor.  (I encountered exactly this sort of thing in grad school, where we were doing math on a CO2 sensor.  The biology engineering prof. on the team whipped out some graphs that showed there was almost no difference between the function of a small difference and the small difference of a function.)

Posted: 4/24/2018 2:26:08 PM

From: Northern NJ, USA

Joined: 2/17/2012

Electro-Harmonix Talking Machine Formants

A kind and generous TW member who hasn't posted here yet sent me this sine wave sweep of the EH Talking Machine pedal:

Some comments regarding the sweep are included on the right.

I set the prototype to these formant frequencies and amplitudes, and added a small amplitude resonance around 2kHz, and another around 200Hz, just to fill things out a bit.  I haven't compared it directly to the TM recordings, but it definitely sounds like a tenor.  It doesn't do the AH - OO thing like Peter Pringle's videos, but that's probably some unknown processing going on and / or the influence of a pole in the source.  I intend to add articulation to several or all of the prototype formants, so I'll be able to at least approximate that behavior soon.

A huge "THANK YOU!" to our mystery member for this highly useful info!

You must be logged in to post a reply. Please log in or register for a new account.