Sound design using MAX 7 to generate the theremin like sound
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?
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.
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.
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!
tanh~ sounds pretty good, I think.
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.
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
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 :
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 :)
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))