The PVG Experience
A new type of plumbing? It is for MIDI enthusiasts!
PVG stands for Programmable Variation Generator.
It was created by Emile Tobenfeld, AKA Dr T
(see right). It only resides inside Dr T's KCS
(Keyboard Controlled Sequencer) as an editing
tool. Since its beginnings in 1987, the PVG
is still one of the most remarkable advances
in MIDI programming yet to seen in even our
modern age of digital audio workstations.
What is PVG?
PVG is an enormously capable musical instrument,
and is arguably the most powerful composition
system ever seen on this planet." - from
the PVG manual by Jim Aikin.
What PVG allows
you to do is create variations of your music
from a number of screens in many ways to alter,
change and even create new music from your input.
(a former Dr T employee) gives us an excellent
overview of the whole PVG system:
be an extraordinary tool as it stood but new
heights were reached with the introduction of
the Programmable Variations Generator and its
close companion, the Master Editor. It is this
author's opinion that the PVG represents one
of the finest achievements ever in the field
of MIDI music. It would, perhaps, be appropriate
at this point to review what it does. Whilst
many sequencers have facilities for Boolean
editing, for example scanning a track for notes
between C4 and C5 and adding notes that are
one octave above to each note found, the PVG
goes far beyond this. Not only is it capable
of some sophisticated editing of existing data,
it can also generate variations on this data
and do so either completely deterministically
or at random with the user having full control
of the degree of indeterminism. Variations can
be programmed to be Consecutive (give me 16
variations on this theme using the original
as the basis for each) or Evolving (give me
16 variations on this theme basing each variation
on the preceding one) - The PVG consists of
ten pages of functions (over 500 of them) divided
into a series of logical groups - these are:
The introduction of new elements (via random
or deterministic selection)
Size and weight plus direction
Statistical control of changes
Size and weight but NOT direction
The rearrangement of existing data in a
sequence, or between two sequences using
- Set Values:
The selection of data at random that can
be mapped to any set value. Any configuration
of data is possible.
1: Provides transposition, inversion, erasure
2: Maps specified data to set values
An extension of the Global Protection function,
it permits important characteristics of
a sequence, particularly interval patterns,
to be defined as a protection "template"
and the varied material split from the original
to form new material
The addition of adjacent or simultaneous
data with up to 18 different additions available
at one transformation
- Add Controllers:
Similar to Ornaments. Used to add controller,
program, aftertouch and pitch bend data
Controllers: Similar to Changes. Used to
vary controller, program, aftertouch and
pitch bend data
Up to 16 of the above presets can be combined
to operate simultaneously or sequentially
on a sequence. Control over each preset's
range and direction of reading
function appears if PVG is called from Open
Mode - In-Betweens, which permits two sequences
to be "morphed" from one to the other.
In addition, the Master Editor provides functions
that don't easily fit into PVG's environment.
Of particular note is the Pitch Map - select
any pitch on any channel and map it to a new
pitch and/or channel: this can also be done
What the PVG
does for the composer is to allow them to create
their own tools that can be made to emulate
virtually any conceivable compositional or pre/post-production
MIDI editing process. For example, much composition
requires "pre-processing", the manipulation
of existing material via the user's own criteria
to form new material - counterpoint is a good
example of this. Practically any "rule"
for extracting thematic material can be created
or otherwise mimicked in the PVG: the musical
devices of counterpoint, such as inversion,
rotation, augmentation, diminution and reflection,
can be programmed and applied to any aspect
of the music - other compositional procedures
are just as easily created. The PVG can also
be used as an "ideas" generator: in
short, KCS is a tremendous grab-bag of customizable
tools suitable for both top-down and bottom-up
composition and editing.
has also contributed to the usefulness of PVG
with his PVG files that actually allow you to
do microtonal music! Please see the link section
to his site for more information on PVG and
KCS in general as well as the amazing world
of microtonal music.
What started all of this was
a program produced in 1986 by DR T's Software
called, "Algorithmic Composer" for
the Commodore 64 platform. It was used by Jan
Hammer in his Miami Vice scores. After that,
Emile Tobenfeld (Dr T) and Jim Johnson (who
co-wrote Algorithmic Composer) scratched their
beards and came up with variations of the program
called Fingers (Tobenfeld) and Tunesmith (Johnson).
At this time the Atari ST was out in full force
in the music field. KCS was progressing on several
platforms, not the least the Atari platform.
But Emile Tobenfeld wanted more and created
a complete algorithmic and deterministic environment
inside his KCS (level II) system. This was PVG
(Programmable Variation Generator). Tunesmith
and Fingers could also be used at the same time
inside KCS with the MPE multi-tasking environment.
For example, you could make variations of Tunesmith
sequences with PVG.
The Dr speaks
are Emile Tobenfeld's thoughts and views
and February of 1987, I took a "vacation"
from working on the ST KCS, and implemented
many of the features found in the Changes and
Swap/Copy screens of the PVG. I found the program
fascinating to use, and made some interesting
music. I found that I could be almost hypnotized
by a series of evolving variations that a simple
preset could generate from a simple line of
maybe a dozen notes, and even more fascinated
if I played two or three sets of such variations
slightly out of phase with each other. As I
made additions to the PVG, the nature of the
program changed somewhat. It was originally
intended as a tool to allow these changes to
evolve over time. Although the user had very
precise control over the kinds of changes to
be made, the process was essentially random
in nature. As I added features like global changes
and macros, it became possible to use the program
to do quite complex things that were completely
determined. These can either create variations
on a piece or just be editing operations. The
PVG in fact provides a very powerful editing
environment with a number of useful orchestration
tools as well.
part of my approach to designing and coding
the PVG has been the desire to make things as
general as possible. If I let you do something
to the pitch of a note, I am likely to let you
do the same thing to its velocity, duration,
timing, MIDI channel, perhaps all at once. Likewise,
in addition to allowing you to change, set,
copy or swap parameter values, I also allow
you to do things like rotate and time-reverse.
This leads to a program with many screens, and
more possibilities than one can absorb in a
few hours or even days. Fortunately, the program
is organized so that you can usually ignore
those features that you do not want to use.
Using the PVG I suggest that you bite off this
program in small chunks, trying a few features
here and there and seeing where they take you
musically, then trying some more, etc. If you
need to do something specific to a piece, search
through the screens and the manual to see if
there is a feature that will do the job. As
you use the program, you should get a better
picture of the kinds of things it can do, and
how its various parts fit together. The PVG
and Master Editor can be used in a number of
different ways. You can use them strictly as
editing tools to put together a preconceived
piece of music as rapidly and accurately as
possible. You can use them as a grab-bag of
tools, available to be applied to a musical
phrase any time you are so moved by whim or
inspiration. They can also be explored as a
source of music in themselves.
It is now possible to run this
amazing editing tool on a PC using the free
Atari emulator called Steem. There are many
users who use KCS as their main sequencing environment
for MIDI and drive soft-synths all on the same
PC. For more information on Steem, please see
my Steem page on TAMW for information and installation
instructions (see link section).
in PVG tutorial
- Double click
on LEVEL2.PRG. KCS loads. The track screen
is presented. Record five measures or so
of music on one track (click on Record,
play your MIDI keyboard, then click on Stop)
- At the bottom
of the screen, click on Edit. The main edit
screen comes up with an event list and several
editing options. You will also see a track
selector at the bottom of the screen. Make
sure track 1 is selected (or whatever track
you recorded on in step 1).
by Constant screen.
on the PVG option. The Change by Constant
- In the general
options section enter 51 for changes per
vary and 3 variations. This will ensure
that PVG will do something once you start
entering some parameters. Now unselect "Consecutive
Mults" so that only "Evolving
Mults" is highlighted.
- Now let's
create some changes: Notice that you have
several rows/fields to create changes: pitch,
velocity, duration, time, shift, and interval.
By entering an amount (AMT) and weight (WGT)
you can effect changes in your sequence.
- Let's try
this: on the pitch row, enter 10 for AMT
and 5 for WGT. Scroll with the arrow keys
to Velocity. Enter 12 for AMT and WGT of
7. Scroll to Interval and enter 5 (a 5th)
with a WGT of 7. For this experiment, click
on OK at the bottom of the screen. You will
see the dialog "working".
- You are
back to the event editing screen. You should
see three new tracks in the track display
(bottom of screen)
- Click on
the "Play Screen" selection (or
hit [F1]). You are taken back to the Track
Play View. The newly created tracks
will be called VARY1 and will be muted (MV).
Unmute the first VARY1 track by clicking
on it (clicking it again mutes it).
- Hit the
space bar or select Play. The sequence plays
the original track along with the PVG processed
track. You should hear variations in the
- Muting then
unmuting the next VARY1 track will let you
audition the other evolving tracks compared
to the original track. The last track will
have the greatest variation.
- Try muting
the original track so all you hear is the
PVG processed track(s).
- If you do
not like what PVG has done, you can go to the
menu under Track function and select Erase
track. Then click on the offending track and
answer yes to the prompt.
- Go back into
Edit. Click on your original track, select
PVG. Now select Clear and the previous operations
(the WGTS) will be cleared. Let's try another
screen. Click on Swap/copy on the PVG menu.
The Swap/copy screen appears. On the pitch row,
enter 5 for swap, 5 for ADJ, and 5 for copy
with a WGT of 10. Click OK.
- You are back
to the editing screen. Hit [F1] or Play Screen
as before. Audition your new VRY tracks. You
will hear variations and harmonies against the
- So this is
the general concept. Put in amounts (AMT) and
weights (WGT), click on OK and audition your
tracks. Throw out what you don't like. Try going
into other screens to see what they do. The
full manual is available so you can look up
functions. Try out some of the preset VRY
files (Randy Roos) by selecting Load, then Get.
There are some good presets for the ornaments
section such as stick bounce effects (sounds
great on drum tracks), drum fills, variations... There is also the Macros screen, which
is worth looking into. Experimentation is the
key. You can store your own presets in your
own file by using the Save command from the
Let's just say
you have started a piece in Cubase and saved
it as a MIDI file. It is possible to bring that
piece into PVG for processing. Here is how you
When the main
screen of KCS comes up, select the Edit button,
which brings you into edit mode (with the list
editor present). From here, go to file and select
"LOAD MID FILE". Select your MIDI file for importing.
The file loads. I have found that if you try
to do this in the main KCS track screen, it
does not always work, but works every time this
way (go figure). Once the MIDI file is in KCS
and you see it displayed in the list editor,
select a track you want processed with the PVG
(the track numbers are at the bottom of the
screen) then select the PVG button. You are
taken into the first screen of PVG and can perform
your PVG processing from there. Sometimes I
will create variations of several tracks. Then
go into "TIGER". Change the MIDI channels that
the variations are on, and assign new sounds
Creating an algorithmic
The amazing thing
about KCS is the ability for it to load many
programs (that were designed to work together)
and share the same data streams. This is called
the MPE (Multi Programming Environment), it
means you can set up a complete algorithmic
compositional system by adding Fingers (now
MIDIAxe) and Tunesmith to load up at the same
time as KCS (as they are MPE modules). This
means whatever data you generate in Tunesmith
or Fingers/MIDIax will be recorded as a KCS
sequence which you can alter more by bringing
the results in PVG for further processing. This
presents a staggering system, which will keep
even the most advanced MIDI user occupied for
a long time! The key is in editing the KCS.INF
file (with a text editor) to include the paths
of the other MPE modules INF files. At boot-up,
KCS will read the KCS.INF and load up the other
modules. It is quite something to advance from
screen to screen, clicking as you go. What a
Today, Dr T has
agreed to a shareware version that now includes
KCS version 4 Level II with PVG and Master Editor
along with Tiger, Quick Score and Song Edit.
Many example PVG files are also included. The
with registration is the KCS version 5 manual in
electronic form (Microsoft Word). Please note that
the manual is for version 5 and will have the
additional features of version 5 covered. It
can still be used for version 4 with good results.
Send US funds
15 Frances Road
Once you have
sent the funds, contact Dr T via his e-mail (below).
Once he receives the funds, he will e-mail you
the manual. The manual is over 300 pages.
To upgrade to
version 5.11 which includes many more MPE modules,
Emile Tobenfeld. Please read the documents supplied
in the archive KCS4.ZIP for more details on version
Tobenfeld, Ph. D. firstname.lastname@example.org
version 4 with PVG
Note: For floppy-only systems you may need to put the folders
in this archive on a separate disk. For hard
drive users, simply unzip to your hard drive
with ST ZIP, or copy the files over from disk.
you like the software, please pay the reasonable
shareware fee and get the manual!
- PVG documents in text
OCR and formatting to
text by Atari MIDI member,