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

Posted: 12/26/2019 6:01:02 PM

From: Northern NJ, USA

Joined: 2/17/2012

His Master's Voice?

It's pretty easy to get something human sounding just messing around with 4 formants, but I'm trying to figure out how to synthesize a given particular human vocal sound, and the easiest one to sample is mine, so that's the defacto goal. 

Been playing with Praat some.  I wasn't aware until yesterday that there is a pretty nice interactive spectrogram / formant / pitch viewer in there.  But Praat seems to have a little trouble now and then with formant identification, and there doesn't seem to be any obvious way to know what the amplitudes of the formant filters should be set to.  Something I'm experimenting with in Audacity is recording a sweep of my own voice over an octave or so and viewing the FFT of that.  The sweep helps to smear out the excitation peaks, leaving more or less just formant filtered peaks.  Audacity doesn't let you zoom in the view on the FFT horizontally, so the horizontal pitch axis is controlled entirely by the FFT window size, which is kinda weird.  The window size necessarily sets the resolution, so it's not exactly an ideal situation, but workable.  I think I'm seeing my own vocal formants at 600, 1200, 2560, and 3310Hz, with a dip at 5430Hz and an island blob of HF response from 6kHz to 9.5kHz.

Just plugging these formants into the D-Lev and playing around with the amplitudes and excitation yields something human but not exactly "me" sounding.  The missing island blob is some of it, and I tried filling that in with the resonator but no dice.  And the formant locations sounded weird so I moved them around a bit - so much for science!  This next step in vocal synthesis is turning out to be more nuanced than I would like it would be, after the low hanging fruit the next fruit up may need a fire ladder!  Anyway, here's the D-Lev "me" (so far) singing "Love is Blue": [MP3]

And here is the preset:

Posted: 12/26/2019 6:46:46 PM

From: Minnesota USA

Joined: 11/27/2015

Hey, I like this voice!  I also like being able to see all the settings in one view.  Very nice...

Posted: 12/27/2019 11:19:02 AM

From: Porto, Portugal

Joined: 3/16/2017

singing "Love is Blue"

WOW! Very cool! 
Sounds almost natural. Such voices show flexibility of digital theremin, (almost) impossible for analog synth.
Didn't you try to vary some of parameters using additional oscs? 

It would be great if it's possible to create a kind of "demo index" post, with demos of different presets (updated from time to time).

Posted: 12/27/2019 3:44:13 PM

From: Northern NJ, USA

Joined: 2/17/2012

"Sounds almost natural. Such voices show flexibility of digital theremin, (almost) impossible for analog synth."  - Buggins

Thanks!  There's less science and more farting around than I would like to get that result.  Synthesizing a particular human voice is hard work, and it's got me wondering if simple formants in parallel are sufficient to model a given vocal tract at a realistic level.  I mean, it's kind of no wonder they've used 3D physical models here (though at 48kHz the length resolution of each segment is ~1cm which seems too rough for simple non-interpolated delays?).

"Didn't you try to vary some of parameters using additional oscs?"

Like many patches, I've added a bit of square wave, but that's a constant thing.  The harmonic content is the only thing that is dynamic (with volume).

"It would be great if it's possible to create a kind of "demo index" post, with demos of different presets (updated from time to time)."

That's a good idea!  Something to add to the first D-Lev thread post.

Posted: 12/27/2019 5:52:20 PM

From: Porto, Portugal

Joined: 3/16/2017

I'm going to try LPC synthesis for human voice in future. Didn't you look at it instead of simple formant filter?

Posted: 12/27/2019 9:20:47 PM

From: Northern NJ, USA

Joined: 2/17/2012

"I'm going to try LPC synthesis for human voice in future."  - Buggins

Have you found any high quality LPC sound samples / videos?  I just spent some time on YouTube and everything sounds like a scratchy robot.  There are some good videos for using Praat though...

Posted: 12/28/2019 7:49:03 PM

From: Northern NJ, USA

Joined: 2/17/2012

Phone Call From Leavenworth (serial port blues)

Holey moley!  The Linux serial port SW interface an amazing mess of arcane legacy, lore, and whatnot.  It's some of the oldest stuff in Linux, and at one point was critical to interop, so no wonder I guess - but yowsa!  Though previously working through the gaining full control of the console keyboard was really good prep for this stage.

One big trick in Linux Mint is opening System Settings | Administration | Users and Groups and adding "tty" and "dialout" to your groups, then rebooting.  This gives you permissions to access all serial ports, which you aren't otherwise authorized to access.  Before I did this one of my USB serial interfaces wouldn't even open, but now both my Prolific and FTDI serial cables work.  Linux likes to lock everything down by default, which can (and will) bite you in the ass at every turn if you're used to the wide open spaces on a PC.

