[Beta feature] CC Waveform Generator (New and improved)

We overhauled the CC Waveform Generator that we introduced in v3.7. In the v3.8 firmware, we added 4 CC Waveform Generator engines. That means that at any one time, you can have up to 4 generators churning out CC messages for you in various waveforms.

On a global level, you can specify the waveform, and min/max CC value. These are the options available in the Controller Settings.

On the preset level, you can specify whether to start/stop any of these engines, set the interval (in milliseconds) which is the length of 1 cycle, the CC number, Channel and whether to run the waveform once only, or perpetually.

We just finished this up for the MC8, and will update the code for the MC6MKII and MC3 before releasing this in beta and the staging editor.

1 Like

Would be cool if you released the video with the waveform generator explanation because I cannot understand the way it works. Why minimum CC value is 4? And for example parameters are changing not contstantly but step by step in pitch shifter so if you want a divebomb to -1 oct, you will hear every semitone in that octave. I left the comment about that hear and on TGP but have not received any feedback, maybe this feature is not that highly demanded. I’d be glad to learn using it properly though.

thanks for the feedback! We’ll definitely add documentation to this before it makes it to a stable release (right now its still in beta).

But basically, CC waveform generators allows you to send automated CC values in various waveforms. You can specify a minimum and maximum for the values, choose a waveform shape (in the controller settings) for up to 4 engines. And then in your presets, you can select which waveform engine you want to start running, specify the cycle interval (duration in milliseconds to complete one cycle of the waveform), specify the CC number and channel you want to send to and that’s it. One it starts, you will notice that the CC messages will start sending automatically.

You’ll also have the option to program a preset to stop a specific waveform engine or all the waveform engines.

I understand what you described, thank you. But I asked more specific questions. And those are practical questions from the current firmware. I did not find the explanation anywhere. Please see pic.

Ah ok, the interval is the duration it takes for one cycle to complete. A value of 4 means 4 * 100 = 400ms. A value of 120 means 120 * 100 = 12000ms.

That interface on the editor was not well implemented - the next update will be better.

Why interval must be 5-127? Will it be possible to assign less than 5 in future update?

In the v3.8 firmware, it will be possible to have 100ms as the minimum. And then there is a “Cycle Multiplier” setting as well, which allows you to set the number of cycles in one interval. The options are x1, x2, x4 and x8. So the shortest interval you can have is 100ms / 8 =~ 12ms.

This kind of short interval is only practical for square wave.

1 Like

ah, that’s cool. Definitely worth checking it after update.

1 Like

Beta Firmware v3.8.0 Update (2020-12-04)

Upgraded the CC Waveform Generator feature. Run up to 4 Waveform engines at one go.

Waveform engine settings are in the Controller Settings.

In the CC Waveform Generator message type

  • Cycle Interval = Duration of 1 cycle in Milliseconds

  • Cycle multiplier = How many cycles in one interval

  • Once/Perpetual = Run one cycle, or run perpetually

  • Engine = Select the Waveform engine to run (in the controller settings)

We just updated this today (2020-12-04) so if you have used the 2020-12-03 firmware, please update your controller again as there are some changes made to the Waveform Generator.


Documentation for this feature will be maintained here: https://morningstarengineering.atlassian.net/wiki/spaces/MMS/pages/294289460/CC+Waveform+Generators

This is outrageously cool.

1 Like

A few questions about the Waveform Generator:

  1. Can you use your expression pedal to control the speed of the waveform?

  2. Is there any way to scroll through different subdivisions of the MIDI BPM? Perhaps just setting different Release messages to different subdivisions, then using Message Scroll?

  3. Can you have more than one CC# affected by an engine at a time? For instance, lets say I want to have CC#11 and CC#23 to be affected by Engine 1 at the same time on the same device. Is this possible?

  4. Once punching in a MIDI Tap Tempo, it seems I have to reengage the action to start the WG over again for it to respond to the new BPM. Is there any way to get it to change immediately when I tap in a new tempo?

Thanks for your help!

1 Like
  1. No, at least not at the moment. Might be quite resource intensive to update the speed constantly. We need to explore further first if there’s more request about this

  2. You can scroll through different BPMs using the Message Scroll feature, but not sub-divisions. Sub-divisions should be ideally handled by the receiving device. Technically, you can just divide the BPM but since MIDI Clock is global, its going to affect all your devices receiving MIDI clock if you just want one device to change.

  3. Not at the moment - only one CC# per engine

  4. If you want that behaviour, you should just add a Start WG together with your Tap Tempo message in your preset, so each time you tap, it sets the tempo and then restarts the WG

1 Like

Thanks, James. Instead of scrolling through different CC values on one preset, I’ve decided to simply make a bank of different values that I can select, which is working much better. For the Tap Tempo, I just realized I can have more than just one universal Tap Tempo; in this instance, I can also assign Tap Tempo to these time sensitive WGs, killing two birds with one stone. Cool idea!


Not sure if it’s possible, but I could imagine getting use from more than 4 waveforms. Would also love to see a random waveform added (or sample and hold + with some kind of slew limiter options). Very cool stuff so far!

I’m having an issue with this function… in that I can’t get it to work. Not sure if this is the best thread through which to ask this but it seems like there’s a lot of knowledge and enthusiasm about the Waveform Generator function here so I figure it couldn’t hurt. Maybe someone has an answer for me.

I’m trying to experiment with turning my Chase Bliss Preamp MKII Automatone into a phaser by automating movement of the frequency fader using the CC Waveform Generator function on my MC8. EVERY other midi message that I send to the pedal and the CC# of the frequency fader (17) works flawlessly. Standard PC and CC messages work great for any action type I’ve tried on any CC# on the pedal including 17. But when I try to initiate CC Waveform Generator, like a triangle wave with a min=0 and max=127, nothing happens. I’ve quadruple-checked every variable to make sure my settings are correct (Midi channel, engine number, min/max values, no contradictory actions on same preset, etc) and have reset everything and started from scratch several times with no change. PC and CC messages still work great. CC Waveform Generation gives me nothin’. I’m not even getting any midi signal documented in the Midi Monitor whereas the messages that work show up just fine.

Is this an issue with my Chase Bliss pedal? I had to alter some of the hardware on the MC8 in order to use the 1/4" TRS ports for other Chase Bliss pedals but the Preamp MKII has a traditional 5-pin midi input which is what I’m using (and is working as is evident from the the flawless PC and CC messaging).

Thanks in advance for any tips or insights!

I’m far from the resident CC Waveform Generator expert, but could you post screenshots of your preset and generator settings?

just got myself an mc6ii and was about to post pretty much exactly what you have said here

i’m interested in making generative stuff. some random waveforms would be great for adding an unpredictable flavour to loops, having more than the 4 waveform generators would also be super useful!

I am having an issue getting any of the Midi Waveforms to work. I am trying use them to control my Chase Bliss Condor. I wanted to use the random to have the LPF wiggle a bit over time for a lofi sound. I watched the video tutorial and set it up: nothing. So i tried switching the CC to Volume so that the changes would be easier to hear: no changes were audible. I then switched it to a Square Waveform thinking that that would be easy to hear. I tried assigning it to volume and then to LPF; I didn’t hear any changes. I then took it off of midi clock and had it cycling once every two seconds. Still nothing. Do you have any idea why I am not getting any results from this?

You need to disconnect from the editor in order for the waveform generators to work. Some functions are disabled when in editor mode.

More info here: https://morningstarengineering.atlassian.net/wiki/spaces/MMS/pages/211910676/Bank+Up+Down+Toggle+Page+Functions+Not+Working

1 Like