CC Waveform Generators
Overview
For a video demonstration and tutorial on how to use CC Waveform Generators, watch this:
MIDI CC Waveforms - This changes the game for your tone (MIDI LFOs)
Table of Contents
What is a MIDI CC Waveform?
A MIDI waveform is essentially a continuous flowing stream of CC messages that oscillates between minimum and maximum CC values set by you.Â
Think of it as an automated expression pedal. Or if you hired someone to to continuously rock your expression pedal back and forth with your desired sweep and speed.
A MIDI waveform allows you to modulate different effect parameters, creating tonal effects such as vibrato, tremolo, sweeps and phasing. Similar to what an LFO does on a synthesizer.
Waveform Engines
Access the waveform engines via the controller settings tab on the editor. Here you will see 4 independent waveform engines. For each of these engines, you can select a different Waveform Type and define the Minimum and Maximum CC values for each waveform.
The available Waveform Types are:
Sawtooth Up
Sawtooth Down
Triangle
Sine
Square
Random (Added in firmware
v3.9
)
Starting a Waveform Engine
You can use any switch you want on your Morningstar controller to trigger a waveform engine to start. On your desired switch, you just need to select the CC Waveform Generator
message type.
The available parameters for this message type are:
Start/Stop: Whether to start or stop a specific engine, or stop all engines
Cycle Interval: Duration of 1 cycle in Milliseconds
Cycle multiplier: Number of cycles completed in one interval
Once/Perpetual: Complete only 1 cycle and keep CC value at final position, or keep running perpetually
Engine: Select which Waveform engine to control (4 engines found under the Controller Settings tab)
CC Number: The Control Change number determines what parameter you affect
MIDI Channel: Choose which MIDI channel you want to send the MIDI Waveform on
Invert Waveform
added in v3.9
: Invert the chosen Waveform.
Once triggered to start, the Waveform engines will start running sending out CC messages automatically.
Examples
Generating a Sine CC Waveform
Firstly, you need to set up your Waveform Generator engine. In this example, I have set up Engine 1
to generate a Sine waveform with a minimum CC Value of 0 and maximum CC Value of 127. That means that the waveform generated will be between the values of 0
and 127
with a Sine wave shape.
Next, I need to program a Preset to start the Waveform Engine.
In the image above, I have set up my Preset to:
Start Engine 1
Run it perpetually at 60 cycles per Minute.
Generate the Waveforms with CC#1 on MIDI Channel 3.
With this setting, my Waveform generator will generate 60 Sine waves every minute when the Preset is engaged.
Generating a Ramp Up Waveform that runs once
Useful for controlling Volume or Pitch Shift effects
Firstly, you need to set up your Waveform Generator engine. In this example, I have set up Engine 1
to generate a Sawtooth Up waveform with a minimum CC Value of 0 and maximum CC Value of 127. That means that the waveform generated will be between the values of 0
and 127
.
In the image above, I have set up my Preset to:
Start Engine 1
Run it only once at 50 cycles per Minute.
Generate the Waveform with CC#1 on MIDI Channel 3.
With this setting, my Waveform generator will generate ONE Sawtooth Up wave when the Preset is engaged.
Syncing the Waveform to Tap Tempo
After setting up the Waveform Engine, set up your Preset message similar to below:
Each time you tap on the switch, the MIDI Clock BPM in the controller will be set to the Tempo you are tapping. Additionally, the Waveform Generator will start (or restart) each time the switch is tapped to match the MIDI Clock BPM tempo.
Â
Caveats
Ultra-short intervals (100ms interval with x8 cycles for example) are realistically only useful and accurate for the
Square
Waveform type.
Â