Linux opens the serial port like a file (ton o' legacy there too), and there are structures of flags and fields that set up the behaviors and generally configure things.  Running the port at 230400 baud is past the highest speed of the previous legacy speed field (see what I mean?) which gave me some concern, but it seems they've dealt with that since with new speed commands to translate to and from the legacy fields.  The keyboard sends 0x7f for backspace and that needed to be manually translated to 0x08 for the D-Lev.  I suppose there's a reason there are so many options in better terminal emulators for these sorts of things.

Anyway, after a couple of days work (that's the current state of C++ / Linux / serial port cables for you!) I'm able to send commands to the D-Lev, and I'm getting back what looks like good data, so upward and onward with the patch librarian project.  This is the exciting part actually, where the majority of the grunt work is behind me (though I still need to implement the serial port code for Windows).

Posted: 12/31/2019 5:07:30 PM

From: Northern NJ, USA

Joined: 2/17/2012

D-Lev Tour Ergonomics

Roger's recent playing survey thread [link] has helped me focus on possible physical configurations of the D-Lev Tour variant.  With the electronics fairly non-critical with regards to placement, it's all about the ergonomics - I don't think it's actually possible to overthink the ergonomics of a musical instrument.

So I trotted out the cardboard mock-up I made a while ago and in a high-tech fashion gaffer taped it to my prototype.  Here's a quick sketch I made of me, and me standing at it:

Some observations:
1. My playing "style" is pretty relaxed with my forearms more or less horizontal (parallel to the floor).
2. My pitch hand / arm is not raised much at all.
3. I address the pitch antenna obliquely with the back of my hand and axially rotate my entire forearm for vibrato.
4. I prefer the pitch antenna to be located about as far away as my outstretched pitch arm & hand can reach.
5. Perhaps because I play with reversed volume sense, I like to keep some distance between my volume hand and the volume plate.
6. I like to play with the tuner right in front of me, but if it's too low my neck gets cricked.

For this simple "angled back box" type configuration, there is a definite tension between the location of the volume plate being low enough to be a comfortable distance from my volume hand, the pitch antenna being up a bit and far enough away, and the pitch display being high enough so as not to crick my neck.  This seems to dictate, at least for my current playing "technique", a minimal length of the Theremin body of somewhere around 17" and a maximal length of around 20", with the distance between the antenna support axes around 14".

There seems to be no tension associated with the control knobs, which feel comfortably located.  And the LCD only needs to be consulted when monkeying with the knobs, so that seems fine too.

The above dimensions are contingent on the pitch antenna either being a squarish plate, or a center mounted rod.  An end mounted rod would either raise the playing point or bring it closer to the player, neither of which would be my preference.  Of course, none of this is hard and fast for other players with other playing techniques.

Here's a quick movie of me bellying up to and "playing" the mock-up (no audio or verbal commentary):

At one point I hold a dowel that I'm sighting down to show the angle of attack to my eyes.  The paper LED tuner is located here at the top of the 17" dimension, locating it higher on a 20" body would be more comfortable for my neck, but would present more obliquely to my eyes.  I'm angling the volume plate forward to better line up with my volume hand movements and to give it a bit more distance.  The pitch plate / rod is angled back to align with my pitch hand movements.  The entire thing is angled up probably a bit less than 40 degrees.

[EDIT] Wanted to add a dimension: 20" or so horizontally between my resting playing hands feels about right to me.  Too much distance here and my peripheral vision can't track my pitch hand well enough to reliably keep it sufficiently centered on the pitch plate.

Also, it looks in the video like I'm just shaking my hand / hinging my fingers for vibrato, but I'm actually mostly rotating my forearm.

Posted: 1/1/2020 4:23:08 AM

From: Northern NJ, USA

Joined: 2/17/2012

Happy New Year everyone!

Posted: 1/1/2020 2:58:32 PM

From: Northern NJ, USA

Joined: 2/17/2012

D-Lev Tour Ergonomics II

Just wanted to throw a few more numbers / ideas out there:

The drawings are all with the Theremin body lying flat on its back. 

On left is the vertical distance between the axes of the axes (!), and the horizontal distance between the centerline of the plate and the centerline of the body.  The plate height is roughly the same as the width of the body, and I did this mainly to make it possible to store the plate antennas inside a removable lid, otherwise the plate heights could be larger, or U shaped to get more surface area, etc.  As I don't play a rod-type pitch antenna, I don't know if it should be located the same distance from the centerline as a pitch plate, I suppose it could be closer or farther depending on expectation / feel.

The center view shows the LED tuner location moving up when the body height goes from 17" to 20" but the pitch antenna axis vertical location remains the same.  In the taller box the LED tuner could perhaps be angled forward a bit towards the player.

The right view shows the encoder arrangement.  Roger has placed analog volume controls on either side, and I would place pushbuttons on either side as well, one to write the preset, the other to do acal.  This is just an idea I'm kicking around, as actuating these functions has been long-term problematic for me from a UI design standpoint.

I/O could be located on a small plate on the bottom, or perhaps the bottom of the front panel could be utilized.  Mandatory for me would be a built-in stereo headphone amplifier that might do double duty for those who use pitch preview.

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