Joined: Jan 31, 2003
Location: Allentown, PA
Audio files: 123
G2 patch files: 60
|Posted: Tue Apr 27, 2004 6:02 am Post subject:
Discussion of Unipolar and Bipolar modulation values
|Here's an interesting discussion from Rob that explains the G2's bipolar and unipolar control signals. I thought this might be of interest here.
|finally G2 №293 reached my home studio.
i spent much time this holyday investigating its new&old features and came across a problem i couldn't find the solution. i tried to modulate osc pitch
with positive unipolar signal and couldn't get full modulation range (8 Hz-12kHz). i expect the answer: the pitch mod input doesn't except values more than
64. is that right? (look patch enclosed)
so the only solution that came to me is to scale the signal and going bipolar (See the second patch). but this solution doesn't look very elegant and
finally i don't understand all this crap that is in the manual about mod-amount knobs (page 30-31, see modulation examples).
be so kind and clear away the fog in my mind.
The full modulation range spans from -64 to +64. A bipolar signal happens to span this range, from -64 to +64. But as a unipolar signal spans a range of 0 to +64 it is pretty logical that the modulation depth is not the full range but only half the range. So I guess that your real question is why does the LFO output not change to a range of 0 to +128 when set to unipolar and why some modulation inputs don't accept modulation signals out of the -64/+64 range. Which actually is rather a good question.
First the 'philosophical' question of why a unipolar signal has 'half the range' of a bipolar signal. It is a choice a designer of a system has to make to do it that way, and it is actually very common to do it that way. Basically it has to do with the fact that a modulation signal is always relative to some other value. E.g. a basic pitch or filter cutoff is set as a reference and then the effect modulation is applied in relation to that reference. Some things easily allow for bipolar modulations, like how a lesie type vibrato sweeps around a pitch. A leslie makes a steady pitch actually alternatingly lower and higher, a typical example of bipolar modulation. In contrast adding some vibrato to a guitar string by bending the string by a finger will only shift the pitch up, so this is a typical example of unipolar modulation. So, the basic question is does the modulation have to change some reference signal in only one direction or into two directions symmetrical around a reference signal, e.g. a pitch played by a key on the keyboard.
The reference signal is modulated between two extremes, the upper limit and the lower limit. Now in practice it is very often the case that when the lower limit is actually the reference signal (so unipolar modulation) the upper limit is still the same as when it would be bipolar modulation.
What you do in your patch is actually using the lowest pitch an osc can do as the reference pitch. But what you do is a 'special case'. Of course you can do it this way, but in many cases it is more practical to use e.g. the played note as the reference pitch to modulate around. In such a case you would find that if e.g. the modulation is set to a depth to sweep an octave (e.g. with a squarewave lfo to do 'octave popping') the changing from bipolar (one octave down <> one octave up) to unipolar (original pitch <> one octave up) is quite convenient, as it creates two different effects. If the unipolar setting would shift everything up, the effect would be that bipolar would be 'one octave down <> one octave up', but the unipolar 'original <> two octaves up', which would be the same as playing the bipolar modulation by a key just one octave higher on the keyboard. So in essence still be the same musical effect.
When a filter is modulated it is often modulated in a unipolar way, as a bipolar modulation can suppress the overall loudness when the lower limit of bipolar modulation would push the cutoff far below the played pitch. The modulation inputs on the filters are quite sensitive, twice as sensitive as on other modules (they go from 0% to 200%). With filters it is actually quite nice that the amplitude of an unipolar lfo signal is halved, as the filter modulation input sensitivity is double. They compensate each other nicely and make sure that the modulation is positive only in reference to the cutoff of the filter. It just works out nicely that way.
And now the question that touches the heart of your problem, why are there some modulation inputs that do not accept signals outside the -64/+64 range, in fact just clip the modulation at these boundaries. While there are other modulation inputs that can accept signals between -256 and +256. This has to do with how the modulation is handled internally within a module. Sometimes a modulation signal needs to be converted first, e.g. an osc is internally always linear and needs some exp/lin conversion of the pitch input signal. In some modules this is done by the calculation of a certain formula, in other modules by using a lookup tabel with values (and interpolate in the table if necessary). Tables have a fixed length and won't accept signals outside a certain modulation range that is fixed by the table length. Formulas can have intermediate calculation results that are outside a certain range, and so can set some limit to a modulation range as well. And on some modulation inputs the signals can be used straight away, so there is basically no range limit to the modulation input signal.
Now the pitch modulation input can basically modulate four types of scales, the scales that are set by the scale type button next to the coarse pitch knob. In the future there might be even more types of scales implemented, e.g. a Werckmeister scale. The limit on the modulation range might have to do with this, I don't know. Anyway, it might be the case that there is the eternal dilemma that facilitating for one option might put a limit to another option. Which means that on any system there must be compromises. The common sense is not to go for super elegant solutions, but rather use the 'when it works, it works' approach. Sometimes it might turn out to be elegant and other times not. Still, when it works, it works. In the end it all depends on how much time one wants to spend on improving the elegance of an already working solution.