The Editor - Ixox/preenfm3 GitHub Wiki
The editor is the place where you can modify all the parameters that defines the sound.
This part has some sub-menus.
I know lots of people hate sub-menus but i think thee navigation here is quite easy and fast thanks to the self-explanatory graphical user interface.
There is only 1 level submenu.
Buttons name indicate the menu you'll go into, and you always come back by pressing the Edit button or the Menu button.
The Editor home page looks like this :
In all editor pages, you can see a waveform of the sound that is currently played by the instrument you're editing. You can also always see the FM algo, which is very useful when editing the operator or the modulation indices.
The 6 submenus we'll see in details bellow are:
- FM : Algo, modulation indices, and mix/pan of the carrier operators
- Oper : operators oscillator and envelope
- Matrix : source, multiplier and destinations of the 12 rows
- Modul : 3 Lfos, 2 envs, 2 steps and some midi based note modulator.
- Arp/Fx : arpeggiator and effects/filters
- Perf : Performance parameter
Algo : Choosing the algorithm defines how the operators are chained. which operators are carriers, which are modulators.
Voice : Mono or Poly. Mono allows to define the portamento. It only makes sens if it fits the number of voices define in the mixer. Mono = 1 voice, Poly > 1. The param is displayed in red if there is a problem.
Porta : If mono(1) is defined above, this parameter specify the speed at which the sound will glide from a note to an other if notes are overlapping.
Velo : How much the note velocity impact the sound volume. 0: none, 16: full. Even when 0 is set, the velocity can modify other target in the modulation matrix.
Here you can define the modulation index (MI)
Press a second time on the button to modify how velocity adds to the MI.
The label of the parameter has the pattern A-B. A is the source and B the destination of the MI. 2-1 will modify the MI that comes from operator 2 to operator 1. If you turn the associated encoder, you'll see the line from 2 to 1 turning yellow.
Here you can adjust the volume and the pan of each carrier operators.
Mix3/Pan3, for example will modify the volume and pan of operator 3.
A FM algo uses between 3 to 6 operators.
These operators have lots of parameters that can be modified here.
Those parameters are the waveform of the oscillator, how its frequency is affected by the midi note it receives, and a 8 points loop-able envelope.
The waveform is visible when the OSC view is selected event for user loaded waveform.
The envelope is visible when the ADS or R view is selected. The top right number in the envelope is the number of seconds of the envelope at this point. It can increase or decrease to optimize the envelope view.
On the bottom row you can see 2 buttons : << and >>. Use them to chose the operator you want to edit.
The current edited one is written in blue at the top and has a yellow square around it in the algo diagram.
Each button gives access to 2 of the 12 rows.
Encoders allow to modify sources, multiplier and the 2 destinations.
The matrix sources can be chosen from midi parameters (velocity, modwheel...) or from the low frequency modulator defined in the next chapter.
In the list of modulators you can use as modulation matrix sources you'll find : 3 LFOs, 2 envelopes, 2 step sequencer, some midi note modifiers.
The LFOs is always displayed (as a background to the real time oscilloscope) in this page.
So you can see immediately how the shape, frequency, ramp, bias and phase affect the waveform.
If you want to sync the LFO with external midi clock, you have a selection of Midi clock ratio after frequency 99.9Hz (use the Inst+ button while turning to reach these values quicker).
You have 2 different free envelope to use in the matrix source.
The first one is a regular ADSR envelope.
The second one is loop-able envelope with the 3 following phases: silence, attack, decay. The loop specify where to loop when the end is reached.
The shape of the envelope is always drawn as well as the scale (in seconds) in the top right of the oscillator.
Step sequencer can add inner rhythm to your sound.
You can for example increase the FM MI synced on a specific tempo.
Bpm can be selected from 10 to 240. After 24 you'll find the External midi sync ratio.
Gate specify the ratio between the step value is et and 0. 0.5 means half value / half 0 for each step.
Gate is available as the matrix destination and can give interesting result when modulated by a slow LFO1/3 (bias = 0) or modulated by the pitchwheel of your keyboard.
Then you can use encoder 4 to move the yellow cursor, while encoder 5 will change the value of the yellow bar.
Those 2 « Midi note» pages allow you to modify some parameter depending on the midi key note entry.
You can select the break (Brk) note (or middle note) and the 2 curves that start from this note in both direction. Before and After describe the kind of curve you want the respond to follow :
- Flat: 0 for any note
- +Lin : 1 per step from the break note value.
- +Lin8 : 8 per step from the break note values
- +Exp : exponential curve, starts slowly and go up faster as you go further from the break note.
- -Lin, -Lin8, -Exp : same as the 3 above but with a negative value.
Simple use case example :
- Stereo panning over the keyboard. Low note on the left, high note on the right : (-Lin, 60, +Lin) that you multiply by Pan* in the modulation matrix.
- Decrease the IM for high notes to get rid of aliasing. ( Flat, 60, -lin8) that you multiply by IM* in the modulation matrix.
Most of the preenfm arpegiator comes from the Mutable Instrument midipal. The following doc also come from there :)
Its 8 parameters are split onto the 2 states of the Arp button.
Clock : Select an internal or external clock source. When using an external clock source, start, clock and stop MIDI messages must be sent.
Bpm : Tempo of the internal clock, in beats per minutes.
Dire : Arpeggio direction. The available directions are up, down, up&down, rabdom, chord and others.
Octav : Arpeggio range, in octaves.
Divi ; Duration of an arpeggio step (the duration of a ‘o’ or blank in the previous chart). The default is /16 – a 16th note per step.
Dura : Duration of the notes played by the arpeggiator. The default is /32, a 32th note.
Ptrn : Arpeggio rhythmic pattern. After 22, you have 4 pattern that you can edit manually with encoders 4 to move and 5 to change value.
Latc : When set to on, releasing the keyboard will not stop the arpeggiator. To stop the arpeggiator, set this latch setting to off. Please note that the sustain pedal of your controller can be used similarity to hold notes.
Select the filter and its 2 parameters.
Many of the filters have been added by a user whose git repo is here:
https://github.com/pvig/preenfm2
You'll find there a description for all the filters.