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

Posted: 1/8/2023 6:08:03 PM
Martel

From: Russia

Joined: 9/8/2016

Real cow voice. ))

And the human is very musical.

Posted: 1/9/2023 1:32:45 PM
dewster

From: Northern NJ, USA

Joined: 2/17/2012

Thanks Martel!  The cow formants are quite resonant, I suppose to help the sound travel some distance.  The baritone is based on a specific singer, and it came out closer in that respect than any other I've done so far.  Human vocals and violins are some of the toughest to match in the D-Lev synth, often I edit for many hours over many days, only to move farther and farther away from the target.

Posted: 1/10/2023 11:12:09 AM
dewster

From: Northern NJ, USA

Joined: 2/17/2012

Pitch Field Tuneup In A Nutshell

Unlike an analog Theremin, the D-Lev near field is linear. So the main take-away for adjusting the fields is this: hand capacitance very much dominates in the near field, so the near field is the standard, and we adjust the rest of the field to match it. Does that makes sense?

The three main knobs are Pcal, Sens, Ofs+, and they can be adjusted in that order with very little interaction between them, and in a systematic fashion.

Pitch field tuneup:

0. Set Lift[0] and do an ACAL. Then do a second ACAL, if the tuner doesn't jump at the end you're golden.

1. Adjust Pcal to make the far field the linearity the same as the near field. Check the mid field too. The more mechanical the hand gesture used to gauge field linearity the better. (This step is very much like balancing the pitch field of an analog Theremin - the Pcal knob is identical to the pitch knob on an analog.)

2. Adjust Sens to get the near field note spacing right for your octave gesture (check the mid field too).

3. Adjust Ofs+ to position the pitch center and extremes for comfortable playing.

That's it! Step 1 is the most tedious, 2 & 3 are falling off a log.

Don't forget to press SYSTEM:Stor twice to save your settings.

Every time I have the opportunity to help someone set up their D-Lev fields the process gets a bit more defined in my head, so hopefully the above steps are a bit pithier.

Posted: 1/14/2023 10:50:51 PM
dewster

From: Northern NJ, USA

Joined: 2/17/2012

Trumpet Fret Noise

Still down in the coding mines (and loving it!) working on the pitch and volume hand modulation for the audio pitch preview and the noise generator modules. Had an extra knob left over and thought it might be interesting to use it to modulate the volume down between notes, making chromatic runs more discrete sounding for voices that don't generally gliss well:

https://d-lev.com/audio/2023-01-14_somewhere_valves.mp3

Posted: 1/15/2023 2:22:20 PM
dewster

From: Northern NJ, USA

Joined: 2/17/2012

More Valves

I noticed that the volume modulation of note edges was interacting oddly with the knee gain break - lower volumes with vibrato were getting really gated and throttled.  Re-positioning the logic between the knee and envelope generator fixed that (duh).

The overall effect is (not?) surprisingly rather reminiscent of pitch correction, I suppose because it emphasizes note centers.  Also like pitch correction, it's probably best used in conjunction with an absolute pitch source, like accompaniment or the tuner.  When applied sparingly I think it adds realism, and makes non-gliss voices sound less disturbingly weird when glissed.  And when cranked up it gives a kind of picket fence special effect.

https://d-lev.com/audio/2023-01-15_amazing_valves.mp3

Posted: 1/15/2023 10:23:02 PM
dewster

From: Northern NJ, USA

Joined: 2/17/2012

Vanbelis

Had a request for a tunable bell preset.  This is a mashup of the "bell_am_2" preset with all formant pmod knobs set to 32 to make it track the pitch hand, and one of the "little_ben" presets to get the single impact type percussion.  Sounds rather like Vangelis (RIP) to me, particularly with the application of his signature slow vibrato: https://d-lev.com/audio/2023-01-15_vanbelis.mp3

Posted: 1/16/2023 9:30:12 PM
dewster

From: Northern NJ, USA

Joined: 2/17/2012

Preset Generation

