My expectations around how macros work are pretty simple:
TargetValue = BaselineValue ± (KnobValue x Factor)
This means:
- I expect a macro to add or subtract values from a parameter’s current value (i.e. the value that would be stored in the preset).
- A macro control can be assumed to send either positive values or bipolar, values, for the sake of simplicity, let’s say the range is either 0…1 or -1…+1
- there is a macro parameter specific to each target parameter that defines direction and maximum of the offset that is applied to the target parameter’s value. For bipolar controls, a negative macro parameter value would simply invert the offset.
Example: I would set cutoff on the filter page to a value that sounds good as a “normal” value, and define a macro that allows for changing the cutoff in a specific range so that I can use the macro knob to add some movement without it ever sounding too harsh or too quiet.
This is the way it’s typically implemented in other devices, sometimes in the form of a mod matrix where dedicated knobs or MIDI CCs are available as source, sometimes they’re called “performance controls”, or, as in the case of the Polyend Synth, just “macros”. Of course, if there is both a mod matrix and macros, I’d expect them both to work consistently.
Working with the Synth, I found that macros do appear to work that way, I always got some odd results, the relationship between parameter value, “macro value” and value of the knobs (C1-C3) did not appear to be as simple and straightforward as I expected. The manual does not explain how macros work, either.
So I made some experiments to find out how things are actually working. I used Osc. Volume as a target parameter (set to 100% to allow for ample room in both directions), and compiled a table how the C1 knob affects output volume for various macro values, both for a unipolar and a bipolar macro. You’ll find details of the my settings and how I conducted experiments below the table.
These are my preliminary results:
- Unipolar knobs mapped to unipolar parameters behave in unexpected ways
- I could not create values higher than the parameter value
- with some settings, the knob has no effect over a wide range of the possible values
- Effects of bipolar knobs mapped to unipolar parameters are also unexpected:
- sometimes they increase the value, but not consistently
- directions of the offset are counterintuitive
- Bipolar Macros applied to bipolar targets work as expected
- Mods appear to work just as described above
Now I might have made a lot of errors collecting this data, but from that data I’m unable to divine a simple formula that would explain my observations consistently.
So I’ll put this here hoping that maybe somebody else sees something that I don’t.
Or even better, one of the developers might jump in and explain the theory behind macros.
bipolar | Macro Value | Perceived Volume @ C1 = 0% | @ C1 = 50% | @C1= 100% | Experiment |
---|---|---|---|---|---|
off | 0% | 100% | 100% | 100% | – |
off | 50% | 50% | 75% | 100% | – |
off | 100% | off | 50% | 100% | 1 |
off | 200% | off | off | 100% | 3 |
off | -50% | 200% | 150% | 100% | – |
off | -100% | 200% | 100% | 100% | – |
off | -200% | 200% | 200% | 100% | 2 |
on | 200% | off | off | off | 5 |
on | 150% | off | off | 125% | 5 |
on | 100% | off | off | 100% | 5 |
on | 50% | 25% | 50% | 75% | 5 |
on | 0% | 100% | 100% | 100% | 5 |
on | -50% | 200% | 100% | 100% | 5 |
on | -100% | 200% | 200% | 100% | 5 |
on | -200% | 200% | 200% | 100% | 5 |
Note: “off” means no audible sound, percent values were compared to Osc. Volume of the same sound without macros in the other 2 slots.
Details about the experiments
Preparation
- select VAP engine, init the sound
- Reset all macros and modulations (delete all macros, mods, filter off)
- set filter cutoff to off (fully CCW)
- check that Osc Volume is 100
- set amp envelope to 0s, 0s, 100%, 1.5s
To compare loudness levels, save that preset and create a scene with all 3 synths set to that preset, use the 3z3 grid. Work with the blue synth, compare to the yellow synth, and use the purple synth to match osc volume levels if you want more accurate comparisons.
Check baseline:
Play sound: Boring, static, no velocity or AT response
Experiment 1:
Ensure C1 is set to 0, then map Map Osc Volume to Timbre macro, set macro value to 100%
Play notes => no sound
Play notes on Synth 2: sound
Increase C1 gradually until the bar is completely filled while holding down a note → sound gradually becomes as loud as before (compare to slot 2 )
Experiment 2
Now with C1 fully on set the macro value value to -200%. → no change in sound
Now decrease C1 until it’s fully counterclockwise, you will notice that while you do this, the sound increases in volume, and at the end it is much louder than a note played on Synth slot 2.
Experiment 3
Now increase the macro value from -200 to + 200, while keeping C1 at minimum.
When you play some notes, you will notice that you hear no sound at all.
Increase C1, and you will start hearing notes around halfway, which will increase in volume until it reaches the same volume as synth slot 2.
Experiment 4: (bipolar macro)
Now set the Timbre Macro to Bipolar and test different macro values while turning C1
- macro value 200%, this leads to no sound whatsoever, regardless of the position of C1.
- macro value of 100%, C1 kills the output level in the left half, and gradually increases level to full in he right half.
- macro level of -100%, the sound goes from louder than slot 2 (C1 fully to the left) to as loud as slot 2 (fully to the right)
- macro value -50%: same as a value of -100%
- With a macro level of -200%, there sound is louder than C2, but regardless of the position of C1
- With a macro level of 50%, the volume starts at a certain level and rises to full level
Experiment 5: (bipolar target, baseline)
Delete the mapping for the Timbre Macro, and go to the mods page.
No set LFO1 to 1Hz, and a Square wave, and map LFO1 to Volume.
When you latch a note and then increase or decrease the modulation amount, everything behaves as expected:
- when you increase the amount, the sound jumps between normal volume an a higher volume
- when you decrease the amount, the sound jumps between normal volume an a lower volume
Experiment 6: (bipolar target)
Set the modulation amount to 0 again, then map Mod Amt1 to C1 with a value of 100%, turn bipolar on.
Now C1 directly controls the mod amount. Also just like you would expect.
Experiment 7: (bipolar target)
Turn bipolar off, and leave the macro value of 100%
Now turn C1 from left to right: the sound starts at a lower volume with no audible effect of the LFO, and as C1 increases, the LFO becomes more pronounced as the level of the sound increases while the LFO’s square is “up”.