Sound design using MAX 7 to generate the theremin like sound

Yoon mo Yang's icon

Hello guys I am building the theremin with some digital sensors and Arduino.
The sensors are perfectly working and they communicate with Max perfectly well.
The last step of this project is to generate the theremin-like sound.
I found out that the waveform of the theremin is like a distorted sine wave
but I am kinda struggling to produce a similar shape. Does anyone have any advice?

Robin Parmar's icon

A theremin would make a pure sine wave by default. Add tremolo and vibrato using two independent LFOs. If you wish to add a touch of distortion after, fair enough.

Yoon mo Yang's icon

According to Wiki, the original theremin produces the sound by heterodyning. And as long as I understand, tremolo is a type of heterodyning right? Please correct me if I am wrong.

Yoon mo Yang's icon

And how would you add a touch of distortion, how would you do it in Max/MSP.
By the way, I added tremolo and vibrato in my patch as you said and it sounds amazing. Thanks a lot!

nouserid's icon

tanh~ sounds pretty good, I think.

Max Patch
Copy patch and select New From Clipboard in Max.

Robin Parmar's icon

I think that heterodyning is the same as ring modulation. It takes in two frequencies and produces the sum and the difference of them. I haven't studied the circuit, so I am no sure how this applies to the theremin. Likely not necessary for a Max implementation.

Tremolo is the cyclic modulation of amplitude. Not related to heterodyning, then.

[tanh~] is indeed the simplest distortion. And simple is good.

Yoon mo Yang's icon

Seems like tremolo is a kind of ring modulation using a LFO (or it is not? lol). Anyway, thank you so much for your help. The sound is getting better and better

vichug's icon

hey, isn't the tremolo modulating the frequency of the carrier sinewave, not its amplitude ? I think this is also a kind of tremolo, using a modulated delay~ time :

Max Patch
Copy patch and select New From Clipboard in Max.

and apparently heterodyning is the same as ring modulation, but a more scientific and all-purpose (electric theory) term. Didn't know this word, thanks :)

bertrandfraysse's icon

tremolo can be generated with ring modulation or amplitude modulation
ring modulation is a bipolar modulation [-1, 1]
amplitude modulation is a unipolar modulation [0, 1]

you could create a ring modulator basically with a*b
but there are different types of ring modulation in supercollider
((a*b) + a) <- this is, in my opinion, the best for tremolo
((a*b) + a + b)
((a*a *b) - (a*b*b))