IMPORTANT : Before updating, make sure to backup your preset files (they will appear as “preset0.txt” up to “preset16.txt” (that can vary if you didn’t fill all preset) in the patch folder). You can then copy them back to the new, updated patch folder and you’ll get to keep your presets.
Here’s my take on FM synthesis, made for the Organelle using Pure Data Vanilla.
It’s a 1, 2, 3 or 4 operators synth, with 12 voices of polyphony.
In 1 operator mode, the synth is simply a sine wave synth.
It has 4 parameter pages and you switch pages using the AUX button. Each page has a different LED color.
Page 1 (red LED) : Oscillator
Here you can adjust operators 2, 3 and 4 ratio (the modulators), and the index. Operator 1 is the carrier oscillator and has no parameter.
Important: When an operator’s ratio value is 0, it will shut itself and subsequent operators down. So if you want a 1 operator synth (sine wave only), set operator 2’s ratio to 0, so that op 2, 3 and 4 are off. If you want a 2 operator synth, set operator 3’s ratio to 0 so that operators 3 and 4 are off. etc.
That way, you have control over the complexity of the waveform. More operators mean more complex, and with a high index you’ll be able to get pretty noisy if you want to (particularly with low ratios).
Knob 1 : Op 2 Ratio (from 0 to 100)
Knob 2: Op 3 Ratio (from 0 to 100)
Knob 3 : Op 4 Ratio (from 0 to 100)
Knob 4 : Index (from 0 to 100)
Page 2 (yellow LED) : LFO (triangle wave LFO)
Knob 1 : LFO Rate (from 1 to 30 Hz) Controls the speed of the LFO
Knob 2: LFO Delay (from 0 to 5000 ms) The time it takes for the LFO to fade in when a note is pressed
Knob 3 : LFO->Pitch (from 0 to 100) How much influence the LFO will have on pitch
Knob 4 : LFO->Index (from 0 to 100) How much influence the LFO will have on index
Page 3 (green LED) : Amp Envelope
Knob 1 : Attack (from 1 to 3000 ms) Duration of the attack stage of the envelope
Knob 2: Decay (from 1 to 3000 ms) Duration of the decay stage of the envelope
Knob 3 : Sustain (from 0 to 100) Level of the sustain stage of the envelope
Knob 4 : Release (from 1 to 12000 ms) Duration of the release stage of the envelope (when a note key is released)
Page 4 (light blue LED) : Global
Knob 1 : Transpose (from -2 to 2 octaves)
Knob 2: Portamento (from 0 to 1000 ms) Duration of the portamento (pitch slide from the last note played to the new note)
Knob 3 : Sub Mix (crossfade between the FM oscillator and the triangle sub oscillator)
Knob 4 : Volume (from 0 to 100) This is the patch volume. If the sound is crackling in a bad way, you may want to bring that parameter down a bit.
Page 5 (Dark blue LED) : Save a preset sound
Knob 1 : Slot (select slot destination to save to) (from 0 to 15 )
To save into the selected slot, hold down the Aux button for about 1 second, until the LED flashes to confirm.
A quick press of the Aux button will get you to the next page and will not save.
Page 6 (Pink LED) : Load a preset sound
Knob 1 : Slot (select preset slot to load from) (from 0 to 15 )
To load the selected preset, hold down the Aux button for about 1 second, until the LED flashes to confirm.
A quick press of the Aux button will get you back to the first page (oscillator) and will not load.
—–
Please, let me know if you encounter a bug!
UPDATE 0.91 : Adjusted the smoothing of some parameters and added a sub oscillator, accessible via the knob 3 on page 4
UPDATE 0.92 : I added preset capability. You can now save and recall up to 16 presets sounds in this patch. See page 5 and page 6 above for details.
UPDATE 0.94: Polyphony would not be 12 voices when played from an external keyboard. Fixed.
Nice patch! But it doesn’t work on Organelle M without renaming files in it :
4op_fm_osc.pd to 4op_FM_osc.pd
LFO_tri.pd to lfo_tri.pd
VCA.pd to vca.pd
True! Got it working except for the LFO. Did you figure it out? Even tried re-naming the LFO_Delay to lfo_delay, but not working…
Thanks
I was able to get it working. I opened in PD, did a “FIND” for LFO_Delay and change all instances of objects to lfo_delay – all lower case. As well as changing the name of the file to “lfo_delay.pd”
A wonderful patch, thank you very much! It worked great immediately on my Organelle M. The submixbuttom is a splendid thing to set the last touch to the sounds, or change them totally.