Tuning the Pipe
Waveguide models tend to go
flat, especially when playing higher notes.
The Yamaha VL1 compensated for this by having a piecewise-linear tuning
table. Certain notes could be tuned, and
the instrument would interpolate the remaining notes.
We can do this on the G2,
also. The SeqCtr module is ideal for the
purpose. It’s a 16-stage table, where an
input signal (the Ctr input) determines which stage is being addressed. Sliders control the output level at each
stage. The patch below uses two SeqCtr
modules to tune the pipe at every fourth note between C2 and C7. One is used for coarse tuning (by semitone),
and the other is used for fine tuning (+/- ½ semitone). This matches the 5-octave range of a typical
organ keyboard.
Notice that the keyboard
pitch is used to address the SeqCtr tables.
Then, the output of the SeqCtrs table are summed and used to adjust the
pitch of the delay line.
The keyboard pitch needs to
be adjusted so that the bottom note being tuned has the value 0 (to address
stage 1 on the SeqCtrs). In this
example, the desired range is from C2 to C7.
Since C2 has a note number of -28 (remember that on a G2, the E4 key is
note number 0), we’ll begin by adding 28 to the keyboard pitch.
So, when we press C2, we can
adjust the pipe’s pitch by moving slider #1 on the SeqCtr modules. The coarse-tuning SeqCtr adjusts up and down
by semitone. The output of the fine-tuning
SeqCtr is attenuated, and adjusts up or down a total of ½ semitone.
What about other notes? A SeqCtr module moves to the next stage when
the Ctr input is increased by 4. This
means that when we press E2 (four notes above C2), we can adjust the pipe’s
pitch by moving slider #2 on the SeqCtr modules.
What about D2, halfway
between C2 and E2? If we set the XFade
controls to 100%, pressing D2 (or C#2 or D#2) will properly average the outputs
of sliders #1 and #2.
What is the range of this
technique? With 16 steps in the module,
addressed every four notes, the range turns out to be exactly five
octaves. But which five octaves? That depends on our starting note. In this example, we chose C2. For a bass instrument, C1 might be a better
choice, and can be accomplished by adding 40 to the keyboard’s pitch instead of
28.
If we choose C2 as the
bottom note, the table below shows which keys line up with the SeqCtr tuning
sliders:
Key |
SeqCtr Stage |
C2 |
1 |
E2 |
2 |
G#2 |
3 |
C3 |
4 |
E3 |
5 |
G#3 |
6 |
C4 |
7 |
E4 |
8 |
G#4 |
9 |
C5 |
10 |
E5 |
11 |
G#5 |
12 |
C6 |
13 |
E6 |
14 |
G#6 |
15 |
C7 |
16 |
Tuning Every Single Note
Sometimes, it may not be
good enough to tune every fourth note.
So, what can be done when every
single note in an instrument’s range needs to be tuned? Can this be done using the same
technique? Yes, but it requires more
work. The patch below tunes every
individual note between B1 and G#6, and contains both coarse- and fine-tuning
controls for each note.
Fortunately, it’s not hard
to figure out which slider goes with which key.
Each SeqCtr module has a light above slider. Notice that as you play up the keyboard, the
lights follow the note you’re playing.
This patch uses the same
basic technique as the top one. But
notice that between the SeqCtrs, steps 1 and 16 aren’t used. This is because SeqCtrs can’t be programmed
to interpolate from one to another. When
they’re addressed outside of their range, they simply “park”, which sets their
outputs to zero.
So when interpolating
between modules, such as from C#3 to D3, what happens? The C#3 slider, step 15 on the left-most
SeqCtr, interpolates to step 16, which is zero.
The D3 slider, step 2 on the next SeqCtr, interpolates from step 1,
which is zero. Since the outputs of both
SeqCtrs are summed together, the net effect is a proper interpolation between
notes. It works, but it means that we
only get 14 or 15 notes out of a SeqCtr, instead of the full 16.
It’s an ugly solution, isn’t
it? Let’s petition Clavia for a 64-step
SeqCtr module, or a way to draw a curve on a screen.
Fortunately, the top tuning
method is usually sufficient.