mtytel / helm

Helm - a free polyphonic synth with lots of modulation
http://tytel.org/helm
GNU General Public License v3.0
2.38k stars 203 forks source link

Feature Request: Absolute Frequency Modulation #144

Open zediiiii opened 7 years ago

zediiiii commented 7 years ago

How about modulating frequency (pitch) and automating it with a modulator (eg, mod wheel, LFO)?

I did pitch shifting in R (NOT a good language for audio of any kind!) by naming a frequency variable at the output stage (after processing), then feeding that previously created frequency into a into a new "pitch shifted frequency variable" tied to the pitch shift parameter (which allowed for +/- 300 cents), then allowing functions to modify the pitch shifted frequency variable. You could make a knob and throw it next to the voices knob in the gui.

I'm guessing your portamento (glide) function uses code that could be hijacked for this purpose.

Great work on this project by the way. I wish I had a bit more coding experience so I could contribute more.

Mostly useless EDIT - It looks to me like you are doing your portamento pitch shift in the buffer with a linear increment tied to a variable. I'm not perfect at reading the code, and this is an oversimplified idea, but could you use the existing MOPO code for a pitch modulation by setting the increment to a very small value and syncing the output to a gui element and your value method? I'm sure this is not ideal coding - you probably can think of a more efficient way - but I figured I'd share just in case.

BiRD4 commented 7 years ago

At the moment, it is possible to modulate the pitch of oscillators 1 and 2, but I think that pitch control on the sub could be useful, also. To do this, there could just be an extra pitch knob for the sub.

zediiiii commented 7 years ago

These are slightly different ideas, though related. My idea is to have an absolute pitch control - mtytel is aware that this doesn't exist yet - while your idea is to add the same pitch detune as is available via "Osc 1 Tune" and "Osc 2 Tune." Just to be clear, this is also different than the "Osc 1 Unison Detune" Element that detunes multiple voices in sync with the oscillator.

BiRD4 commented 7 years ago

So, the reason you want the master pitch is to make it more convenient to change the pitch of the whole synth, instead of having to control three separate knobs? If that is the case, I would still want the sub pitch control, in addition what you're suggesting.

zediiiii commented 7 years ago

That is correct. It's not a matter of convenience though; atm it isn't possible to modulate master pitch, only oscillator detune pitch

You should make a seperate request for your idea for clarity - separate requests make it easier to check them off individually.

BiRD4 commented 7 years ago

Ok, it just seemed to me that it would be fine to just modulate all three oscillators, but I hadn't really considered that to be feature request I would want to make.

naught101 commented 7 years ago

I would also find a master pitch affecting all three oscillators more useful - it would be much easier to pitch shift without the oscillators detuning relative to each other.