Overview
MidiGAL’s MidiLFO firmware provides up to 8 versatile MIDI LFOs capable of generating CC, NRPN, After Touch and Pitch Bend MIDI events. The LFOs can be independent or chained one after another providing complex modulation capabilities (essentially an up to 8 stage envelope generator) for any connected MIDI device.
Resources
MidiLFO is designed to run on MidiGAL hardware, however it is also compatible with MidiBUD.
Firmware (.syx and .hex): midilfo_100 (use midilfo_pal.syx if your device has MIDIpal bootloader).
User interface
MidiLFO user interface consists of pages which are selected by encoder rotation. Each page displays a single parameter value.
Clicking the encoder activates parameter editing mode. In this mode parameter value is displayed in square brackets. Rotating the encoder changes the parameter value. Clicking the encoder again saves the updated parameter value.
Double clicking the encoder saves all device settings in the currently selected program slot. The Main page allows you to save the current program into a different memory slot.
Pressing the switch starts the LFOs. Pressing the switch again stops all running LFOs.
LFO specific parameters are displayed on pages with the names starting with LFOn. On these pages, rotating the encoder while holding down the switch changes the currently selected LFO and clicking the encoder activates it.
Inactive LFOs don’t send any messages. By default only the first LFO is active, so other LFOs need to be activated by clicking the encoder while holding down the switch .
Main page
The Main page is shown when the device powers up. It displays the currently selected program number and name in the top row. Bottom row displays all the currently active LFO values.
Click the encoder to activate program selection mode. While in this mode, the program name is displayed in square brackets and rotating the encoder selects the program to load. Clicking the encoder again loads the selected program.
Press the switch while in program selection mode to activate program name editing mode. In this mode program name is displayed in square brackets and with blinking cursor. Pressing the switch advances editing character position and encoder rotation selects the character under the blinking cursor. Clicking the encoder again accepts the program name changes.
Tempo page
Specifies the device tempo when running on the internal clock.
Click and rotate the encoder to select the tempo between 25 and 250 BPM. Click the encoder again to accept the selected tempo.
The selected tempo affects the speed of all the LFOs.
Clock source page
Specifies the device clock source, internal or external.
If set to ‘int’, the clock is derived from the internal clock generator with tempo specified at the Temp page.
If set to ‘ext’, the clock is derived from the MIDI Clock messages received at MIDI IN. This external clock can be additionally divided by up to 32 times.
Click and rotate the encoder to select the clock source and the division factor. Click the encoder again to accept the selection.
Note that when running on the external clock the device is started and stopped when MIDI Start/Stop messages are received.
LFOn mode page
Specifies the MIDI Event type that is generated by LFOn. This could be one of the following:
- CC
- NRPN
- After Touch
- Pitch Bend
Click and rotate the encoder to select the LFOn output MIDI Event type. Click the encoder again to accept the selected LFOn output MIDI Event type.
LFOn Channel page
Specifies the LFOn MIDI channel, 1 to 16.
Click and rotate the encoder to select the LFOn MIDI channel. Click the encoder again to accept the selected LFOn MIDI channel.
If a MIDI event corresponding to the LFOn mode is received while selecting LFOn MIDI channel, the received event’s MIDI channel will be ‘learned’ as the LFOn MIDI channel.
LFOn CC# page
Specifies the MIDI Control Change number between 0 and 119 that is generated by LFOn.
Click and rotate the encoder to select the LFOn MIDI Control Change number. Click the encoder again to accept the selected LFOn MIDI Control Change number.
If a MIDI Control Change event is received on the LFOn MIDI channel while selecting LFOn MIDI Control Change number, the received event MIDI Control Change number will be ‘learned’ as the LFOn MIDI Control Change number.
LFOn NRPN page
Specifies the MIDI NRPN number between 0 and 16383 that is generated by LFOn.
Click and rotate the encoder to select the LFOn MIDI NRPN number. Click the encoder again to accept the selected LFOn MIDI NRPN number.
If a MIDI NRPN is received on the LFOn MIDI channel while selecting LFOn MIDI NRPN number, the received MIDI NRPN number will be ‘learned’ as the LFOn MIDI NRPN.
LFOn Waveform page
Specifies the LFOn waveform. This could be one of the following:
- Sine
- Triangle
- Spike
- Bipolar spike
- Saw
- Ramp
- Square
- Pulse
- Random
Click and rotate the encoder to select the LFOn waveform. Click the encoder again to accept the selected LFOn waveform.
LFOn Rate page
Specifies the LFOn rate. This could be anywhere between 1/64T and 12 bars. This specifies how long it takes for the LFOn to complete its full cycle.
Click and rotate the encoder to select the LFOn rate. Click the encoder again to accept the selected LFOn rate.
LFOn Resolution page
Specifies the LFOn resolution which defines how often output MIDI events are sent. Lower values provide for smoother changes, while higher values result in steppy changes rwhich may result in some interesting effects because events are synchronized to the clock.
Click and rotate the encoder to select the LFOn resolution. Click the encoder again to accept the selected LFOn resolution.
LFOn Minimum value page
Specifies the LFOn minimum value which could be anywhere between 0 and 127 for CC and After Touch and 0 and 16383 for NRPN and Pitch Bend LFO modes.
Click and rotate the encoder to select the LFOn minimum value. Click the encoder again to accept the selected LFOn minimum value.
If a MIDI event corresponding to the LFOn mode is received on LFOn MIDI channel while selecting LFOn minimum value, the received event value will be ‘learned’ as the LFOn minimum value.
LFOn Maximum value page
Specifies the LFOn maximum value which could be anywhere between 0 and 127 for CC and After Touch and 0 and 16383 for NRPN and Pitch Bend LFO modes.
Click and rotate the encoder to select the LFOn maximum value. Click the encoder again to accept the selected LFOn maximum value.
If a MIDI event corresponding to the LFOn mode is received on LFOn MIDI channel while selecting LFOn maximum value, the received event value will be ‘learned’ as the LFOn maximum value.
If LFOn minimum value is greater than its maximum value the resulting waveform is inverted.
If LFOn minimum value is equal to its maximum value the resulting waveform is flattened. Use this to generate constant values.
LFOn Phase page
Specifies the LFOn phase which defines the starting point of the LFOn waveform.
Click and rotate the encoder to select the LFOn phase. Click the encoder again to accept the selected LFOn phase.
LFOn Synchronization page
Specifies the LFOn phase synchronization. This could be one of the following:
- none – LFO is free running
- start – LFO phase is reset when the device is started
- note – LFO phase is reset on each note received on the LFO channel
- chord – LFO phase is reset on each non legato note received on the LFO channel
Click and rotate the encoder to select the LFOn synchronization. Click the encoder again to accept the selected LFOn synchronization.
LFOn Once page
If set to ‘on’ LFOn will stop running after completing its full cycle making it a one shot LFO. Combined with the note or chord synchronization options and triangle or saw waveform this LFO essentially becomes a simple Attack/Decay envelope generator.
Click and rotate the encoder to select the LFOn once property. Click the encoder again to accept the selected LFOn once property.
Chain LFOs page
Now this is a cool one! This option allows you to chain up to 8 LFOs causing them to run their waveforms one after another turning the MidiLFO into a complex 8 stage envelope generator. For example, chaining 4 LFOs with the Ramp, Saw, Saw and Saw waveforms and appropriate min/max values will give you a linear ADSR EG with the slanted sustain segment. Chain another LFO before these 4 and you get a DADSR EG.
This parameter specifies how many LFOs are chained. If this is less than 8, the rest of the LFOs are running independently as usual.
Note Start page
If set to ‘on’ the LFOs will automatically start running when the first note is received on any of the MIDI channels associated with any of the active LFOs.
Pass Thru page
If set to ‘on’ the MIDI events received at MIDI IN are passed through to MIDI OUT. This is the mode you want to use if MidiLFO is inserted between your MIDI controller and the sound module.
Set this to ‘off’ if MidiLFO is connected to a stand alone synth’s MIDI IN and OUT to provide additional modulation capabilities when playing live.
Miscellaneous
Powering the device up with the switch held down initializes the device, erasing all settings in all programs to default values.
Powering the device up with the encoder knob held down enters the firmware upgrade mode: device expects firmware SysEx file to be sent to MIDI IN.