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

Posted: 8/25/2018 8:56:23 PM
dewster

From: Northern NJ, USA

Joined: 2/17/2012

Software 95% Done

I finally got around to pitch and volume axis modulating the six formants (2nd order band pass filters) and giving these UI screens.  Also made 4th order LP, BP, HP modes (via two 2nd order state variable filters in series) for the noise filter, and gave the oscillator one of these 2nd / 4th order filters as well.  Was running out of real time on the noise / oscillator and formant threads so spread the functionality to the two remaining free threads.  A few minor tweaks: made the pitch correction parameter cubed (to increase the dynamic range), removed the frequency notch option from the noise and oscillator filtering (didn't really work with the new 4th order option, and wasn't all that useful), and a fair amount of code cleanup.

Getting to the point of exploring the possible sounds with this synth topology and making useful / funky presets.  I thought there would be more in the way of sources for the matrix modulation at this point, but I think you need more when the controller is just a stupid keyboard.  The two axes of the Theremin give you a surprising amount of useful overlapping continuous control.

Posted: 8/26/2018 8:28:12 PM
dewster

From: Northern NJ, USA

Joined: 2/17/2012

Sound Snippets

Been playing around with the newer stuff today, thought I'd give you a few samples of what it can do.

[MP3] Tuba, not filtered at all, just harmonic modulation with -2 setting phase multiplication.
[MP3] Articulated male and female formants.
[MP3] The final envelope generator with dynamic damping.
[MP3] Weird sounding filter setting with oscillator.
[MP3] Eerie sounding articulated resonant formants, stimulated by filtered noise and very low frequency sawtooth.

[EDIT] I added one more sub octave to the oscillator control, it now goes from -4 to +3 octaves from nominal.  I hear the envelope generator saturating now and then (which produces an odd sounding attack, peak hold, decay, rather than attack, decay) - need to fix that if possible.

Posted: 8/28/2018 6:08:39 PM
tinkeringdude

From: Germany

Joined: 8/30/2014

Software 95% Done.

Ah, so there are only further 45% to do, got it!

The female sounds invoke some images of animated stick figure drawings "talking" to each other, maybe also a cat, I'm not sure, it's very blurry. What the heck am I remembering there?

The envelope generator demo sounds like you might be able to simulate an electro-mechanical  e-piano with that, sorta.
I'm only familiar with simple ADSR using either linear or RC charging curves. What does dynamic damping mean - do you modulate the decay rate or something?

Oh, and that eerie sound is quite nice!

Posted: 8/28/2018 9:11:53 PM
dewster

From: Northern NJ, USA

Joined: 2/17/2012

"Ah, so there are only further 45% to do, got it!"  - tinkeringdude

And if the first 95% took 95% of the time, the remaining 45% should take the other 95% of the time! ;-)

Honestly, other than my creaky voice snipe hunt, the code feels largely done to me.

"The female sounds invoke some images of animated stick figure drawings "talking" to each other, maybe also a cat, I'm not sure, it's very blurry. What the heck am I remembering there?" 

Tomita?  Charlie Brown?  This?

"The envelope generator demo sounds like you might be able to simulate an electro-mechanical  e-piano with that, sorta.
I'm only familiar with simple ADSR using either linear or RC charging curves. What does dynamic damping mean - do you modulate the decay rate or something?"

