3. Oscillators

3.1. OSC 1

Of course a Sine isn't enough what we want. We need a switchable triangle, saw, pulse. It would be nice if we'd have a seperate Macro for this.

Open a New Macro (Insert Macro > _New - Emtpy) and give it the name OSC 1.

Add the Oscillators, 2 Input Port Terminals (one for P(itch) and on for A(mplitude)), name them A and P. And add 1 Out Port Terminal.

Don't forget a switch (Insert Module > Panel > Switch). Change the Switch Properties "Min Num Port Groups" from 1 to 3 because you have to connect the 3 Oscillators to it. Give the Switch the label "Waveform" and name its inputs.

Connect the P and A terminal to the P and A inputs of the Oscillators. You should now have something like this for the OSC 1 Macro Structure:

Figure 2. Oscillator 1 Macro Structure

Oscillator 1 Macro Structure

Replace the Sine.. with the new OSC 1 Macro. Now go the [Ensemble - Panel] and there you have your basic OSC 1.

Figure 3. OSC 1 in Panel

OSC 1 in Panel

Note: if you don't see the buttons show up in the Panel, go to the OSC 1 Marco properties to make sure that "Visible" is enabled (and optionally Line Frame).

Tip: you can do it now or later.. Add a Pulse Width Modulation knob. Do this by right clicking on the "W" of the Pulse oscillator and select "Create Control".

3.2. OSC 2

Oscillator 2 of the Nord Lead is almost the same as OSC 1, but it has noise as a 4th waveform, semitones control, fine tuning, and keyboard tracking on/off features.

Duplicate OSC 1, name it OSC 2, and go into the Macro. Add a Noise Oscillator (Insert Module > Oscillator > Noise) and add a Noise input on the Switch. Connect the wires. That's it for the waveform generators.

But now, how to handle the pitch? It is controlled by the user playing a note, a semitone setting, and the fine tune. This can be done by using the "Add" module from the Math sect1. Go ahead and (Insert Module > Math > Add). Add an extra input to that module like you did with the Switch for selecting the waveforms (properties, Min num port groups).

Connect the P to the first input of the Add module, and create 2 controls for the other inputs. This will be the semitones an pitch, so give them some name you and a synthesizer would like. Now... beware, the range of those controls must be changed: the Semitones is a range from -60 till 60 (in 120 steps), and the fine tune goes from -1 till 1 (in 100 steps). Fix this.

Now that we are in this part, why not implement the keyboard tracking: put a switch between the P terminal and the input on the Adder. But something odd jumps in again. We want to have a static pitch when the KBD Track button is disabled, but the pitch jumps some octaves down. We need a range from 0 - 127 at the pitch input for the actual Oscillator, but we have value 60 from the note input and a 60 from the Semitones parameter. This gives 120, way to high. This can be solved by substracting 60 from the NotePitch value before the Switch. Or what are the keyboard values actually in NotePitch.. is the z on a Qwerty value 48? Just experiment with it and you will see. The original Nord Lead doesn't have a range from 0 - 127 but from -60 till 60 (or even 72 but this will do), so for the Semitones parameter we must add the value wich we substracted first.

I've chosen these settings

Semitones: min -64, max 64, default 0, 128 steps
Fine Tune: min -1, max 1, default 0, 200 steps

Figure 4. OSC 2 - Structure example

OSC 2 - Structure example

Just make sure the Pitch for OSC 2 is in balance when you dis- or enable KBD Track.