Simulating Finger Shifts and
Glissandi
Tutorial
home
Finger shifts and glissandi are common features in music
written for bowed strings, and it would be nice to include those features in
our model.
Glissandi
A glissando is a smooth change in pitch from one note to
another. In a monophonic patch, slurs
are usually implemented using portamento.
Once again, our string model is polyphonic, so that technique can’t be
used.
What we desire is this:
- Some
buttons on the G2 front panel that will trigger a slur to another note
when they’re pressed.
- The
amount of the slur, in semitones, to be specified by the knob above each
button.
- An additional
knob that specifies the speed, or time, of the slur.
- Once
a button has been pressed, and the slur performed, we want to be able to
release the button without the
pitch returning to the original note.
To accomplish this, we’ll use a logic module called a
“set-reset flip-flop”. It’s a mouthful,
but the module isn’t very complicated.
It has two inputs, labeled “Set” and “Reset”, and an output. When a logic pulse appears at the Set input,
the output goes high. When the Set input
falls back to zero, the output remains high, until a pulse appears at the Reset
input. So, it’s basically a kind of
latch, where the Set input latches the output high, and the Reset input latches
the output low.
The patch is below.
We have four slur buttons, each one with its own
programmable interval. There’s a glide
module that controls the speed of the slur.
Once again, the audio portion of the patch has been simplified down to
the bare minimum.
How does it work?
It’s not as complicated as it looks. Nevertheless, there are some little tricks in
there, so we’ll go through it step by step.
- A
slur is triggered by pressing a momentary pushbutton on one of the four
Constant modules, at the top of the patch.
The value assigned to the knob is the amount of the pitch change
that’s sent to the oscillator. The
fourth button, for example, will slur up
12 semitones. All four buttons are
summed together for simplicity.
- This
change in pitch travels downward to the “Latch & Glide” section. This section does two things: it contains a glide module that
specifies the speed of the slur, and it contains a sample/hold latch. This latch is important, as it prevents
the slur from falling back to the original pitch after the button is
released.
- The
three sections on the left, “Button Pulse”, “Logic Stuff”, and “Keyboard
Pulse”, are all part of a circuit that controls the speed of the
slur. It makes sure that the slur
doesn’t fall back to the original pitch after the button is released. Also, it immediately resets the pitch
change to zero when the note is first started.
Step by step
When the musician presses a note on the keyboard:
- In
the “Keyboard Pulse” section, the gate signal goes high. This gate is converted to a short pulse by
the Kbd Pulse modules.
- This
pulse is used to reset the flip-flop.
The output of the flip-flop goes low. This turns off the VCA, setting any
previous pitch change to zero. It
also turns off the Glide module, so the pitch change to zero is immediate.
- So
now, any previous pitch change due to a pre-existing slur has been
immediately forced to zero.
When the musician presses the top-most Slur pushbutton, with
a value of -2:
- This
value of -2 goes to the S&H latch, but proceeds no further, since the
latch hasn’t been triggered.
- This
value of -2 goes to the “Button Pulse” section. Here, it gets rectified to a +2, and
then turned into a short pulse.
- This
short pulse goes to the “Logic Stuff” section. Here, the pulse is delayed by a very
short time, and then triggers the S&H latch. This lets the original -2 signal proceed
to the VCA. The delay is so that we
know that the -2 signal has reached the S&H latch before the pulse
does.
- This
short pulse also turns on the flip-flop.
The flip-flop’s output enables the glide in the Glide module. It also turns on the VCA, after a tiny
delay, so that the -2 signal proceeds to the Glide module. The reason for the tiny delay is so that
we know that the Glide is enabled before the -2 signal reaches it.
- The
output of the Glide module sweeps from 0 to -2. This is applied to the oscillator’s
pitch input, so that the pitch slurs down 2 semitones.
When the musician releases the top-most Slur pushbutton,
transmitting a value of zero:
- This
value of 0 goes to the S&H latch, but proceeds no further, since the
latch hasn’t been triggered.
- This
value of 0 goes to the “Button Pulse” section. It proceeds no further, since a value of
zero doesn’t trigger the pulse module.
- Since
the S&H latch doesn’t get triggered, its output remains at -2. So, releasing the button has no effect
on the oscillator’s pitch.