Yes to the modulating of the decay rate.  There are two separate decay knobs, one for the velocity ("fall") and one for the position when moving to a lower volume ("damp").  If you do a volume hand attack move (through the knee location to speed up and position the trigger point in space) and then hold your hand relatively still, you get attack & decay (or, as I've named them: "rise" & "fall" - orthodoxy: should higher numbers give longer times or faster rates?  I picked faster rates...).  If you move your hand to a lower volume position during the velocity decay you get a secondary positional decay which sounds like damping.  Sort of a crude, interactive ADR (without the S portion).  With the phase modulation knob set to +8 it does sound rather e-piano-ish.

I fixed the "flat top" envelopes just now, here's a quick sample of it: [MP3]

"Oh, and that eerie sound is quite nice!"

Thanks!  Kinda tricky how I'm volume axis modulating the "tink tink tink" sound - via the harmonic content, a softer LF (octave -4) sawtooth is inaudible in the general mush.  The resonant formats are staggered and counter modulated (the first modulated +, the second -, the third +, etc.) so they diverge.

Posted: 8/29/2018 8:48:33 AM
pitts8rh

From: Minnesota USA

Joined: 11/27/2015

Hey Dewster,

As we discussed privately a while back, I am still interested in being one of your early adopters as you get closer to completion.  Your latest audio samples are getting more intriguing, particularly the vocal sounds. I hope you can work on some bright cello sounds too. 

Fortunately I don't need any packaging at all (I can do my own cabinet work), but I would need hardware or at least complete information on the current build so I can do it myself, and of course software and updates as they come.  And probably some hand holding for the digital stuff.  I am willing to try the plate antennas, but if I understand correctly the conventional rod and loop elements (which I favor) can be adapted as well?  My pitch hand is trained to play off the interception of circular pitch contours surrounding a vertical pitch rod, and I'm anticipating that a plate would require some changes.  And I would want conventional volume sensing as well - quieter closer to the plate/loop.

If you would prefer please PM me or contact me directly via email to discuss if, how, and when we could do this, and your terms. There's no rush if you aren't ready, but as I said before, please count me in when you are.

Thanks, Roger

Posted: 8/29/2018 6:43:31 PM
dewster

From: Northern NJ, USA

Joined: 2/17/2012

Hi Roger,

I haven't forgotten about you!  String sounds would be great, I'm hoping further research into creaky voice will have some side payoff on that as well.  Just checked the non-reversed volume sense system setting and it's still working.  I believe it could be adapted to rods, and I could certainly help you do that, though I'm willing to bet you will feel comfortable with plates, particularly with the excellent linearity and variable sensitivity.  Will keep you in the hardware loop.  I've got a lot of volunteering and house repair for the next few weeks, but hope to get to PCB layout soon.  Would you be interested in helping with that?

Posted: 9/2/2018 2:39:04 AM
dewster

From: Northern NJ, USA

Joined: 2/17/2012

Strings & Things

Tried to find some papers on cello formants, though didn't try too hard and didn't find much, so just started dinkin' around with settings by ear.  Roughly set the fixed formants resonances to 523, 622, 830, 1141, 1437, and 2033 Hz, with Q a tad higher than human vocal.  Stimulation is 3/4 brightness ramp + 1/8 volume axis modulation.  Envelope is a slight knee with a bit of decay time.  See what you think: [MP3], I'm always open to comments / observations / suggestions.

I wonder if I should implement 4 more formants, they seem to be quite useful for various things.

Posted: 9/2/2018 8:22:53 AM
tinkeringdude

From: Germany

Joined: 8/30/2014

How about throwing this at a spectographer?

To extract (or download in the first place only?) the audio, this could be used:
Youtube-DLG

Next to the "Add" button on the ~center right is a drop-down box: select an audio instead of a video format there.
If you'd rather like the download date instead of the video publishing date as the file date, go to settings (gearwheel icon @ top right corner) -> Options -> Extra: at the bottom, check "No mtime". (at least I found that "feature", i.e. the default to use publishing date, useless & confusing as hell)

Your take does sound like a nice theremin cello, though! But since you mentioned not finding formants...

Posted: 9/2/2018 2:08:44 PM
dewster

From: Northern NJ, USA

Joined: 2/17/2012

"How about throwing this at a spectographer?"  - tinkeringdude

Oh, that's beautiful sounding!  I snagged it and looked at / listened to it in Audition.  Tried to extract formants in praat, but the problem is the same for vocal analysis, separating the excitation from the resonances.  What I need is an impulse response (something you can't easily do with vocals) i.e. a recording of someone tapping the bridge location with a small hammer, preferably with the strings muted and in an anechoic chamber.  Found some recordings here http://www.openairlib.net/ but no impulses of cellos.

I lowered all the resonances and "carved them out" (de-emphasized the middle ones) and the cello sound is better I think (I was going for a violin or viola in my last recording).  Playing with the resonance locations, it's actually kind of hard to avoid producing a male vocal vowel sound.  I'm also reminded of the super realistic cymbal sound in supercollider, where 100 or so resonators are splayed out at random exponentially spaced frequencies (whereas here I'm only using 6, but they are more or less exponentially spread by 1/2 octave).

Much of this exercise isn't to exactly mimic a cello (I wish!) but to get a rich and interesting low end timbre, rather like that of a coupled Theremin.

[EDIT] OK, here's Ave Maria again, but with cello (and a couple of obvious mistakes): [MP3].  Clearly I'm using too many vocal techniques while playing.  For the upper end I think I prefer human vocals, which aren't nearly as literally "edgy" sounding.  But it's nice having a bunch of resonances resonating when playing the low end.

When you listen to recordings of real strings, the bow scraping is rather similar to creaky voice, there's a random element in there doing something you can't hear when listening to very short snippets.

Posted: 9/4/2018 1:36:45 PM
Buggins

From: Porto, Portugal

Joined: 3/16/2017


OK, here's Ave Maria again, but with cello

Great! Are you planning to implement reverberation?

I believe it would sound much better with reverb.

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