MIDI Master Drummer
By David Snow
Released as Freeware June,2000
MIDI Master Drummer is a graphic rhythm editor
and sequencer. Similear to Robobop,
however with many more features.
It runs in color or monochrome on all Atari
ST/STE/TT/Falcon030 systems. If you have a color ST system, you
must use medium resolution; for Falcon030 VGA you must be in an
80-column video mode. Assuming that you already have your computer
hooked up to your MIDI rig, double-click on MMD_2_5.PRG to start
the program (make sure that the MMD_2_5.PRG and MMD_2_5.RSC files
are in the same folder). If the optional MMD_HELP.TXT file is also
in the same directory, it will be loaded at startup, giving you
access to online help during your work session.
Master Drummer is divided into three parts: Pattern mode,
where patterns are composed; Phrase mode, where the patterns are
linked together into musical phrases; and Song mode, where phases
are linked together into song parts and song parts are sequenced
into a complete song. You can select the mode you need from the
Edit menu.
It also has random creation of patterns making for some interesting algorithmic
possabilities.You can save what you do as standard midi files for exporting to
a sequncer program for use in a larger composition.
David has also made available the Source Code for those that would like to develop the program further.See below for the download
MIDI Square
By David Snow
Released as Freeware June,2000
MIDISquare is a mouse-oriented MIDI synth controller for Atari computers. It has been tested on a 1040ST and a Falcon, so I expect it to work on all the ST's cousins, and it runs in any resolution except ST LOW.
Assuming you already have your synth hooked up to your computer, you play the synth by left-clicking the mouse and dragging it over the square grid on the screen. Each little square in the grid plays a different four-note chord: a horizontal note along with a user-selected harmony interval, and a vertical note along with a user-selected harmony interval. Pitches are derived from a user-selected diatonic (i.e. modal, not chromatic) scale that runs low to high horizontally from left to right, and low to high vertically from top to bottom. Notes are played only when the left mouse button is depressed. Everything you play can be captured and saved as a MIDI file for editing and playback using a conventional software sequencer.
On-screen controls:
MIDI MODE
In "Poly" (polyphonic) mode, all four notes are played on the same
MIDI channel. In "Mono" (monophonic) mode, each note is played on a
different MIDI channel so you can assign a different patch to each
note in the chord.
MIDI CHANNEL
To select a MIDI channel, click on the up and down arrows in the MIDI
CHANNEL box. In Mono mode, the four MIDI channels used are
numerically consecutive (that is, if you select MIDI channel 10, the
notes will play back on channels 10, 11, 12 and 13).
DIATONIC SCALE
Pitches are selected from a 7-note scale. Each "white-key" note (C, D,
E, F, G, A, and B) can be selected sharp, natural, or flat. Besides
conventional 7-note modes, it is possible to construct pentatonic
scales by selecting enharmonic notes (example: C, D, E, Fb [which is
enharmonic with E], G, A, and B# [which is enharmonic with C]). It is
also possible to construct non-diatonic scales with chromatic clusters
(example: C, D#, E, F, Gb, A#, B).
DIATONIC INTERVAL
The intervals of the horizontal and vertical harmony notes are
selected by clicking on the up and down arrows in the DIATONIC
INTERVAL box. The numbers represent diatonic, not chromatic
intervals: a "+1" means that the harmony note will be next higher note
in the user-selected diatonic scale, a "+2" means the second higher
note, and so on.
TRANSPOSITION
With TRANSPOSITION set at "0," the notes played will be exactly those
indicated in the DIATONIC SCALE box. Higher and lower numbers cause
the notes to be transposed chromatically (example: with a diatonic
scale of C, D, E, F, G, A, and B, along with a transposition value of
"1," the notes played will be C#, D#, E#, F#, G#, A#, and B#).
TEMPO and UNIT
The speed at which notes are played is determined by the TEMPO (beats
per minute) and UNIT (subdivsion of each beat) parameters. A UNIT
value of "1" means a note will play once on every beat (quarter note);
a value of "2" means a note plays twice per beat (eighth note); a "3"
means three notes per beat (triplet-eighth), and "4," "6," and "8"
mean sixteenth, triplet-sixteenth, and thirtysecond notes,
respectively. Notes are only played when the mouse is moving over the
grid with the left button held.
VELOCITY
To change the velocity (loudness) of the notes, press the right button
while moving the mouse over the grid (this can be done simultaneously
while pressing the left button). There are two user-selectable
velocity patterns:
VELOCITY "A"
The velocity of the two horizontal notes goes from soft to
loud moving left to right, and the velocity of the two
vertical notes goes from soft to loud moving top to bottom.
VELOCITY "B"
The velocity of the two horizontal notes goes from loud to
soft moving left to right, and the velocity of the two
vertical notes goes from loud to soft moving top to bottom.
Note-velocity is changed only when the mouse is moving over the grid with the right button held.
MIDI FILE RECORDING
Clicking on the START button records all note output in a Standard
MIDI file. Click on STOP to save the file.
MIDI Square is very similear to Laurie Spiegels "Music Mouse" in that it uses the computer and mouse as a controller.
Last year, David Snow released his Atari Midi programs to the Atari community. A certain Edgar Aichinger took the BASIC code and produced a version in C that can be used as a Desk ACC as well as improved dialogs and windows. It is now on the Atari-Midi archives. Midi Square is an alternate Mouse controller that turns the atari computer into a versitle music instrument.
Link:
MUSIC BOX
By David Snow
Released as Freeware June,2000
Algorithmic composition software for the Atari ST (monochrome only)
This is an enhanced version of a do-it-yourself software project that
appeared in the March 1989 issue of Electronic Musician magazine. MIDI
Music Box is an algorithmic composition program that can be best
described as a four-track sequencer that generates its own tracks. In
the original bare-bones version, user interaction was minimal:
pressing "G" on the computer keyboard would cause the program to
generate four monophonic tracks on MIDI channels 1, 2, 3 and 4;
pressing the "P" key would play the tracks; and pressing the "T" key
would allow you to change the playback tempo. The tracks were
generated from rhythmic source patterns that were strung together in
random order; pitches were chosen randomly from a source set. Since
the source rhythms and pitches were coded into the program, you had to
mess around with the BASIC listing if your wanted to alter them. I
wrote this version to allow one to more easily change the rhythms and
pitches, and also to add functions to modify the generated tracks.
Although it's more user-friendly than the original, it's not exactly
"intuitive" to operate, so here are brief instructions:
1. Hook the MIDI output of your ST to a 4-channel multitimbral synth
(or four single-channel synths) which is set to receive MIDI data on
channels 1, 2, 3 and 4. Hook the MIDI out of the synth (or a
keyboard controller) to the ST's MIDI input.
2. Run the program (duh).
3. Before you can make music, you need to program Music Box with
rhythms and pitches:
a. Click on the EDIT RHYTHMS button.
b. You'll see a dialog box with 8 four-note rhythm patterns.
The default patterns are all quarter notes, which is very,
very boring. To change a note value in a rhythm pattern,
left-click on the note until you get a value you want; you can
also change any note into a rest. If you want to make a
rhythm pattern that is shorter than four notes, click on a
note until it changes into the "END" icon; the pattern will
only play the notes before it. If you want fewer than 8 rhythm
patterns, change the first note in any pattern into the "END"
icon; it will be skipped when the tracks are generated.
c. You can save the set of rhythms by clicking on the SAVE
button, and reload them later by clicking on the LOAD button
(double-duh). When you're finished editing rhythms, click on
the QUIT button.
d. Click on the ENTER PITCHES button.
e. Enter pitches using your MIDI keyboard or controller.
Note-entry will automatically end if you enter 12 notes. If
you want to enter fewer than 12 notes in your pitch set, quit
by pressing the "Esc" key on the computer. The pitches are
displayed on a piano-style grand staff as you enter them.
4. Along the left side of the screen are ten Function Buttons that
create or modify the 4 tracks, which are designated A, B, C and D. To
make a Function Button affect the desired track, select the A, B, C or
D button before clicking the Function Button. To wit:
RHYTHM: Randomly fill the designated track with patterns from
the EDIT RHYTHMS dialog.
PITCH: Assign pitches from the ENTER PITCHES dialog to the
randomly created rhythm track.
COPY FROM/COPY TO: Clone one track to another.
TRANSPOSE: Raise or lower the pitch of a selected track by the
value indicated in the "Transpose value" edit field; a
negative number lowers pitch.
COMPRESS: Divide the rhythm/duration values in a selected
track by the factor in the "Compress ratio" edit field.
EXPAND: Multiply the rhythm/duration values in a selected
track by the factor in the "Expand ratio" edit field.BR>
SHIFT: Delay the start of a selected track by the value
indicated in the "Shift value" edit field. A value of "24"
equals one beat. Do the math.
INVERT: Turn the pitch intervals in a selected track upside
down.
REVERSE: Reverse the order notes in a track.
Whenever you click on a Function Button, you change all the notes in
the selected track; there is no "Undo" function.
The PLAY button does what it says; select playback tracks using the A,
B, C and D buttons.
The AUTO-GENERATE button generates all 4 tracks and starts playback
immediately. The MIDI FILE button saves the tracks in SMF format.
Neat trick: Edit rhythms and enter pitches as described above, and
generate the "A" track by clicking on the RHYTHM and PITCH Function
Buttons. Copy track A to tracks B, C and D with the COPY FROM/COPY TO
function. Enter a value of "96" in the "Shift value" edit field.
Select the "B" button next to the SHIFT Function Button, then click
the SHIFT button. Select the "C" button next to the SHIFT Function
Button, then click the SHIFT button TWICE. Select the "D" button next
to the SHIFT Function Button, then click the SHIFT button THREE TIMES.
Now play the four tracks: instant 4-part canon.
______________________________________________________
NEW PROGRAMS AVAILABLE FROM DAVID SNOW: SEPTEMBER 2000
_______________________________________________________
Phraser, an interactive real-time MIDI file generator for the Atari ST/TT/Falcon family of computers
by David Snow
Released as Freeware SEPTEMBER 2000
Instant psuedo-12-tone composition is here! Hook up a MIDI keyboard to your ST's MIDI output and double-click on PHRASER.PRG. At the first prompt, enter a tempo (beats per minute) value. At the second prompt, enter a beat-subdivision value (2=eighth notes, 3=eighth note triplets, 4=sixteenth notes, etc.). Start playing single notes on the MIDI keyboard. Phraser responds by creating random phrases triggered by the notes you play. Note density is controlled by how loudly you play. To quit, press the Esc key. You can save the performance as a MIDI file, or click on "Cancel" in the file selector to discard it.
----------------------------------------------------------------
NEW WAVE
A MIDI Sound Design Tool for the Falcon030
by David Snow
Released as Freeware SEPTEMBER 2000
New Wave is a GEM application that allows you to create original
16-bit sound files using a powerful technique called "additive
synthesis". New Wave samples can be downloaded to any sampler or
sample-player that supports the MIDI Sample Dump standard, and also be
saved to disk in Sound Designer format. Even if you don't don't own a
sampler, you can still audition the samples you create.
A little theory...
It's beyond the scope of this manual to delve deeply into the
science of acoustics, but some background is necessary to understand
how New Wave works.
Sound is energy produced by a physical medium vibrating at a rate
called its "frequency". The higher the frequency, the higher the
pitch of the sound. When a trumpet or a violin plays the note "A"
above middle C, the frequency of air vibration is 440 cycles per
second (or 440 Hertz).
The tonal quality that distinguishes the sound of a trumpet from
a violin (or from a power saw, for that matter) is called its
"timbre". Several elements combine to create that psycho-acoustic
effect; one of the most important of these is the presence of
"partials", which are low-amplitude frequencies superimposed upon the
basic or "fundamental" frequency. For pitched instruments like violin
and trumpet, the ratios of the frequencies of partials to that of the
fundamental is usually an integer: the first partial is twice the
frequency of the fundamental (2:1), the next is three times the
frequency of the fundamental (3:1), the next four times (4:1), and so
on. The amplitude of these paritals is so low that you don't hear
them as separate notes; instead, they blend with and color the
fundamental so you hear only its pitch. Different instruments
accentuate different partials; a clarinet timbre, for example, is
composed predominantly of partials with odd-integer ratios: 3:1, 5:1,
7:1, etc. For unpitched instruments like drums and cymbals, there is
no fundamental frequency per se, and the partials may all be of nearly
equal amplitude in non- integer (fractional) ratios to each other.
Another parameter that gives a sound its character is its
"amplitude envelope", or the manner in which it changes in loudness
over time. Percussive instruments have a virtually instantaneous
"attack", followed by a sloping release into silence. By contrast,
brass instruments have slower attack (slower on a scale of
milliseconds, that is) which peaks and quickly decays to a steady
state ("sustain"), then releases when the player stops blowing. In
reality, each partial in a complex acoustic sound has its own
amplitude envelope contributing to the overall loudness contour. The
frequency of a partial can also change over time (although in acoustic
instruments it usually deviates only by a small fraction). This
frequency curve is called a "pitch envelope".
The logic of "additive synthesis" is to build sounds from the
bottom up by adding partials together. In order to create
interesting, dynamic timbres it's necessary to provide a sufficiently
large number of partials for tonal variety, and to equip each with its
own frequency ratio, and amplitude and pitch envelopes.
Using New Wave
New Wave offers three methods for creating sounds. The first
method, "Single partial editing", is available on the Partial Editing
Page which is the first screen you see. On the top half of the screen
is the Amplitude Envelope window, and on the bottom half, the Pitch
Envelope window. To draw an envelope in either window, click and drag
the mouse: left-clicking and dragging allows you to free-draw the
envelope, while clicking both buttons and dragging lets you stretch a
straight line from the starting point.
New Wave permits you create envelopes for a maximum of 24
partials. To select a partial for editing, select "Partial #" under
the Edit menu and type in the number of the partial you want. You can
also select partials by using the up and down cursor keys on the
computer keyboard.
Each partial has a frequency ratio and waveform assigned to it.
To change these parameters, select "Waveform" or "Ratio" from the Edit
menu. By default, each partial is a sine wave with a frequency ratio
equal to its partial number (i.e. the second partial has a ratio of
2:1, the third 3:1, etc.).
Under the Edit menu you'll find options for manipulating
amplitude and pitch envelopes. "Copy" lets you copy the envelope of
the currently selected partial to other partials. "Swap" exchanges
the envelope of the current partial with that of another. "Shift"
moves the envelope up or down by a positive or negative offset value;
"Scale" modifies the slope of the envelope by multiplying it by a
factor of 0% to 200%. "Invert" flips the envelope upside down, while
"Reverse" flips it backward. Finally, "Reset" restores the envelope
to its zero-state.
You can perform these edit options on either amplitude or pitch
envelopes. Make sure the proper window is selected before executing
an edit option, or you'll alter the wrong envelopes. To select a
window, click on it, or click on "Amplitude" or "Pitch" under the Edit
menu. With "Pitch envelope" selected, you can also define the maximum
span of pitch deviation by clicking on "Pitch span" under the Edit
menu.
You can view all envelopes simultaneously by clicking on "All
partials" under the "Display" menu; the currently selected partial
will be drawn in a heavy line. You can't manually draw envelopes in
this display mode, but all options under the Edit menu are available.
"All partials" will display either amplitude or pitch envelopes,
depending upon which edit mode you're in. Click on "Amplitude" or
"Pitch" under the Edit menu to change edit mode.
Once you have created envelopes, you must define the parameters
of the sample that you wish to generate. Click on "Set pitch" under
the Sample menu: a 5-octave keyboard will appear. Left-clicking on a
key sets the pitch of the sample accordingly and displays the
frequency of the note. Right clicking closes the keyboard.
Next, select "Parameters" under the Sample menu. The top edit
field displays the frequency of the pitch you just entered (which you
can also enter directly). Enter the desired duration of the sample in
the middle edit field, and the sampling rate in the bottom field. New
Wave samples can be a maximum of 64K 16-bit words long; the maximum
duration of a sample therefore equals 65536 divided by the sampling
rate.
Once parameters are set, click on "Calculate" under the Sample
menu. To view the waveforms of the generated sample, select "Wave
display" under the Display menu. You can also view the waves
sequentially by selecting "Wave sequence"; pressing the Control key
halts the sequence for viewing. To hear the sample, select "Audition"
under the Sample menu.
To dump the sample to a synth, make sure MIDI IN and OUT cables
are properly connected between computer and sampler. If the sampler
is set to receive dumps on a particular MIDI channel, set New Wave
accordingly by selecting "Channel" under the MIDI menu. Now click on
"Sample dump" dump under the MIDI menu. You can abort a dump at any
time by hitting a key on the computer. If your sampler doesn't have a
keyboard, you can play it directly from the computer by selecting
"Keyboard" under the MIDI menu and clicking on its keys.
To save a sample to disk, select "Save sample" under the File
menu. You can also save and load parameter files containing envelope,
waveform, ratio, pitch, duration, and sample rate information by
selecting "Save parameters" and "Load parameters" under the File menu.
(Note: In 1993, I made the unfortunate decision to give New Wave
parameter files a ".WAV" extension. Sorry about that. This program
was developed before I had heard of Microsoft WAV-format audio files.)
You can selectively re-initialize envelopes, waveforms, and
frequency ratios by selecting "Reset all" under the Edit menu. Click
on the buttons representing the parameters you wish to reset, then
click on "OK".
A Slice of Time
The second method of generating samples is called "Timeslice
editing". Instead of editing one partial at a time (with each
envelope representing the entire duration of the sample), you can edit
all the partials at discrete points in time.
Select "Timeslice" under the Display menu. At the top of the
screen is a series of buttons that represent 32 equally-spaced time
segments (i.e. for a 1 second sample, each button would represent 1/32
of a second). At the bottom of the screen are 24 "volume control
sliders", each representing the amplitude of a partial at the selected
point in time; click and drag each slider to the desired amplitude
level. After editing the partials in a timeslice, click on the MARK
button. To select a new timeslice to edit, click on a button under
"AMPLITUDE ENVELOPE BREAKPOINTS"; to copy the slider positions of one
timeslice to another, press the Control key while clicking on one of
the buttons.
Once you've edited and MARKed at least two timeslices, you can
connect the points between them into a continuous envelope by clicking
on the SLICE 'N' DICE button. You can then view the new envelopes by
selecting "All partials" under the Display menu. To generate a
sample, you must set the pitch, duration, and sampling rate as before
and select "Calculate" under the Sample menu.
Only timeslices that are MARKed will be treated as breakpoints in
newly-created envelopes when you execute SLICE 'N' DICE. To remove a
MARK from a timeslice, click on the UNMARK button.
And for the sample-impaired...
The final method of generating samples is also the easiest, since the program does most of the work. Select "QuikWave" from the Edit menu. Depending upon whether you're in amplitude or pitch envelope edit mode, a dialog box will offer several options that determine the shape and intensity of the envelopes you wish to create. A second dialog will ask for the range of envelopes to be generated. After generating the envelopes, you must set sample parameters as before and then generate the sample.
Hints
You can do lots of wild things with New Wave, and some will be ugly. Let experience be your guide. As a general rule, avoid drawing amplitude envelopes with steep slopes; a sudden shift in amplitude in the middle of a sine wave will cause a harsh-sounding glitch. You might want to refer to books on the acoustic properties of musical instruments to get an idea of how partials influence timbre. From there you can go on to experiment with irrational frequency ratios, sawtooth partials, and other debris from the sound-desingers lab.
____________________________________________________
DOWNLOADS