The Conduct program allows you to tap a tempo to conduct a multi-channel MIDI sequence. The beats that you conduct are entered as one of the MIDI channels in the sequence. If you want to beat just quarter notes throughout the piece, you simply create one channel consisting of quarter notes on, say, middle C. This channel, called the ``solo'' channel is used only to match against incoming conducting input, and is not sent to MIDI Out with the rest of the sequence. You can also use the space bar to conduct.
To run the program, you can simply type
conduct filenameConduct expects a MIDI file unless a
.gio
extension is provided indicating
an Adagio format file. A .mid
extension is added automatically
if filename is not found.
Once the file is loaded, the following options are
available:
b
b
again.a
While playing, either ``+
'' or ``=
'' makes the sequence go faster, and
``-
'' makes the tempo slower. It only makes sense to use these keys when
you are in a section that is not conducted.
Typing SPACE (i.e. the space-bar) is equivalent to playing a C4 on a MIDI keyboard. If the conducting channel puts all the beats on C4, then you can conduct the whole piece with a space bar. (Hint: pick up the keyboard and play it like a musical instrument!)
Typing ESC will send out an all-notes-off message on every channel. This is for emergencies when a note gets stuck on. To my knowledge, there are no bugs in Conduct that would cause this, but synthesizers do sometimes get overloaded and drop messages.
You do not have to reload the score to start again - just stop the score
by typing ``z
'', and restart by typing RETURN
(or maybe b
RETURN RETURN
to restart at someplace other than the beginning).
Although I have described this as a conducting program, it is actually an early version of an accompaniment system that can follow the performance of any music, not just a conductor's taps. The current system expects the solo part to be monophonic, and it requires that you play each note in the solo part. (The score-matching software is very simple. It looks in the score for the next note to be played and waits for it. Anything other than the next expected note is ignored.) You can put in polyphonic solo parts, but the matcher only looks for the first note that matches anything in the chord and then moves on to the next chord.
Some of the things you might want to try, but which might not be obvious are:
There are lots of command-line options to set parameters. The syntax for a command line is
conduct file -switch1 value1 -switch2 value2 ...or
conduct ?to get a listing of the switches and a little documentation. The file is assumed to have a
.mid
extension if you don't give one.
The switches are the following:
solo
channel-verbose
-pat
cs-acc
number-pull
number-fast
number-ignore
number-race
number-block
-miditrace
-noalloff
-trace
-tune
filename-inport
number-outport
number-debug
-moxc
-print
There are a few things that can be controlled by placing special MIDI messages in the score. These messages are note-on's with pitch 0 and low velocity numbers on any channel. No message is sent when these notes are encountered, and any corresponding note-off is ignored:
The first two special messages allow you to turn MIDI input on and off; when off, input does not affect the tempo. It is a good idea to bracket areas where there is no conducting with these messages so that if an extra beat is tapped the program will not race ahead to the next anticipated beat. The place to put these enable and disable messages is midway between beats to make sure the matching is definitely enabled or disabled on the beat.