Spent the day looking at various methods to generate synth presets automatically.  Vincent pointed me to a nifty DX7 generator based on machine learning (https://www.thisdx7cartdoesnotexist.com/) and there is another one that uses a similar ML construct.  Not my field, but Variational Autoencoding (VAE) and PCA seem like the right approach.  There aren't a ton of D-Lev presets, perhaps there aren't enough to have these methods boil down and extract real dependencies and relationships?  Most ML stuff is written in Python, and I'd rather not go there if I can help it due to my inexperience with it, as well as multi-platform issues.

So I guess right now I'm looking at some sort of "intelligent" Gaussian randomizer that focuses (via flags) on certain groups of functionality, like the formant bank frequencies and such.  Thinking of having it grab the current knob settings, then write the mutated knob settings back, which would serve as a natural demo environment, a natural memory for repeated invocations of the command line librarian, and enable smaller mutations to add up to bigger mutations over many cycles.  Wish there were some natural and easy way to maximize the SNR here, full on random of all preset knobs would most likely produce something useless most of the time.

Posted: 1/17/2023 8:16:44 PM
Martel

From: Russia

Joined: 9/8/2016

14.01.2023 10:50:51  Trumpet Fret Noise

At the same time, it resembles the sound of a trumpet (albeit without a sharp sound attack) and slide guitar (because it is a glissando).

And the rest of the sounds are interesting. They are not primitive and have a rich spectrum, (delicious) expressiveness, musicality. Bravo )

Posted: 1/17/2023 8:32:50 PM
dewster

From: Northern NJ, USA

Joined: 2/17/2012

"At the same time, it resembles the sound of a trumpet (albeit without a sharp sound attack) and slide guitar (because it is a glissando)."  - Martel

Yes, I was hoping for something similar to trumpet valves being quickly fingered as they do when glissing larger distances.  It's strange to me that they call that kind of note stepping a glissando.

"And the rest of the sounds are interesting. They are not primitive and have a rich spectrum, (delicious) expressiveness, musicality. Bravo )"

Thanks!  I think all synths should have a formant filter bank (the D-Lev has 8 formants) as they really liven things up and bring a sense of reality to things.  The inharmonic resonator was a fantastic filtering addition too.

Posted: 1/17/2023 10:20:11 PM
dewster

From: Northern NJ, USA

Joined: 2/17/2012

In The Pink

For the preset mutilator I was looking today at randomness.  In the frequency domain there is white noise, which has equal power per Hz, and sounds rather hissy and harsh.  Next there is pink noise, which has equal power per octave, which is more bassey and less trebley, and just generally more balanced sounding.  Finally there is brown noise, which is quite biased towards the bass end.  When using noise to generate musical stuff like random notes, pink noise wins, and there are tons of other physical processes that display this type of randomness.

White noise has a flat spectrum, brown noise falls off at 6dB per octave, and pink noise is in the middle, falling off at 3dB per octave.  6dB per octave is simple to do with a low pass filter or integrator, but 3dB requires a cascade of 1st order low pass filters spaced 2 octaves apart, so it's not trivial to generate via filtering.  A white noise sample can be generated in a Gaussian manner by averaging several random numbers together, which tends to weight things to zero by making outliers less likely.  A brown noise sample can be generated in a similar manner, but the Gaussian average is instead used as an offset to the previous sample.  A pink noise sample can be generated by averaging several random numbers together that are produced at powers of 2 rates.

So anything other than white noise needs some kind of memory, which isn't the end of the world, but something I was hoping to sidestep with the preset mutilator.

Anyway, this got me wondering if the D-Lev noise source should be fundamentally white or pink.  Most of the time when I'm using it I'm cutting way back on the treble tone control.  I recorded it with the bass knob all the way up and the treble all the way down and got this surprisingly fairly linear looking spectral drop:

I measure -20dB at 60Hz, and -52dB at 6kHz.  This is -32dB and a little over 6 octaves.  Pink noise would have a -18dB drop over 6 octaves, so this is actually brown-ish.  The bass and treble controls are second order, so one would expect 12dB per octave rather than 6dB, which is another surprise, so I'm not exactly sure what's going on.  This is obviously something I need to experiment with, and I'm wondering if that plateau from ~6kHz on up is causing any trouble in my presets.

[EDIT] Fixed my boneheaded dBs and conclusions.

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