Zebra 3 Control ABCD - MIDI vs. Macros

Official support for: u-he.com
RELATED
PRODUCTS

Post

So a lot of discussion has emerged about Zebra 3's Control A-D. These are user definable MIDI Control Changes to be used in Zebra's modulation system. We used to have two, A (defaulting to MIDI CC#2 Breath Controller) and B (defaulting to MIDI CC#11 Expression), but now we have four.

Unfortunately, about 20 years ago, some DAW manufacturers and plug-in API maintainers decided that MIDI was a thing from the past. So they kind of took MIDI out or put it into a lesser position than other means of expression, e.g. parameter automation. So some DAWs simply don't offer a good MIDI workflow, and some users in turn don't even use MIDI based input devices for music production.

But MIDI is not dead, it is very much alive, with MPE and MIDI 2.0 and an abundance of Controllers that now send MIDI via standard USB protocols etc. - therefore, MIDI Control Changes are still absolutely relevant, even if not for everyone. D'oh, some of these MIDI-is-dead hosts do their own "MIDI Learn" and pass it on as automation even though it could just pass the raw MIDI for a better experience...

As a result, we needed to add UI based and automatable parameters that simulate those MIDI messages. So in Zebra 3 we have a Keyboard, Modwheel, Pitchwheel and said Control Changes on the performance page, and all of them can be accessed through the host's automation system, and none of them save in preset or project.

This is set in stone and will remain in Zebra 3. However...

We have also, quite deliberately, not added a macro system to Zebra 3. Most sound designers do not have the patience to set them up. In fact, we spent 7 years setting up XYs for our Zebra 2 and Hive soundsets. In our experience, tagging presets and setting up macros costs at least as much as the sound design itself, because many - if not most - sound designers won't do it (or decline the job, or charge double the money and still do a half decent job, not everyone, but quite a few). So we have had a full time position for 7 years, analysing presets, setting things up, and now that is over and we won't do it anymore. Factory defined macro controls are not a commercially viable thing to do for factory libraries of a size and quality that do our synths justice, not when humans have to do it.

So because we don't have macros, the people who would like to have them, wish for Controls A-D to be macros. That is also what we had hoped to do, as macros and performance controls commonly target the same parameters in the same way. It makes a lot of sense to make the effort once and be done with it. Make no mistake, setting up Control A-D in a 1200 preset factory library was a huge pain point, and one of the major reasons it took so long to get us here.

So our hope was for Control A-D to
  • be user definable MIDI Control Changes (works!)
  • be automatable knobs that remote control those MIDI Control Changes (works!)
  • be macro controls that save with preset (didn't work out because...)
However, once we managed to merge all these concepts, and the parameters of knobs A-D saved with preset, things got mangled up for the MIDI crowd. MPE would behave irrational because the last Timbre expression was saved and recalled with preset. I can't go into too much detail, but being able to save macro-based variations of presets led to less playable sounds for the expressive keyboard players.

In order to remedy the situation, we dropped the macro concept for A-D, but people can "bake" A-D into the preset. So if people use A-D like macros, and want top preserve the setting in a presets, they can do so by baking the settings into the preset. This works, but it is also merely a workaround. (But it is a great feature for people who want to free a few Controllers for other purposes)

Now, how do we save this in a future update?

Some options are:
  • better labelling so people can't mistake A-D as macros (probably the least satisfying solution)
  • add 4 "User Macros", but they are empty by default, or maybe they optionally duplicate A-D
  • add automatic macros, but that requires a lot of dev and it may not be satisfying
  • add a switch/setting that enables A-D to be used as proper macros, not sure how to do this reliably
Discuss!

Post

Thanks for the detailed writeup! I appreaciate that you try to move forward and not do it the same way as everyone other.

I think it makes sense to clarify that A-D are not macros, but not sure if it's realistic users will pick it up intuitively. Almost every other mode modern architecture synth has 4-8 macro knobs and Seeing 4 knobs will immeadiately let people think they behave the same. Also not sure why setting up Macros would be more work than setting up (and naming) the CTRL A-D.

Maybe I'm just to stupid to understand it, but what would cause problems if you could allow to optionally "save default value" for the CTRL A-D and the preset starts with it? If a MIDI Controller / host automation overrides it, jumps over it, so be it.

I'm not sure about the "bake modulation" solution, maybe it would be more useful if you could switch the CTRL A-D to be either unipolar or bipolar? If I find now a sweet spot and bake it in, I think those are usually in the "middle" and you'd want to go both up and down from that point. If CTRL A-D could also be bipolar, then I personally wouldn't see a need for setting a default - then we just assume the start point (unipolar) or center (bipolar) is the sweet spot / default.

Getting 4 user macros would be great, or at least 2. This would help to assign MPE Timbre to a Control which isn't yet assigned and may not work. In the other tread Pigment was discussed, but Arturia actually learned from Pigments MPE implementation and in their later synths made it its dedicated modulation source. I guess because assigning it to one of already assigned maros (not designed for a particular MPE device) will lead to many unwanted results.
Last edited by Fannon on Fri May 01, 2026 9:58 am, edited 1 time in total.
Find my (music) related software projects here: github.com/Fannon

Post

I think, if you want to keep the UI as much as it is and want to keep the A-D controls, the modulation modules area could be a place for a new module with macro's and maybe other custom mod tooling.
This way it isn't bothering people who don't want to use it, but it is easily opened for people who do want those controls. One just adds it to the matrix.

However..this won't solve the problem that most people think those A-D controls are just macro's like in most other synths they use.. :ud:

Another issue might be the 2 horizontal lanes (middle and bottom) with all the mod sources...could get quite cramped if one adds 4 more mod sources.

Though..if it is possible to just switch the way the knobs work depending on if MPE is enabled/disabled..that would probably be the cleanest way
Last edited by exmatproton on Fri May 01, 2026 10:13 am, edited 3 times in total.

Post

Please don't get rid of them, they are very useful. Many patches make very effective use of them to musically shape the sound and build in expression (especially also the ones from Patchpool). Any complex synth with hundreds of params to tweak needs some way to make those params accessible to performers, the challenge is prioritising which ones are going to have the most impact on timbres musically, and macros or something like them (I count these in the latter category) enable that to happen by guiding the performer/player to some key timbral dimensions of the sound.

Post

Thanks for giving this consideration.

My main concern as a macro first user is that I need to remember to "bake" the controls in Zebra which isn't necessary in any of my other synths. So I'll probably forget it a lot and need to figure out why my project sounds different after a reload.

The easiest solution would be to hide/disable A-D via a setting. But that's not very satisfying because I like macros and it was a lot of work for the designers to assign them.

I think the Pigments developers also ran into the issue with MPE, and there solution was to disable the macro when MPE is on.
Without MPE:
pigments_macro_mpe_off.png
With MPE:
pigments_macro_mpe_on.png
Maybe this would be an option in Zebra? Only that you disable all macros.

I'm not sure what the best way to implement this is. Maybe you can add four additional macros with identical assignments, but separate automation parameters? Then you can switch them in and out in the GUI depending on the MPE state.

Personally, I still don't understand what the purpose of the A-D controls in the GUI is now. So you can preview what it would sound like if you had a MIDI controller?
You do not have the required permissions to view the files attached to this post.

Post

The switch option seems good if that would enable me to store the state of the knobs in my presets, as of now I can live with the reset behaviour when loading a new preset but if a given user has that reset option turned off, he/she will think that the state of the knobs is stored within the preset (as I expected it myself in Beta version 1). If there was an either/or decision to be made I would skip the MIDI Controller concept and go for Macros which can be automated and stored within the preset.

Post

I like the switch option. It'd make things a bit nicer for how I work.

Post

I agree it makes sense why they don't save due to the MPE thing but it would be nice if they saved, with a toggleable option to have them either zero-out on preset load (for MPE users), or not. I would also like to see the mod wheel setting be saved with presets in the same way (with again a toggle for loading them or not, if necessary), as it is on at least some of the synths I own, as I find that to be useful as well.

Post

Fannon wrote: Fri May 01, 2026 9:54 am I'm not sure about the "bake modulation" solution, maybe it would be more useful if you could switch the CTRL A-D to be either unipolar or bipolar? If I find now a sweet spot and bake it in, I think those are usually in the "middle" and you'd want to go both up and down from that point. If CTRL A-D could also be bipolar, then I personally wouldn't see a need for setting a default - then we just assume the start point (unipolar) or center (bipolar) is the sweet spot / default.
They can already be made bipolar by clicking the little arrow under the knob. This makes knob position 0 correspond to control value -100. I did a quick test of this and found that the knob still resets to position 0, though. That's not very useful for baking in the sweet spot in the middle of the range. I would definitely want it to reset to the middle position, instead. It's also a little odd to me that in bipolar mode it still displays knob values from 0 to 100 instead of the control values from -100 to 100.

I also like the idea of a switch between MIDI and macro modes.
Celebrating 50 years of pants with frogs in them

Post

I’m not deep into MPE, but I like the omnisphere 3 macros that seem to be automatically assigned.
I know zebra is more modular, but I’d love something like this

Post

Mostly what I've wanted forever or at least since the first universal attempts at parameter mapping is a universal system, it does not have to be pre mapped. That's the part I'm not getting here, if people want NKI Komplete Kontrol it exists, but you can see with multiple DAWs like Bitwig and Live that DAW developers have tried to take on the Challange but that adds another element to switching DAWs whether for collaboration or otherwise. You can do this in Falcon, it offers both parameter and cc automation as a list making it quick to map a few parameters to useful controls etc. but it does not map controls automatically. Only a few presets in Falcon do this beyond the obvious modulation wheel and MPE controls.

The point I'm not getting here is the saving in a preset, it makes sense for MPE parameter states to not be saved in a preset, but it does not make sense to offer essentially a macro, then not allow a preset user to save the state of a preset they tweaked into the preset. Maybe I'm missing something fundamental but having a multi parameter knob invites one to use it to refine a preset then save it etc. All of this points out how frustrating the free market can be when it comes to adopting standards, it's not like Automap didn't try to do this 15+ years ago, and no deveoper threw their macro or performance parameters in the first slots when the Mackie Control came out and could read them.

On the plus seeing the ABCD in the first 8 slots of the Kontrol mk3 here controllable by it's endless encoder's was a ray of hope! :love:

Post

I appreciate Urs taking the time to consider this issue (Im part of the people annoyed about the lack of macros). A simple switch would work fine in my opinion.

Post

I guess the simplest choice for some of us, me included, may not be the simplest choice for you :-)
add a switch/setting that enables A-D to be used as proper macros, not sure how to do this reliably
rsp
sound sculptist

Post

If the switch approach can be easily accomplished, I'd agree that's the best option. MPE folks could use the current-state option. The rest of us could use them as macros.

Post

Another implementation idea: You could store the position in the host project (and preset), but only load it if MPE or another setting is disabled. That way, you wouldn't have to introduce any new parameters.

Post Reply

Return to “u-he”