
KEYS! Manual  By Jeffrey Reid Baker

Chapter 1  -  Introduction To Version 1.44  
Thank you for purchasing Keys!.  Whether a beginner or a seasoned professional, Keys! should provide hours of enjoyment in what I consider to be the most enjoyable of pastimes - making music.   
Why Keys!
    Keys! is the product of wishful thinking.  It started out as a simple step time utility for Dr. T's Keyboard Controlled Sequencer(KCS) and Midi Recording Studio(MRS) where an ST and the Keys! program are all that would be necessary to create music files suitable for playback on either the computer monitor speaker or a M.I.D.I. instrument.  However, little by little, this utility grew to be a full fledged program.  In Version 1.25, the Auto-
Composer was the only 'added attraction'.  Now, in Version 1.44, there are no less than 4 'added attractions',  all of which represent responses to 'user input' concerning Version 1.25.  The Auto-Composer II is complete revision of the original program and is far more powerful and flexible than before.  A Real-Time Record module has been included (with metronome), and a complete program for tempo mapping called the Tempo Master has been provided.  The tempo program is the first  of its type (at least to my knowledge) and lets you add 'the feel' to your sequences.  As before, all of the files created can be interfaced with Dr. T's complete line of Atari ST products.  Keys! is written entirely in GFA Basic.

What is step time?

Step time is a recording environment where events are carefully
recorded in 'pre-defined time steps'.  Time itself is really not actively involved as it is in 'real time'.  Its like the difference between (1) filming a movie with 'live' actors (Real time) and (2) animating a movie with cartoon characters (Step time).  The animation is done carefully 'frame by frame'.   How long or short a time it takes to do a frame is insignificant.  Once the frames are put on a reel and shown on a projector in real time, it all looks very real indeed.  Keys! lets you 'animate' with notes.  You can carefully place notes where you want them, and then, Voila!, when you play them back in real time, you sound like the greatest instrumentalist alive.

Overview

Keys! creates music files compatible with the most powerful and sophisticated music programs available today.  With Keys!, all you need in order to create these files is an ATARI ST and the Keys! program.  The actual recording can be accomplished with the mouse alone.  No MIDI synthesizer is necessary (though heartily recommended).  All aspects of note data input are under mouse control quickly and efficiently - pitch, velocity, midi channel, duration, and polyphony (chords).
When a note is recorded, it is also notated on a grand staff (G and F clefs).  All files can be played back over the computer monitor speaker therefore eliminating the need for an external keyboard.  Of course, the monitor speaker is only capable of 3 note polyphony.  The program supports up to 8 note polyphony, how
ever, with M.I.D.I.   The rest of the main program is  "icing on the cake" including features for editing, repeating, playing, naming, saving, loading, notating and printing the file.
Keys! is the perfect program for the beginner as he or she does not need a keyboard synthesizer and thousands of dollars worth of musical equipment to start dabbling in the world of computerized music.  In addition, Keys! contains features that can help a student of music to become a better note and chord reader.  For the professional, Keys! offers a 'friendly'  and powerful environment for step time data entry with the mouse or favorite MIDI keyboard controller.
This, in a 'nutshell', is what Keys! is all about.  I hope you have as much fun using it as I have had writing it.         
How to use this manual

The first thing to do when you first insert the program disk into your disk drive and open the FILE A directory by double Lclicking, is to open the README.DOC file should there be one.  Select 'SHOW' if you do not have a printer ready and waiting.  Lclick in 'PRINT' if you do.  This file will contain any last minute changes and up dates that were made to the program.
The manual has been written with a beginner both to this program and music in mind.  Examples are given frequently.  Professional and advanced users may have to bear with the manual's repetitive nature.  
The manual has 7 chapters.  I suggest you read them in order the first time through.  Herein is a brief description of each. 
Chapter I   Keys! Introduction

This chapter which you are now reading is intended to give general introductory remarks about the nature and original intention of  the Keys! program.  The most important topic discussed is 'Data Entry'.  Make sure you totally understand how to answer prompts quickly and accurately as the program uses prompts and alert boxes heavily.   Other topics are: MIDI Connections, Setting Up, and Abbreviations used in the manual.

Chapter 2   Keys! Tutorial

This chapter guides you through the 'creation of a music file   step by step'.  All the concepts involving recording, playing, editing, and notating files are covered as you record a very familiar song.  All aspects of the step time program are covered but not in depth.  That's the job of Chapter 3.  By the end of Chapter 2, you should be pretty comfortable on your own with an occasional glance at the Help screens.

Chapter 3   Around the Keys! Main Screen

This chapter provides an in depth look at each feature contained in the program with many examples of their use and application.  Even though this chapter is intended more for reference, I highly recommend you read it and try each feature a few times.   This chapter will thoroughly answer any questions you had in Chapter 2.

Chapter 4,5,6   Real-Time Record/Tempo Master/Auto Composer II

These chapters cover each of the additional programs in Keys!
These other programs are really stand alone programs that simply share their files with the Keys! program.  
Chapter 7   Applications

This chapter is intended to show you some things that can be done with Keys! that you may not think of right away - things that I found in the course of writing the program.  Some of them are necessary, some are very practical, others very impractical, but all worth a try, and that's why they are here.

The rest of the manual is comprised of a table of contents, an index, and some appendices I thought might be handy (especially for the beginner).


The MIDI Connection

If you can afford a MIDI keyboard, get one.  The monitor speaker wears out its welcome very quickly and you will soon want to create music of a more sensitive nature.  Keep in mind that Keys! records MIDI velocity when making such a purchase.  In order to connect a MIDI keyboard to the ST, simply obtain 2 MIDI cables (be careful of 'look a likes') and connect MIDI out on the ST to MIDI in on the keyboard (or 'module') and MIDI out on the keyboard to MIDI in on the ST.  This is why you bought an ST.  It's that simple!  For those of you with two keyboards (or keyboard and module), go to the MIDI in on the secondary synth from the MIDI thru on the primary synth.  If neither keyboard has a MIDI thru, you will need to get a MIDI Thru Box (i.e. TB-1 from Casio, MJC8 from Yamaha, etc.).  Unless otherwise directed in this manual, set your keyboard to receive and transmit on midi channel 1.

Abbreviations used in this manual
                      Lclick              - press and release the left mouse button.
Rclick              - press and release the right mouse button.
Lhold (Rhold)       - press and hold left (right) mouse button.
Lrelease (Rrelease) - release the left (right) mouse button.
[     ]             - type the key indicated in the brackets.
{     }             - designated note to record by name, octave, and midi number.
KCS                 - Keyboard Controlled Sequencer
MRS                 - Midi Recording Studio


Loading the program
 To load Keys!, insert the program disk, label side up, in your disk drive.  If using a color monitor, make sure you are in Medium resolution.   If using a 520ST, make sure there are no accessories in memory.   Double click on the A file icon on the GEM desktop to view the directory of the Keys! program disk.  Next, double click on the icon labeled 'KEYSV144.PRG'.  The screen will show a blank desktop with KEYSV144.PRG as a title written across the TOP.  About 30 seconds later the TITLE PAGE of Keys! will appear at which time 'Now Loading Graphic Data' will appear in the box at the lower right hand corner.  Type any key when prompted to do so and the Keys! main screen will appear.  G.E.M.

If you don't feel comfortable working on the GEM desktop or manipulating the mouse, please refer to the ST's Owners Manual where you will find these topics covered in great detail.  You shouldn't try to work with any programs until you have a good working knowledge of the computers operating system in general, although, goodness knows, we all try.

Data entry

Beside the data associated with recording notes, Keys! will often ask for the user to input text data or numeric data.  (If you don't see '** RECORD MODE **' directly above the keyboard, hit the [ESC] a few times until you do. )

There are four types of data entry used in Keys!.  They are:
 <1> Prompting type
   When you are being prompted, the note box will change to look like this and you will see a number (or letters) sitting on a dashed line after the prompt in the dialog area. (i.e. 64_) like so. The cursor will be over the first of these numbers.  To change the number, just type the new value (or name).  If you need to edit, use the [Backspace] key or Lclick on the character you want to change.  The [Space Bar] will create an (_) underscore if used.  Note that if you have a '6_2' or '062' in the prompt it would be entered as a value of '62'.  If you wish to cancel the operation, use either the [Esc] or [Undo] keys.  To enter the value, either type [Return/Enter] or Rclick.  If you choose a value that lies outside of the legal limits, an alert box will warn you and let you try again.  Lclick 'Ok' and the original prompt and value will appear for you to start again.  On the main screen, this type of prompt always appears in the Dialog Box.  On the Midi Record Page, watch the 'Info Line>'.  On the Tempo Master Page, watch the 'Prompt Line>'.  On the Auto Composer Page, the box containing 'Generate Events' becomes the 'Prompt>' line.  On the Midi Utilities Page and Text Page, the prompts are clearly marked with the cursor.

<2> Item Selector type 
Item Selectors are supplied by GEM whenever there is disk drive access.  You may only use letters (automatically capitalized), numbers, and the underscore(_) symbol when entering names into these boxes.
 <3> Selected / Non-Selected type  
There are some features that have an 'On/Off' status indicated by normal/inverse video.  'Inverse video' is always an 'On' indication.

<4> Scrolling type 
In some cases values and settings are made by either (1) repeatedly Lclicking on the value which will 'increment' through all of the possible values or (2) Lclicking on "<<" or "<" to lower or ">>" OR ">" to raise the value in the center of these icons.  Details regarding data entry for specific values will be explained at the appropriate time.
 Menu Bars

The status shown in the menu bar is always the 'current status' of an item, never the alternative status.  The status of the 'play range' and 'external keyboard' is also shown in the status box to the right of the keyboard.

Set Up

I have found that having the keyboard to the left of the computer is optimum as the mouse and computer keyboard are under right (or both) hand control.  As for left handed piano playing, this is a step time program, so problems of coordination are not a consideration.  Those die hard 'south paws' out there who operate a mouse left handed may want to reverse this situation.  Of course, any set up is appropriate where comfort in working is attained.


Acknowledgements

A program is never the result of one persons resources and desires.  Keys! is no exception. 
Thanks to Debbie, Josh and Sarah, for their patience.  Mom and Gigi.  Richard Viard, Al Hospers, Emile Tobenfeld, and the gang at Dr. T's.  Bruce Carroll, Jim Johnson, Neil Burgett, Larry and Shelley Kraman, and Bob Curtis for their constant encouragement and input.



Keys! Tutorial

The fun is about to begin.  If the dialog area does not read 
                     ** Record Mode ** 
Directly above the screen keyboard, even after hitting [Esc] several times, remove the Keys! program disk from the drive, turn   off the computer, then re-insert the disk, turn on the computer  and re-boot Keys!.  Make sure that the volume is turned up on the computer monitor.  When the main screen appears, and you see

                     ** Record Mode ** 
You are ready to proceed with this chapter.

If during the tutorial you want to explore a particular feature in depth, please refer to the next chapter -  Around Keys!.   In addition, Appendix 1 at the end of the manual is called 'Screen
Areas in Keys!.  Refer to it if you can't find something referred to in the tutorial that you have extra questions about.

Let's go!

Move the mouse around the screen.  You will notice that when the mouse cursor is anywhere over the 'on-screen keyboard', the name (A, A#, Bb, B, C, C# , etc.), the octave (1, 0, 1, 2, etc.), and, the midi note number (0-127) of the corresponding key is shown in the Midi Note Indicator. For example, E4 (64).  This method of note designation is consistent with that used in the KCS and MRS.  In this system, middle C is C4 - the 4th 'C' from the left on an acoustic piano.  In addition, the 'Note Finder', a small rectangular box, will encompass the line or space on the grand staff which corresponds to the current piano key.  This way, if you are new to musical notation, finding 'which note' goes with 'what key' is made simple.  When the mouse cursor is over the black keys, the Note Finder will darken in the bottom half if the note to be written is 'flat(b)', and in the top half if it will be 'sharp(#)'.

Important Note

Lclicking on that portion of the white key that resides between the black keys will record the black key nearest to the right.  The upper half of the keyboard can only be used for recording black keys.

Recording (Single Notes with the Mouse)

Let's record something.  Move the mouse cursor over the middle C - the key with the 'C4' written on it.  (You should see C4 (60) written in the Midi Note Indicator.)  With the cursor in this position, hold down the left mouse button, then release it.  The note will sound over the monitor speaker or midi instrument (on channel #1) very briefly.  Congratulations! You've just recorded your first note with KEYS!.  Of course, there were a number of other screen changes which we will explore.  The grand staff now shows a middle C quarter note.  Above the note is the number '1' which represents the 'event number' and below it is the number '1' which indicates that this note is the '1st step' of the current measure.  Above the Midi Strip, you will notice that the Measure:Step(Event), which was initially 1:1(0), is now 1:25(1). This indicates we have recorded one(1) event and that the next note or chord will be recorded starting on the :25th step (2nd quarter beat) of the first(1:) measure.  In addition, you will see a bold number in the Velocity Box (directly above the keyboard) representing the midi velocity value of the 'C' just recorded.

Scrolling Velocities

One of the most powerful features of KEYS! is to change and manipulate midi velocities quickly and efficiently with just the 'click' of a mouse.  Here's how.  Put the mouse cursor over the note {D4/62} and Lhold (hold down the left mouse button) and do not let it up.  Move the mouse cursor up and down on the active (or lower) portion of the white key.  You will notice the values 'scrolling' in the Velocity Box directly above the middle of the screen keyboard.  To record a note with a given velocity, simply stop scrolling when you see the velocity that you desire and Lrelease.  Now record {D4/62} in the same way.

Selecting Midi Channels and Re-channelization

When you record notes for playback on a synthesizer, the 'current system midi channel' must be set.  When in Record Mode, Lclick in any of the boxes in the Midi Strip(#1-16) or type the number on the numeric keypad. (Typing [Help] will show you the proper keys to access the channels 10-16 with the numeric keys).  This setting also affects notes recorded with an external keyboard as KEYS! ignores the keyboard's 'midi channel transmit' setting while in Record Mode.  For this tutorial, make sure the Keys! system midi channel is set for #1 and that your midi instrument is set to receive on channel #1.
When you use the mouse or external keyboard to record with Keys!, a 'midi note on' command is sent out on the current system midi channel.  This will cause any instruments set to receive on that channel to play the note recorded (slightly delayed) and is called 're-channelization'.  If, when you are recording from a midi keyboard, your master keyboard starts 'clipping' sounds,  (a) set it to receive on a different channel while you record, (b) turn local control off, or (c) choose a different system midi channel with which to record.  This should eliminate the 'clipping'.

Screen Keyboard Velocity Range

When the program loads, the on-screen keyboard is set to record velocity values from 1 to 127.  To make the keyboard less sensitive, you can reset the high and low limits for the velocity.  Point the mouse cursor at the Settings menu, Lclick 'Lo Velocity' and answer '60' to the prompt. Pull down Settings menu once more, select 'Hi Velocity', and answer '80' to the prompt.  Now hold the left mouse button again and 'scroll' on the note {E4/64}.  The numbers scroll in increments of '1 unit' from 60 to 80.  Thus the keyboard is now much less sensitive and, ultimately, more practical for most recording situations.  Now Lrelease to record the {E4/64}.   Back Space Box '<<X'

Let's assume for a moment that we didn't want to record the {E4/64}, but instead wanted to record a chord with {C4/60} and {E4/64}.  We'll take this one problem at a time.  First, we must eliminate event #3.  When you want to delete the last note/chord recorded, just Lclick in the '<<X' box or type [Backspace].  Lclick in this box now and the grand	staff will quickly clear itself and the 2 events still remaining will be redrawn.  Note  that the Measure:step(event) Indicator has changed from 1:73(3) to 1:49(2) registering the deletion.  Now for the chord.

Recording Chords with the Mouse

I suggest you read this next paragraph before trying it. It's a little involved.  Of course, if you do make a mistake, just use the '<<X' feature and try again.
RHold and record the {C4/60} as before with	the left mouse button.  Feel free to scroll velocities.  While still holding the right button down,  record {E4/64}.  Two notes should appear VERTICALLY on the grand	staff.   Now, Rrelease and the Measure:Step(Event) will be updated to 1:73(4).  This is the process for creating chords with the mouse.  Chords can be stacked up to '8 notes' with Keys! making it '8-note polyphonic'. However, 3 note polyphony will be a necessary limit for those creating files to be played back on the monitor speaker.  In the 'Applications' section of this manual, you will be shown how rests can be used in chords in more advanced ways.

Using An External Keyboard to Record

To record using a midi keyboard, pull down the Options Menu and Lclick 'Extrnl Keybrd OFF' or type ['].  This will toggle the External Keyboard 'On' and the symbol 'KY' will appear in the Status Box on the right side of the screen.  Now, when you play a key your MIDI keyboard, the corresponding note will be recorded in the Keys! program as though you had used the mouse.  Chords can be created by holding the notes down as you play the chord.  Releasing a key ends the current chord.  To turn off the external keyboard feature, pull down the Options menu once again and Lclick 'Extrnl Keybrd ON', or, type ['] and '--' will replace 'KY' in the Status Box.

Playing the File Over the Monitor Speaker

Let's play what we have written and recorded thus far.  Pull down the Play menu and select Spkr w. plyr pno or type [x].  Assuming the volume is turned up on the monitor speaker, you will hear the file play. And, yes, the corresponding piano keys 'light up' as it plays.  Lclick on the Play menu again and select Spkr info and, as the file plays, the event numbers will scroll by.  This way you can identify a particular part or note by event number.

Playing the file Over a Midi Instrument

If you are using a MIDI synthesizer, select Midi w. plyr pno or type [z] and you will hear the file played with the Player Piano feature.  (Remember your synthesizer must be set to play on Midi Channel #1 with all volumes up.)   If you select 'Midi Info' instead, the event numbers will scroll as with the Speaker Play Option and, additionally, the current midi channels will be shown in the Dialog Box.  This is a very handy feature when you need to identify the channel(s) on which the file is playing.

Let's record one more note, {C4/60}, an easy one at that.  We've completed our 1st measure of music.  (Notice a bar	line was added.)  Play the file and see if you recognize the song.  No, Yes, Maybe!! Let's do a little more.

Screen Ranging and the Repeat Menu

Pull down the Edit Menu, and Lclick on Repeat Event Range.  We want to repeat from event #1 to event #5 once with no transposition.  To carry this out, Lclick in the 'FN' box and answer '5' to the prompt.  As the other settings are correct, Lclick in the 'RP' box at the far right to execute the repeat.  You will see the measure:step(event) up-dated to 3:1 (10) and the new events (6-10) written to the grand staff.  Now exit the repeat menu and play the file again with whatever option you desire.
 Setting a New Tempo

If you guessed "Are You Sleeping", you are correct.  I know it a little faster than 120 bpm.  Let's adjust the tempo. Select the Mode menu and Lclick 'Tempo Master Mode'.  You will be presented with a brand new screen - KEYS! Tempo Master.  Lclick several times in the box marked 'Midi' at the bottom left of this screen.  You will notice that it toggles from 'Midi' to 'Speaker' to 'Midi', etc.  Leave it set for the sound source you are using.  Place the mouse cursor over the '5' key on the 88-note keyboard and type [p] for play.  As soon as the file starts playing, Lclick on the '5' key.  You will notice that the file is playing a little faster(132 Beats per Minute or '132 bpm').  Assuming we like this speed, Lclick in the 'Initial Tempo-->' box and answer '132' to the prompt found at the bottom of the screen.  The box now reads 'Initial Tempo ---> 132'.  Type [Esc], which returns us to the main screen and play the file once more.  The tempo listed in the upper right hand corner of the screen now reads 'Tempo> 132'.  The Tempo Master sub-program is totally explained in Chapter 5 of this manual.

Notational Re-write

Whenever you return to the main screen, the music will be re-
written to the grand staff(from the last re-write event before we left the main	screen).  But where are events #1-5.  Don't worry, they are still there.  Lclick on the "<" of "<16>" in the Page Scrollers box mid-way down the far right hand side of the page.  This will turn the music back 16 notes/chords or, in this case, back to event #1.  An alternative way to re-notate from Event #1 is to type [Home].


Lclick on the Eighth Note Icon in the Note Box or type [8] on the computer keyboard (not the numeric keypad).  The eighth note in the Note Box now shows in inverse video indicating that it has been selected.  Now record the notes {G4/67}, {A4/69}, {F4/65}, and {F4/65} successively and, again, Lclick on the Quarter Note Icon and record {E4/64}, {D4/62}, and {C4/60}.  No doubt, you questioned the accuracy of some of these notes.  Don't worry.  There are some intentional mistakes to show you some of the editing features available to you.  You will hear these mistakes if you play the file.  The first mistake is that 2 measures have been left out.  We will address that problem shortly.  For now, let's correct the 'wrong' note.
  Single Note Editing 
Event #13 should have been a {G4/67} instead of a {F4/65}.  Select the Edit menu and Lclick on Single event edit and answer '13' to the prompt.  You will now be presented with the attributes of event #13. (The Note, Velocity, Duration, and Midi Channel).  Lclick in the box which reads Nt=65 and answer '67' to the prompt.  This will change the 'note number' of event #13 to {G4/67} and the file will be re-written to the clefs to reflect this change.  Now Lclick 'Ex'.  Playing the file will confirm the edit.  But we still have that 'extra' quarter note that just doesn't belong.  Let's deal with that now.

Deleting Events

Event #16 is a {D4/62} and doesn't belong in this part of the piece at all.  Since the Delete feature uses the 'play range' for its range, let's set the play range first.  This time let's use 'screen scrolling'.  Lhold slightly to the left of Event #16 and drag the 'rubber	band box' to the right so it only encloses event #16 and Lrelease.  If you make a mistake simply Rclick anywhere over the grand staff.  This will eliminate the highlighted range allowing you to try again.  Type [x] and you will hear event #16 only played over the monitor speaker as screen scrolling automatically sets a play	range and turns pit 'on' as is confirmed by the 'PR' in the Status Box.  Type [z] if you are using MIDI.  This explains why the Delete range is defined with the play range.  You can audition the delete range before executing the delete.  This is particularly important as deletions cannot be undone.  Now Lclick in the grand staff area to un-highlight the range, pull down the Edit menu and Lclick 'Delete Event Range'.  The alert box will identify events <16-16> as the delete range.  Lclick 'Yes' at this time.  (N.B. The play	range does not need to be turned 'on' for the delete feature to function).  The measure:step (event) strip will reflect the deletion by reading '4:1(16)'.  Type [Home] to re-notate the file from event #1 and play the file once more. You will see that it now sounds fine to this point except for the 2 missing measures.  Let's record those now.

Record the notes {E4/64} and {F4/65} as quarter notes.  Then Lclick on the Half Note Icon in the Note Box or type [2] on the computer keyboard (not the numeric keypad) and record the note {G4/67}.  This will complete one of the missing measures.  As the following measure is just a repeat of this measure,  select the Edit menu and Lclick Repeat Event Range. Lclick 'ST' and answer '17',  Lclick 'FN' and answer '19', and Lclick in the 'RP' box to execute the repeat.  The measure:step (event) strip will up-date to read 5:1 (22).  Event #17 through event #22 now need to be moved into the file following event #10.  Lclick 'Exit' in the Repeat menu.

Moving Events

To move an event range we must first define a play range as we did when deleting.  So, after Lclicking "<" of "<8>", screen scroll events '17' thru '22', then Rclick to un-highlight.  Now pull down the Edit Menu and Lclick on 'Move Event Range'.  Answer '10' to the prompt concerning the Insert Point and type [Return].  The file is re-written to the grand staff starting at event #10 - the 'insert point'.  Events '17 - '22' have been moved immediately after event '10' and if you play the file, our song should now sound correct to this point.

Copying Events

The 6th measure is the same as the 5th. So we'll copy events #17 through #22 after #22.  'Screen scroll' events '17' through '22' and Rclick to un-highlight.  Select the Edit menu, Lclick 'Copy Event Range', and answer '22' to the prompt.  All that's left to record now are measures 7 and 8.  Record the notes {C4(60)} and {G3(55)} as quarters and then {C4(60)} as a half note. By copying events '29' - '31' inserted at event '31', we will complete the recording of 'Are You Sleeping'.  Play the file once more.  Now, we should save this file.

Disk I/O (Input/Output)

Saving and Loading Files

Do not save data files on your program disks.  If you only have one drive, remove the program disk and insert a disk reserved for your data.  You should always keep several formatted disks for this purpose as you cannot format from within the Keys! program.  For those of you with more than one floppy disk drive, put the data disk in the B: drive and select the File Menu and Lclick on 'Drive:  A'.  Answer 'b' to the prompt to reset the current system drive is now the B: drive.  If you have a hard disk drive, answer c, d, e, or f to the prompt depending on which partition (C, D, E, or F) you want to access.  You can change the 'current system drive' at anytime with 'Drive:' in the File menu.

Naming a file

Before saving the file, let's give it a name.  Lclick on "Untitled" right above the midi strip and you will be prompted for a new name.  Type in the name 'RU_SLEEP' using the underscore (_) or [Space Bar] to create the space.  If you make a mistake, use the Backspace key or use mouse to re-position the cursor.  When you type [Return], the name you typed will appear in the title bar as all 'caps'.  This way its consistent with the restrictions of GEM Item Selectors in general.

Saving a .SEQ file

Select the FILE menu and Lclick 'Save .SEQ'.  When the Item Select box appears, the name 'RU_SLEEP' will already be present.  (If you hadn't previously named the file, it can be done here.)  Lclick in the 'OK' box and the file will be saved to disk with the extension .SEQ automatically added to the name.   As it saves, you will see the events numbers scroll by in the Dialog Box.  The extra event (#35) is the tempo event (132 bpm) placed at the beginning of the file.

Saving a .KEV file

What if we were going to do more work on the file and wanted to be able to recall all of the other settings such as the User Note/Rest, play range, etc. as they last appeared.  Is that possible?  Yes, it is.  Select the File menu and Lclick 'Save .KEV'.  ('.KEV' stands for Keys! EnVironment.)  Again, the file name is already supplied so Lclick on 'OK'.

Re-starting the Keys! Program

Now that 'RU_SLEEP' is safe on disk, let's clear the memory.  Select the File Menu and Lclick Re-Start.  Answer 'Ok' to the prompt.  'Re-initializing the system..." will appear briefly in the Dialog Box.  When the Record Mode reappears, the screen will look exactly as it did when you first loaded the program.  Let's now reload the files that we just saved.

Loading Files

Select the File Menu and Lclick on Load .SEQ.  Double Lclick on the name 'RU_SLEEP' in the Item Select box.  When the file is finished loading, the first part of the song will be re written to the grand	staff and the measure:step (event) will read 9:1(34).  The file name will be seen in the Title box above the midi strip. Select the File Menu, Lclick on Load .KEV, and double Lclick on the name 'RU_SLEEP' when it appears in the Item Select box. This will restore the old work environment to what it has been. Looking at the hi and lo velocities of '60' and '80' in the Settings menu will prove that the old environment has been restored.  Playing the file will verify the load.  This is how you handle Disk I/O with Keys!.  Of course, as most 'hackers' know only too well, it is a good idea to keep at least one 'back up' copy  of each file for obvious reasons.

Using the Chord Mask

Lclick on the 'C' in the Chord Mask Box, and then on 'Maj' in the Chord type box.  You will see little icons on some of the piano keys.  These mark the notes which constitute a C major chord.  In addition, the chord box has become a marker showing the C chord the way it would be symbolized in popular sheet music form.  Play the file.  While the Player Piano plays each new note, watch each note's relation to the chord mask.  Each note is either (1) a note in the chord or (2) a note not in the chord that subsequently goes 'by step' to a note in the chord commonly known as 'neighbor notes'.  This is a musician's way of showing that the song 'Are You Sleeping' is written around a 'C Major chord'.  As you can see, Keys! will be extremely helpful in learning about Chords.  Chords are the building blocks of musical theory.  The crafts of song writing, composing, arranging and even performing are far more within the reach of a person who possesses a thorough knowledge of chords.  Lclick in the 'Clear Mask' box to clear the icons.  The original Chord Box will again appear.

Auditioning or 'Playing without recording'

There may be times when you are writing 'by ear' and want to hear what you are going to record before you record it.  In other words, rehearse or audition.  Select the Mode Menu and Lclick 'Audition Mode'.  The Note Box is now filled with the title "Audition Mode' and the Dialog Box reads  "Play without recording".  Now Lhold over any key (as you did to record) and you will hear that note 'sound' until you Lrelease. (The duration is also dependant on the patch selected on the synthesizer). The Right Mouse Button acts as a 'sustain pedal' (meaning you can create chords) in Audition Mode.  Those with multi timbral synthesizers can change midi channels while Rholding thus making it possible to hear 'sectional' type voicings of various chord structures.  The polyphony maximum of this feature is only limited by the polyphony of the synthesizer(s) themselves.  Your synthesizer must be able to receive 'sustain controller information' (CC #64) to hear chords.  (CZ101's do not - most others do).   The Midi Strip and Chord Mask are both accessible from within Audition Mode.  (You can re-channnelize with a synthesizer from Audition Mode if that feature is turned 'On' from the Options Menu.)  Now return to Record Mode by Lclicking 'Exit Audition Mode' in the Mode Menu.

Record Duration

Personally, I don't care much if I hear the sound of a note while I' m recording it.  However, some of you might feel differently.  This is especially true when recording sounds with very slow attacks.  The duration of a recorded note depends on the Record Duration setting.  Select the Settings Menu and Lclick on Rcrd Durtn = 15.  Answer '99' to the prompt.  This represents the maximum Record Duration setting.  Now record a note and notice how the sound lasts for about 5 seconds.  A setting of '1' will make the note imperceptible in most cases, and a setting of '0' eliminates the delayed echo altogether.  (Remember that this is not the recorded time value.  The note is always recorded with the current system note value as shown in the Note Box.)  For now, reset the value to its default of '15'.

Hardcopy Option

Load the file 'RU_SLEEP.SEQ' once more.  Pull down the Options menu and Lclick Hardcopy [2 staff].  Answer '1' to the prompt and the screen will show 'two grand staffs' worth of the song.  This is the first step in obtaining Hardcopy with the Keys! program.  Please refer to the section called Print Screen Utility in Chapter 3 - Main Screen Tour for more information about using this feature.  For now, Lclick 'Exit' to return to the main screen.

The Tutorial is now over.


Keys! Main Screen Tour

The main screen of Keys! has a menu bar and a screen dedicated to the original purpose of Keys! which was to provide a powerful yet fun way to work in 'step time'.  As you read about each new  feature, I suggest that you 'test drive' it a little.  You will be more likely to remember it then.

The Menu Bar

Desk Menu (ATARI Symbol)

About Keys!

Lclicking here will return you to the Title Screen.  This will be important if you need to know the version number or date of the program for tech support, etc.  You will be returned to the Keys! main screen by typing any key.

Accessories

If you have any accessories in memory, you can access them from the Desk menu.  Just Lclick on the name of the accessory and you will be able to use it.  However, in the present edition of Keys!, the screen does not refresh itself when you exit the accessory. (An unfortunate omission in the GFA Basic V2.1 language).  You will be left with an empty 'hole' most likely.  To refresh the screen, enter either the Text or Midi Mode by typing [t] or [m], then exit back to Record Mode by typing [Esc].  (Accessories are NOT recommended for use with a 520ST.)

File Menu

Load .SEQ
Save .SEQ

Keys! loads and saves files in Dr. T sequence (or .SEQ) file format.  This way the files you create with Keys! are compatible with the most powerful sequencing  and notation software available anywhere today - the KCS, MRS, and Copyist.  Please refer to Chapter 7 - Applications -  for complete details on interfacing Keys! with these programs.  When you Lclick on either of these options, the familiar Item Select Box appears.  'UNTITLED' will be the default file name (when saving) unless you had previously named the file using the title bar.  When loading files a name is not suggested.  'Load .SEQ file' or 'Save .SEQ file' will appear in the Dialog Box to the right of the Item Select box to insure you are proceeding with the correct operation.  Once the proper name is selected, Lclick on 'OK' to Load/Save or Lclick 'Cancel' to abort the process.

.KYS type file conversion(Version 1.25)

Keys! no longer supports the .KYS type of file available in Version 1.25 of the program.  For those who have files in the  .KYS format, use the conversion program KY_TO_SQ.PRG found on the program disk to convert the .KYS type to the .SEQ type.  Just run the program, remove the disk, and insert a disk containing the file for conversion.  The conversion program will provide an Item Select Box.  Lclick on the file name to convert and the new .SEQ file will be written to the same disk.  Be sure there is enough room on the data disk for the new .SEQ file.

Load .KEV
Save .KEV

Use .KEV files to save/load a file's environment.  This includes color and black/white settings, user note/rest values, system midi channel, time signature, time value, velocity low/high range, play range, record duration, repeat menu parameters,  starting tempo and the text message from the text mode.  This way you can 'pick up' from where you left off when going back to work on a file.  A .KEV file should be loaded after a .SEQ file as loading a .SEQ file clears the file memory and resets all of the system defaults.  When you load the environment, the file will be rewritten to the clefs to reflect any change in time signature.  Please note that the play	range value will be shortened if it exceeds the event maximum of the file currently in memory upon loading.  Loading a .KEV file will in no way affect the events of a .SEQ file currently in memory.

Drive : A

Select this when you want to change the default drive.   You can select drives A through F.  The drive you choose will appear in the menu after the colon.  You will most likely want to set this for your 'data' drive.  File paths are supported by Keys! and the program will always return you to the last path used.

Disk Ops...

If you want to Delete a file from disk or Rename a file on disk, select Disk Ops... from the File Menu and answer the appropriate action in the alert box provided.
When you select Delete, you will be prompted to select a file in the item selector box provided.  When you do and select 'OK', an alert box will ask if you are sure you want this file deleted.  Answer appropriately and you will be returned to the main screen.
When you select Rename, you will be prompted to select a file in the item selector box provided.  When you do, select 'OK' and a new item selector will be provided asking for a new file to be typed in.  When you have (and please include the extension), you will be presented with an alert box asking if you want to rename the one file as the other.  Answer appropriately and you will be returned to the main screen.

Re-start

Lclick here to re-start the program.  All memory will be cleared, all settings defaulted, and you can start with 'a clean slate'.  A warning prompt is issued first.  This re-start does not change the parameter settings on either the Tempo-Master or Auto-Composer II pages.  In fact, the Auto-composer has its own Initialization routine.  An alternative to Re-Start is the 'Delete All' feature found in the Edit menu under Delete Events.  So remember, Re-start erases all events and reinstates all of the default parameters.  'Delete All' only erases the event data thus leaving everything else 'as is'.
 Quit

This will exit you from the Keys! program and return you to the GEM desktop.  Hopefully, you will remember to save your work to disk prior to selecting this option.  A warning prompt is issued.

THE MENU BAR

Mode

Audition Mode

Pulling down the Mode menu bar, and selecting Audition mode allows you to play notes without recording them.   In this mode, the mouse  plays the keyboard a little differently - Lhold=note on & Lrelease=note off. Therefore, you can play the screen keyboard in a 'one finger' piano style.   For those with synthesizers which respond to Sustain Pedal controllers, the right mouse button will function as such - Rhold=pedal on, Rrelease=pedal off.  The polyphony is only limited by the polyphonic maximum of each synthesizer involved.   The Octave Selectors, the Midi Strip and the Chord Mask, and Play options are all accessible from this mode.  If you are using more than one midi keyboard (or have a 'multi-timbral' type), the Options menu offers a 'Re-channelize feature which, if turned 'On', allows you to transmit on any channel as defined by the midi strip.

Real-Time Mode

(See: Chapter 4  for a full description of this sub-program)

Tempo-Master Mode

(See: Chapter 5  for a full description of this sub-program)

Auto Composer Mode

(See: Chapter 6  for a full description of this sub-program)


Text Mode

When you Lclick on Text Mode, a new screen will appear.

((( picture of text mode screen)))

Just type your message here.  You can use most of the immediate ST character set, the cursor can be re-positioned with the mouse at anytime and [Backspace] is implemented.  When you are done, Type [Return] or [Enter] if you want to keep the message or type [Esc] or [Undo] if you don't.  You will be returned to the main screen.  The text message is saved in a .KEV file.

Midi/Utility Mode

This mode (or page) is sort of a potpourri of things that I needed as the program got written.  None of them required their own page, so they all ended up here.  That is why its called the 'Utility' page.

Max. Events =

This lets you know how many events are possible to record or load with the system you are presently using.  On a 520ST you should get ~8000 events, ~40000 events on a 1040ST, and ~99989 events on as Mega2 or Mega4 computer.  For normal Keys! usage, 3000 events is a lot therefore memory should not pose a problem.

Midi Control:

	1)	~ Send All Notes Off ----- If, perchance, you get a 'stuck' note on one of your synthesizers, Lclick here and it/they should be turned off.  You may have to Lclick here more than once.  Notes stick if, while rechannelizing, you hold a key down and then change midi channels before you release the key.

	2)	Local Control On/Off-->  These allow you to set the Local Control status of your controller keyboard.  I recommend turning LC off.  When recording in step time from the main page, there is a slight delay as the note is recorded.  Setting LC off allows you to hear the delay only. This way you know all notes struck have been recorded and Keys! is now waiting for more.  Lclick 'Local Control Off', enter the channel of your controller keyboard, and type [Return].  Lclick 'Local Control On' and repeat the process to return control to the master keyboard.

        3) Omni Mode On/Off--> This allows you to make your synthesizer(s) receive all midi data sent to it regardless of midi channel.  It proves useful when using one synth to play files that involved more than one channel.

Of course, your synthesizer must be capable of receiving these various controller messages.  Check the Midi Implementation Chart that came with your synthesizer to see which kind of controllers it does receive.

Time/Date

As a programmer, I am a Time:Date fanatic.  All of my files on disk are 'stamped' with the date and time of their creation.  I'm not usually one to give advice, but your files should be stamped too.  To set the time/or/date just Lclick on either the time or date field then type 6/or/8 digits.  For example, type "16 04 15" (Marine Time) for 4:04:15 PM and type "05 09 1989" for May 5, 1989 (the ":" and '/' will be entered automatically by the program).  If you make a mistake just type 'Esc' and start again.  The clock does run in 2 sec intervals on the midi/utility screen.

Color Selector

This box allows color monitor users the chance to change (and save in a .KEV file) the Text, Desk, and Background colors.  Just enter 3 digits representing the Red, Green, Blue values in the r,g,b columns next to each selection (___) then type [Return] or Rclick.  The selection will be immediately reflected on the midi/utility screen.  If you accidentally set the colors so you can't see anything, just type 'C' and the original colors will be restored.  For those with monochrome monitors, the choice is between 'Black on White' and 'White on Black'.

Synthesizer Patch Selectors

This large box allows you to quickly change programs on any external synthesizers.  It will address any patches from 1 to 128.  Also, the columns are arranged in eights(notice the horizontal line), so if your synth features a 'Bank'-type approach, you can see the eight banks pretty easily.  Lclick the appropriate midi channel in the midi strip then Lclick on the patch number of your choice for #1-64, or Rhold and Lclick for #65-127.  The program and channel number sent is denoted above 'Synthesizer Patch Selectors' in reverse video.

RC>>[ON][OFF]

If you are transmitting from a controller keyboard, just Lclick the 'RC>>[ON](re-channelize)', and you can play the 'slave synth' from the controller while you change the programs.  I usually turn the 'local control off' on my controller.  In this mode, as in audition mode, all midi data is transmitted including program changes, continuous controllers, and pitch bend.


Play Menu

Midi Player Pno  z

Lclick or type [z] to hear the file played on a midi instrument. The player piano lets you see the notes C2-C7 played on the on-
screen keyboard.  As a file plays, the current Tempo is shown in the upper right hand corner of the screen in inverse video.  If tempo events have been recorded with the Tempo Master sub-program, they will be displayed as the file plays.  If the screen keyboard octave is not set to Middle C=C4, it will be reset while the file is playing.  When play is over, the previous octave setting will be automatically restored.  Rclicking will stop play.

Midi Info

This feature is identical to 'Midi Player Pno' except that the midi channels being played are displayed in the Dialog Box and the event #'s are scrolled in the Measure:Step(event) area.  The playing can be a little erratic however, so if you aren't trying to identify a particular event or midi channel, use 'Midi Player Pno' instead.  Rclicking will stop play.

Spkr Player Pno  x

Lclicking here or typing [x] plays the file on the monitor speaker but is otherwise identical to 'Midi Player Pno' (except that no midi channels are listed as they are insignificant to speaker operation).   Make sure the monitor speaker volume is turned up and remember the 3-note polyphonic limit.   Rclicking will stop play.

Spkr Info

This feature is identical to 'Midi Info' except that the midi channels being played are not displayed as they are extraneous to monitor speaker operation.  Rclicking will stop play.

Play Range On/Off

You will not always want to play back the entire file.  To play back just part of a file, pull down the Play Menu and Lclick on the Play Range OFF, thus toggling it to Play Range ON.  This change will be reflected in the status box on the right side of the screen which will now read 'PR'.  This indicates 'ON' status.  Pulling down the play menu will reconfirm this status.   (SEE: 'Settings Menu' for defining the Play Range).


Settings Menu

User Note/Rest Values

If you need a note value not available in the preset values, you will have to create one Lclicking on the 'User Note =' in the Settings menu.  When prompted for a new value, enter it then type [Return] or Rclick.  The new value will appear in the Settings menu until changed again or until the Re-start is implemented.  A whole note triplet (64 steps) is the user note default.  If you enter a value that exists, you will be informed and it will be automatically selected.

Implementing the new User Note Value

Lclick on NOTE in the Note Box or type [5] on the console (not numeric keypad).  When you record, Keys! will draw a note to the grand staff that comes closest to the new user note value.  If an unusually long note (such as 2 tied whole notes =192 steps) is recorded, a whole note will be written followed by an empty bar. The  empty bar indicates the time used up by the note. The tie will not be used as Keys! does not support them.  For an exceptionally long note (or rest) several empty bars may be drawn.

When you need to create a User Rest value, Lclick "User Rest =' in the settings menu and repeat the same process as for User Note. To record the new rest value, Lclick on the 'Rest' in the Note Box and the rest will be immediately recorded and written to the grand staff.  The 'F5' key on the computer keyboard can also be used to record a User Rest. The User Rest default is ('8' - a triplet eighth rest).

Play Range ( P.R. = 1 - 1 )

Lclick here to set the play range.  The first prompt will ask you for the 'start' of the play range.  Answer by typing in the new value and type [Return] or Rclick.  When prompted for the play range 'end', do the same.  Note that Keys! will automatically adjust the play range to include the first note of a starting chord and  the last note of an ending chord if you set it otherwise.  The play range is also used for the Move, Copy, and Delete ranges so that the events to be processed can be auditioned beforehand.  Remember to turn the play	range 'on' after setting it.  The play range is saved in a .KEV file.  However, if the play range start or end is greater than the current number of events in note memory, it will be readjusted.

Screen Scrolling a Play Range

If you Lclick (and Lhold) slightly to the left of an area on the grand staff, drag the 'rubber	band box' to the right to enclose the desired range, and Lrelease, the play	range will be instantly defined and turned 'on'. If you make a mistake simply Rclick anywhere over the grand staff and the highlighted range will be eliminated allowing you to try again. Rclicking while the range is highlighted also turns 'off' the play range.

Lo/Hi Velocity

Lclick on 'Lo Velocity' to set the low velocity limit of the on screen keyboard.  Lclick on 'Hi Velocity' to set the high velocity limit.  (You may have to lower the 'Lo' limit before lowering the 'Hi limit or vica-versa due to the prompt restrictions.)  Midi velocity values range from 1 to 127. 127 is the default setting.

Record Duration

The record duration is the amount of time a newly recorded note 'sounds' while recording with the mouse or midi keyboard in step-
time from the main screen.  The default setting of '15' is long enough for most purposes without sounding too long.  I personally set it at '1' so chords will be recorded quickly when inputting with an external midi keyboard.  However, longer values may be desirable particularly if you are using a sound with a slow attack rate.  The record duration range is 0 (no echo) to 99 (about 5 seconds).

Edit Menu

Single Event Edit

Lclick here if you want to change the note number, velocity, duration, or midi channel of a particular event.  After selecting the event you wish to edit, you will be provided with a mini-menu in the Dialog box.  Lclick on 'NT=' to change the note number, on 'VL=' for velocity, on 'DR=' for duration, or on 'MC=' for midi channel.  When rests are edited, the mini-menu will include the word 'REST' and the duration only.  When editing a duration, you will be told if the note is just a chord member (CH), or a note which will affect the timing of the file (TM!!).  When the note is a chord member, changing the duration will have no other effect.  However, if a note is marked with TM!!, its duration will also be the 'time to the next event'.  This will alter the rhythm of the file.  A 'Rest' is always a TM!! event.  Use '+' to choose a new event, '<<' to scroll backwards through the events, or '>>' to scroll forward.  Lclick on 'Ex' (for Exit) to return to Record Mode.  When you alter a pitch or duration, the file will be re-
written to the grand staff to show the change.

Copy   Event Range
Move   Event Range
Delete Event Range

When you Copy an event range, the original range is left untouched.  When you Move an event range, the original range is removed.  Other than this difference, all three features are implemented in the same way.  There are two restrictions:

(1) You cannot 'move' a range to an insert point within that range.   (2) There must be enough memory left to make a copy or move.

If you violate either case, you will be alerted by the program.

In order to copy, move or delete an event range:

1 - Set the Play Range from the 'Settings menu' or by 'screen scrolling'.  This is so you can audition the range before processing.

2 - Pull down the edit menu and Lclick 'Copy/Move/Delete Event Range'.

3 - (For Copy/Move only) Type the number of the 'Insert Point' - the number of the event you wish the copy (or move) to follow.  '0' means the beginning of the current file.

4 - Type [Return] and the operation will be executed. The file will be re-notated from the insert point so you can see if 'all is well'.  
'Delete All' Option

The Delete option also has a box named 'All'.  Lclicking in this box will delete the entire file.  This differs from 're-start' (File menu) in that it does not re-initialize all of the the other settings - the ones that provide the environment.  An alert is issued.

Repeat Event Range

From here, you can repeat any part of a file, with transposition (if desired), as many times as the memory maximum will allow. The repeat menu parameters are set and choices are made by Lclicking on the appropriate item and answering the prompt. The program will not let you (1) set a start event value greater than the final event value or (2) make a repeat that would exceed the system memory maximum.

The Repeat Menu consists of 6 options:

'St'  - The starting event # of the repeat range. This will be moved to include the first note in a chord, if necessary.

'Fn'  - The final event # of the repeat range. This will be moved to include the last note of a chord, if necessary.

'Tm'  - The number of times the range is to be repeated.

'Trn' - The number of half steps (+/- 24 maximum) that the event range should be transposed up or down.  If a note, after being transposed, would end up out of the midi note range of '1' to '127', you will be alerted and the repeat will be aborted.

'Exit' - Exits to the Record Mode.

'Rp'   - Lclicking here executes the repeat using the current settings. You will see 'Now Repeating - Please Wait' while the system executes the repeat.

Global Midi Change
Global Note Change

There are times that you will want to make a global change to either a given midi channel assignment or a given pitch (note value).  Let's say you wanted to change a snare drum (set to play on midi note 52) to a closed hi hat (midi note 57).  Lclick 'Global Note Change' and when prompted with 'Note number to change', answer '52'.  Then answer '57' to 'Change note number 52 to note # __' prompt.  This will change each note in the file which has a midi note number of '52' to '57'.

Changing a midi assignment requires the same steps. Lclicking on Global Midi Change and select first the channel that you wish to change and type [Return].  On the second prompt, select the 'channel to change to'.  This is of course useful for quick re- orchestrations if your working with multiple or multi-timbral synths.

Options Menu

Extrnl Keybrd (External Keyboard)

If you have a midi synthesizer connected to the midi ports on the ST, you can use it to record in both step or real-time (See: Real-
Time Record Mode).  When the 'Extrnl Keybrd' is toggled 'On', you can use the keyboard to enter note data in step-time.  When you play a note on the keyboard, Keys! responds as when recording with the mouse.  In other words, (1) the recorded note's velocity is shown in the velocity box, (2) the measure:step (event) is up-
dated, (3) the note recorded is written to the grand	staff, and (4) the note name/octave and midi number are displayed.  You can create chords by holding each key down until you have finished the chord (8 notes maximum).  Rests can be recorded as the last event in a chord with the mouse or the appropriate function key.  While the keyboard is 'on', you can still record with the mouse.  The octave setting of the keyboard does have an effect over the notes recorded from an external midi keyboard.  It will allow you to record notes outside of the range of the keyboard.  Even with a CZ101 (4 octave keyboard) you can record the entire midi range.  The keyboard 'on' status is shown in the Status Box as 'KY'.

Rest Filter

This feature allows you to 'hide' the rests that occur at the same time as chords.  In Keys!, rests are always written on the middle of the G-clef.  These rests can interfere with note data written to the G-clef.  When the Rest Filter is toggled 'On', these rests are not written, thus making the notes easier to read.  Rests that exist as single events are are always written.

Note Finder

When (1) the Note Finder is toggled 'On' (default), and (2) the keyboard is set with C4 at the center, and (3) the mouse cursor is over the screen keyboard, you will see a small rectangular box on the grand staff.  It will be encompass the line or space that corresponds to the piano key the mouse cursor is presently over and will appear dark in the bottom half if the note to be written is 'flat(b)', and dark in the top half if it will be 'sharp(#)'.  I felt that those of you who are really new to this 'music-thing' could use such a device to help to understand the relationship between the keys on the keyboard and the lines and spaces of the grand staff.  Shifting the keyboard octave will toggle the Note Finder 'Off'.

Write from Event #

Lclicking here (or typing '-') will prompt you for a starting event number for re-writing to the grand	staff.  Answer the prompt and type [Return].

Write From Meas #

Lclicking here (or typing '=') will prompt you for a starting measure number and will re-write to the grand	staff from that measure.  Answer the prompt and type [Return].

Hardcopy [2-Staff]

Keys! makes it possible to print 2 lines of music at a time to either a dot matrix or Atari Laser printer.  This is done in the form of a screen dump and is provided more as a means of obtaining hardcopy than for printing 'quality' scores.  (For those interested in high quality scoring, the Copyist from Dr. T's is available and Keys! files can be made fully compatible by using the 'SEQTOALL.PRG' conversion program found on the program disk.  In fact, as many as 8 '.SEQ' files that have been created as parts in Keys!, can be combined into one .ALL file and printed as a full score with the use of the Copyist.  (See: Chapter 7 - Applications).
When you Lclick on Hardcopy [2-staff], you will be prompted for a 'starting event number'.  Once it is entered, the notes will scroll across the screen and you will be left with two grand	staves on the screen and an alert box, 'Print' or 'Exit'.  'Exit' will put you back in Record Mode.  Choosing 'Print' offers yet another alert box which asks how many dots per line your printer supports.  Epson compatibles seem to like '960' dots per line.  Refer to your printer manual or just experiment to see which choice your printer likes best.  If you installed your printer with the control panel before loading Keys!, then Lclick in the box marked 'System'.  If, in any case, the program and your printer seem to be doing nothing, wait about 30 seconds and the program will automatically return to Record Mode.  Those with Atari Laser printers can print by Lclicking in any of the 3 boxes as long as the SDUMP.PRG (found on the 'Emulator' disk) is installed.  This should be done from the GEM desktop before loading the Keys! program.

Main Screen Items

Help Screen

The Help Screen is accessed at any time from the main screen by typing [Help].  It is intended to remind you of the various option computer keyboard commands.  Here is what it looks like.  Type any key or Rclick to exit the Help screen.

Note Box

The Note Box makes available all of the note and rest types (including	the 'user note' and 'user rest') for selection by the mouse.  These are displayed as notes.  If you are copying from printed sheet music, use the note that looks like the one you wish to copy.  If you cannot find an exact duplicate, refer to Appendix 3 - Note Equivalence.

Preset Note/Rest Values

When you Lclick on a note type in the note box, the note selected will be shown in inverse video.  That value will become the current system record value until it is changed.  The 'preset' note values include whole(96), half(48), quarter(24), eighth(12), sixteenth (6), thirty second(3), dotted whole(144), dotted half(72), dotted quarter(36), dotted eighth(18), dotted sixteenth(9), triplet half(32), triplet quarter(16), triplet eighth(8), triplet sixteenth(4), triplet thirty second(2).  (The numbers in parentheses represent the note's 'step' value.)  All of these note values are also accessible from the computer keyboard.  I have attempted to set it up in an intuitive way. The top row of numbers represent basic note values. 1=whole, 2=half, 3=thirty second, 4=quarter, 6=sixteenth, 8=eighth.  The next row down (starting with 'Q') represent the dotted note values.  Q=dotted whole, W=dotted half, (no dotted thirty second), R=dotted quarter, Y=dotted sixteenth, I=dotted eighth.  The next row down (starting with 'A') represent triplet note values.  A=triplet whole, S=triplet half, D=triplet thirty second, F=triplet quarter, H=triplet sixteenth, K=triplet eighth.  Please note that all the values for a given note are in one vertical line on the keyboard.  For example, 'F1'(Whole Rest), '1', 'Q', and 'A' are all versions of a WHOLE value.

When you Lclick on a rest value, that rest is immediately recorded into the file and notated on the G clef. The note with the corresponding value is then shown in inverse video.  (In other words, after a rest is written to the file, its value becomes the current systems 'record' value).  The preset rest values include whole, half, quarter, eighth, sixteenth, and thirty second.  To rests of dotted and tied values just use combinations of the available values.  If such a combination is not possible, create a User Rest as described below.  Rests can be written as the last event in a chord to control the 'time of next event'.  The program will allow no other notes to be recorded in a chord once a rest has been used.  If there are 8 notes in a chord, a rest cannot be added.
     You can also use the following function keys on the ST keyboard to record rests if you are in Record Mode.

 F1 = Whole    F2 = Half       F3 = Thirty second     F4 = Quarter
 F5 = User     F6 = Sixteenth  F8 = Eighth

Real Time Pitch
Real Time Velocity

Due to several requests, I have added two very nifty little features which make it possible to transpose either the pitch or velocity by increments of '1' before or during play. Just Lclick (or Lhold) in the upper(to raise) or lower(to lower) half of the 'p' or 'v' box and scroll the number shown to the desired value.  The pitch can be raised or lowered +/- 2 octaves (24 half	steps). The velocity +/-(99).  These are re-initialized to '0' with 'Re-
start'.

Measure:Step(Event) Indicator

This indicates (1) the measure and step on which the next note, chord or rest will start and (2) the current number of events in the file.  For example, if it were to read 2:25(4), you would be about to record in measure 2 on the 25th step (or 2nd quarter) and the total number of events thus far is '4'.  This indicator is immediately up dated whenever events are added to or deleted from the file.  When editing a single event, this area will display the event # involved and, when playing Midi/Spkr with the 'Info' option, this area will display the current event number being played.

Midi Note Indicator

When the cursor is over the screen keyboard, this indicator will identify the key directly under the mouse cursor with both the Midi Name and Midi Number() - i.e. C4 (60).

File Title

When you save or load a .SEQ file to or from disk, the name of that file is shown above the midi strip in inverse video.  However, you can create a name for your file at any time.   Lclicking on the title box, which defaults as 'Untitled', will prompt you for a file name of up to 8 characters.  Only letters, numbers, and the underscore character(_) are 'legal' for file names. When you are through, type [Return].  All letters will automatically appear in upper case.  When you go to save a .SEQ file, the name seen here will appear in the Item Selector as the default name which, of course, can be changed.

Midi Channel Strip

While in Record Mode, Lclicking on the numbers of this strip changes the current system midi channel.  The number becomes bold when selected.  You can also set the midi channel with the numeric keypad.  The Help Screen shows the keys which access midi channels 10-16.

Dialog Area

When on the Keys! main screen, the dialog area will read  ** Record  Mode **  unless you are being prompted or if you are in Audition Mode.  The dialog area is where all main screen 'prompts' are issued.  When prompted, the Note Box will look like this.

Octave Scroll Arrows

The octave scroll arrows are used to shift the on-screen 61 note keyboard up and down one octave at a time.  This way you can access midi note #1-120 (or C-1 to C9) with both the mouse and/or an external keyboard.  For example, if you raise the screen keyboard one octave, then the notes recorded with your midi keyboard will also be one octave higher.  You can also access the octave selectors by using the [Up Arrow] and [Down Arrow] found under the [Help] key.  The octave can be shifted at any time even if you are in the middle of recording a chord.

Accidental Box

While recording, you may have a preference as to whether you want to use sharps(#) or flats(b) when accidentals are called for.  You can select either sharps or flats by Lclicking in the Accidental Box provided or by typing Shift-S (for sharps) or Shift-F (for flats).  When you do, the notes will be re-written to the grand staff reflecting the new system accidental.  Whenever a notational re-write takes place, the current system accidental will be used exclusively.  Naturals, double flats, and double sharps are not supported by Keys!.  Also, sharps and flats only effect the note they immediately precede and do not carry their effect through the measure as in regular musical notation.

<<X (Last Event Delete)

Lclicking here or typing [Backspace] will delete the last note or chord recorded.  You can delete as many times as you like by repeatedly Lclicking in this box or typing [Backspace]. The last ten events of the file will then be subsequently written to the grand	staff.  Be careful as you cannot undo this action.

Velocity Box

This is where to look when you are scrolling velocities with the mouse while recording. If the mouse moves off of the keyboard, the numbers will disappear until you move it back.  If you use the external keyboard feature to record, the velocity sent will be shown here after a note is recorded.  If all you get is 64, remember that this is the default value for keyboards that do not send velocity.

61 Note Keyboard

The screen keyboard has 61 keys just like many of the most popular synthesizers on the market today.  It can play outside this range with the use of the Octave Scroll Arrows as described above.

The Status Box

If either the 'play range' or 'external keyboard' are currently toggled 'On', the Status Box will read "PL" and/or "KY" respectively to confirm the 'On' status.  If they are off, '--' will be seen instead.

The Page Scrollers

The box with the scrolling selectors marked <16>, <8>, <4>, and <1> if for going backwards(<) and forwards(>) through the music notation.  In other words, if you wished to scroll back 4 note/chords, Lclick on the '<' of '<4>'.  Of course, if you want to notate from a remote event or measure, use the 'Write from Event/Measure' features in the Options menu.  The left and right [Arrow] keys can only be used for '16 event' scrolls.

Chord Mask
Chord Mask Selector
Chord Mask Icons

Chords (which are the product of 'scales') are the 'stuff' that music is made of and I promised myself that Keys! would have a feature that would provide the uninitiated musician with a handy way to utilize and understand chord language.  The result was the Chord Mask.  Its use is very simple and involves only 3 steps:

1) Lclick on one of the chord names in the Chord Mask Column.  (C, C#/Db, D, D#/Eb, E, F, F#/Gb, G, G#/Ab, A, A#/Bb, or B).

2) Lclick on one of the chord types in the Chord Mask Column - MAJor, MINor, DIMinished, AUGmented, SUSpended 4th, 6TH, 7TH, MAJor 7th, MINor 7th, DIMinished 7th(o), 7th with SUSpended 4th, or Minor 7th flattened(b) 5th (sometimes called 'half diminished').

At this point, the Chord Mask Icons will appear on the screen keyboard indicating the keys which make up the given chord.  In addition, the full chord name will appear in a new box where the Chord Mask Column had been.  Lclicking in 'Clear Mask' or leaving the Main Screen will shut off the chord mask.  The Chord Mask feature and its use are discussed in the 'Applications' section of this manual.  It can be a most delightful way of learning about harmony as the 144 most commonly used chords are at your finger tips at all times.  (No aspect of the Chord Mask is accessible from the computer keyboard.)

Grand Staff

The grand	staff provided in Keys! is an 'army regulation' 10 lined staff (5 for the G clef/5 for the F clef).  There are several occasions when notes are written automatically to the grand	staff:

1 - When you load a file (.SEQ), the beginning of that file is written to signal the completion of the 'loading' process.
2 - When you load a .KEV file so a change of time signature will be reflected in the bar	line placement.
3 - When you use the <<X feature, the last 10 events of the file are re written to the grand	staff.
4 - When returning from any other mode or page.

Clear Clef Box

If you want to clear the grand	staff of notes at anytime, just Lclick in the Clear Clef box found in the upper left hand corner of the grand	staff.  This has no effect on the file in memory.  I often found myself wanting to start with a 'clean slate' especially at the beginning of a new measure.


A word about Keys! notation

The reason I included the notation feature in Keys! was so that, when recording parts, I would always be able to 'see' where I was in the score, as opposed to sequencing programs where one must 'listen' or sort through long lists of data.  Here are the notational limitations of the program that you should be aware of:

1 -  It only draws downward 'stems'.
2 -  When recording, all note flags are drawn.  When re-notated, the flags are drawn in a more orderly fashion.
3 - Notes higher than C7 are notated in the C6 to C7 range, and notes lower than C2 are notated in the C2 to C3 range.  The 'actual recorded pitch' of the note remains unaffected.
4 - Ties are not supported in Keys! so be careful to check the 'step' numbers which are written under the grand	staff.  In other words, the first note in a measure may not be the first step of that measure.
5 - All Triplets have a little '3' written below them by the step number.
6 - Sharps(#) and Flats(b) affect only the notes to which they are attached.  They do not 'carry' their affect 'through the measure' as in regular notation.


Chapter 4 - Real Time Record Mode

In order to access the real-time feature in Keys!, just pull down the Mode menu and Lclick on Real Time Mode.  This screen will appear.

In order to record, all you need to do is Lclick on the 'Record' button.  The screen metronome will provide the beat on the monitor speaker as you play.  There are 3 settings you may wish to make before recording however.

1 - 'Tempo'
This is as easy as Lclicking the actual tempo value (default ~ 120bpm) and typing in a new value followed by return.

2 - 'Metronome Click'
Using the Metronome Click Card, select the value (dotted quarter, quarter, eighth, swing eighth, or sixteenth) that you wish the metronome to 'click'.  It will become inversed once selected.

3 - Re-channelization
You can re-channelize the incoming midi channel to any channel of your choice by Lclicking the  RC>> [ON] and choosing the appropriate channel in the midi strip.  Rechannelization is active for auditioning purposes before and during recording.  You may want to turn Local Control Off on your controller keyboard from the Midi/Utility Mode before recording so you can discretely monitor the channel being recorded.

Recording

Once you start the metronome, the actual recording begins when you start plauing your MIDI keyboard.  (The realtime record feature does not support note entry from the computer keyboard).  You may record as long as you like up to 1000 note events. The program will warn you when you've reached this limit.  Controller, aftertouch, and pitch bend data are ignored as are any system exclusive messages.  When you are finished, type any key to stop recording.  You must now decide how you wish to exit the Real Time Record Mode.

Exit Options from Real Time Record

Esc       - Type [Esc] if you wish to abandon and erase the recorded data and return to the main screen.  A warning will be issued that your current recording will be lost.  (There is, at present, NO buffer in memory to retain the data created in real time.)

Overwrite - Lclick 'Overwrite' if you want the file just recorded to overwrite the file (if any) currently in memory.  If a file already exists, an alert will be issued.

Append    - Lclick 'Append' if you wish to attach the newly recorded material to the end of the file currently in memory.

When you exit the real time page with either the 'Overwrite' or 'Append' options,  you may wish to re-define the Quantization and Rest Status.

Quantization

Quantizing is a fancy word in the MIDI world that simply means 'time correction'.  When you play in real time you will often create notes with time values that are 'slightly off'.  For example, 2 sixteenths and 2 eighths may end up with values of 7+6+11+12 or even 7+4+14+11 when recorded in real time.  By setting the 'Quantize Select' value to 'Sixteenth' these are corrected, or rather, aligned to the proper values of 6+6+12+12 which would be correct.  However, if you set quantize to Eighth you would be left with 12+0+12+12.  In other words, your first two 16ths would be corrected to an eighth note chord, as though the second 16th was an eighth played incorrectly.  By selecting 'None', there is NO quantization applied, leaving your file exactly as you played it.

Rests 'On'

When the Rests switch is 'on' (inverse video) the file will be notated on the main page exactly as you played it with the quantization you have selected.

Rests 'Off'

When the Rests switch is 'off', the music is notated in a very simple and primitive form.  Notes in chords all become the same duration, and the duration assigned is the time to the next note or chord.  Be aware that this action radically alters the recorded data.  I have included the 'Rest off' feature for 2 reasons.

1 - For beginners, the 'no rest' feature provides a much easier way to learn about musical notation.

2 - It provides 'no fuss' hardcopy for quick reference.




Chapter 5 -  Tempo Master Mode

What the Tempo Master does

The Keys! Tempo Master allows you to create a 'tempo map'.  A 'tempo map' is a list of events which alter the system tempo at specific times.  An example will help to illustrate.  From the Keys! main screen, load the file from the program disk called HAPPY_B1.SEQ (found in the \EXAMPLE\ folder) and listen to it in its entirety.  You will notice that the tempo indicator at the top of the screen never deviates from the tempo of '120' giving this performance a very rigid and unbending ("square") sound.  Now load the file called HAPPY_B2.SEQ and play it.  The tempos now change quite often and the sound becomes, well, 'human'. The 'feel' is now part of the performance.

Creating a Tempo Map -

There are 2 ways to create a tempo map with Keys!

(1) By Lclicking the keys on the 88-note screen keyboard (or an external midi keyboard), we can create tempo data in real time while the file plays.  You are, in effect, 'conducting' from and with a keyboard.  Before doing this, it is necessary to load or create a .SEQ file.  (As the sequencer in the Keyboard Conductor ignores any data other than note on and off data, it would be worth your while to create a .SEQ file devoid of other event types from within the KCS if importing such a file). Also, try not to exceed the 8-note polyphonic limit.

(2) By tapping out the tempo we hear before applying it to the piece (or section of a piece) at hand.  With this feature you can save the file to start at any measure in the piece when interfacing with the KCS or MRS.  Working in sections is very often the best way to apply it.

I refer to (1) as the 'Keyboard Conductor' and (2) as the 'Key Tap Conductor' because in both instances one controls tempos in much the same way as a an orchestral conductor.

Disk I/O

So as to avoid confusion about the disk files created with the Tempo Master, let me explain them now.  After a tempo map has been created with either method described, you can save to disk in several ways.

Save with .SEQ file

Any and all tempo data will be merged and saved to disk when a .SEQ file is saved from the main screen.  When this same .SEQ file is loaded, the tempos, being part of that file, are loaded with it.

Save Tempos Only (for use with KCS/MRS)

To save the tempo map only for interfacing with the KCS or MRS, use the 'SAVE TM .SEQ' feature on the Tempo Master page.  By Lclicking on <No>, <2>, <3>, or <4> in this box, it is possible to save the tempo data only to disk with averagings over none, 2, 3, or 4 events respectively.  The data in memory remains untouched and averaging only affects the data being saved to disk. Averagings are somewhat useful for evening out little inconsistencies that occur while tapping.  For example, if you tapped the tempos 110, 115, 114, 113, 95, 100, 101, 103. Then the 4 highlighted tempos would be saved to disk as:

<No>  114, 113, 95,  100
<2>   114, 104, 98,  101
<3>   114, 107, 102, 98
<4>   109, 105, 102, 99

As you can see, averaging tends to 'flatten out' or 'compress' the differences.  This, or course, would not be desirable if dramatic changes in tempo are what you are looking for.  Most likely you'll use averaging only with the Key Tap Conductor.  Whenever you use 'Save TM .SEQ', the name of the file will be written in the box provided called 'TM File:'. The name you create will be XXXXXXXTM.SEQ where the (7) X's are letters of your choice and the TM and .SEQ are added by the program.  This was done so that you could distinguish note files from tempo files bearing the same name.


Using the Keyboard Conductor

The Tempo Master screen features an 88-note keyboard.  However, this keyboard does not record notes - it records tempos!  Beneath all of the C's on the keyboard are boxes with numbers.  These are the tempos in Beats per Minute (bpm) that each consecutive C represents.  When first loaded,  Middle C {C4(60)} represents a tempo of 120 and each key to the right and left represents an increment of 1 beat per minute(bpm).  Thus, 12 notes up from middle C (60+12 = 72 or C5) represents 132 bpm. To change the tempo assigned to Middle C (a) Lclick on the tempo indicated and answer the PROMPT>, or, (b) use the scroll indicators <<  >> (range:10-360 bpm).  When this is done all the other tempos will be recalculated.  If the tempo map you create includes extreme tempos within the same section, you may need to reset the incremental value under Middle C and the tempo setting (rng:1-7).  This value is changed by scrolling only.  If you set this value to '3', consecutive keys will represent a change of 3bpm.  Lclick on the keyboard or play on your midi keyboard.  You should see the Current Tempo ---> 120 change to the value represented by the piano key you are playing.  You can change tempos in this way while recording or just playing along for practice.

Lclick Initial Tempo ---> 120 and you will be prompted for a new Initial Tempo.  This is the tempo at which the sequencer will start playing and recording unless you have input your tempos with the Tap Key Conductor which sets its own 1st tempo automatically.

(R)ecord

Lclick here (or type [R]) in order to record tempos along with a recorded sequence.  While a pre-recorded sequence is playing, you can manipulate the current tempo by (1) striking a key on your controller keyboard or (2) Lclicking a key on the 88-note screen keyboard that represents the tempo you desire.  If you stop the sequencer and wish to re-start, an alert will be issued if tempo data is in memory.

(P)lay

Once you have recorded tempo data into a sequence, you will undoubtedly want to hear the sequence played back with the recorded tempos.  To do this Lclick in the (P)lay  or type [P].  The file will be played from the beginning to the end.   As the file is playing you will see all of your tempo data reflected in the current tempo box.  You can also practice tempos with a midi keyboard or mouse while the file is playing.  Of course, if tempo data has been recorded it could become a little confusing.

RC<<Off>>

This scrolling type selector has been provided so that you can re-
direct all note data, regardless of midi channel, to play on any selected midi channel.  It does not change the recorded channel.

Midi/Speaker

Lclick in this box to toggle back and forth between 'Midi' and 'Speaker'.  The Tempo Master plays files back on the instrument showing in this box.

-----------------------------------------------------------------
Using the Key Tap Conductor

When you want to 'tap' in  the tempos, you must first make two settings.

(1) Steps per Beat.

If you are only using the Keys! program, you should leave this value set to the default od 24 Steps per Beat.  However, if you are going to interface with either the KCS or MRS, this setting should correspond to the value with the same name found on the SET OPTIONS page of the KCS/MRS.  'Beat' refers to the kind of note which the tempo directly determines.  In 4/4 time, it's the 'quarter' note(=24 steps); in fast 6/8, the dotted quarter(=36 steps); in slow 6/8, the eighth(=12 steps); and, in 2/2, it's the half note(=48 steps).  If this setting is not matched by the setting on the Options page of the KCS/MRS, the tempos created for a file will not work.  To change this value, Lclick in the box and answer the PROMPT>.

(2) Steps per Tap

This setting represents the type of note that you will be tapping on the left mouse button, midi keyboard or 'octapad'.  Values are based on 'quarter = 24 steps'.  Lclick and answer the PROMPT>.

Recording 'Key Taps'

Once these settings are made, you are ready to record tempo events.  Lclick in the box marked 'Waiting' and it becomes highlighted.  The program is now waiting for you to start tapping.  Once you do, the box named 'Recording...' will become highlighted instead and, as you continue to tap, the <Msr:Stp> box becomes up-
dated on each tap according to the settings made earlier.  When you are done, Rclick or type any computer key and recording ends.  You now have tempo data recorded.  Of course, if there is no note file in memory you cannot immediately apply it.  If you do, you can.

Application Note

Because you cannot hear the file as you record tempos this way, it is recommended that you do small parts at a time.  I do and it works very well.  With the music in front of you, tap (or conduct) a section and then save it to disk with an appropriate name.  As an example, 'CP12-25.SEQ' indicates ChoPin measures 12 through 25.  (Remember you only have '7' characters if you save as 'TM .SEQ' from the Tempo Master page as the TM symbol is added.)

<Start>
<Msr:Stp>

The value found in the <Start> box represents the measure start of the recorded tempos as it is saved to disk using the 'Save TM .SEQ' on the Tempo Master Page.  It has no effect with a .SEQ save from the main page or upon playing the file.  You can change this value at anytime (before or after recording) by Lclicking in the box and answering the prompt.  When you do the <Ending Measure:Step> indicator  (<Msr:Stp>) will be up-dated to reflect the new starting point based on the current time signature. If there is no tempo data, it will read the same as the <Start> indicator. (i.e. If Start=3, Msr:Stp=3:1).  Use the <Msr:Stp> indicator to see if you tapped the correct number of events.  Always tap one 'extra beat' so you end up at least one beat further than you need. The <Msr:Stp> left showing is where the ending 'DE' event will be placed when interfacing with the KCS/MRS.  If you have used the Keyboard Conductor to enter tempos, it will show [--:--].

Time Signature

Lclick on the top or lower half of the time signature to set it.  The top half (numerator) will scroll from 2 to 12 repeatedly providing a choice of 2 to 12 beats per measure. The bottom half (denominator) scrolls through values 2, 4, 8, 16, and 32 which provide the common note types which represent '1 beat'. Stop on the one you want.  This also sets the steps per measure for the entire Keys! program.

Exiting the Tempo Master

Type [Esc] to return to the Keys! main screen.


The Keys! Auto-Composer II in Version 1.44 builds on where the 1.25 Version left off.  For those who have used the older version, the type of Algorithmic ("Random-based") composition found here will seem quite familiar although many new features have been added to the previous version.  For those of you who have never worked with such a device prepare to have lots of fun.  I found myself playing with this part of the program more than normal while writing it.

Accessing the Auto-Composer

In order to enter the Auto-Composer, pull down the Mode menu and Lclick on Auto Composer Mode.  You should see a screen that looks like this:

          (((  Screen Shot of Auto Composer - Main Screen  )))

There are three ways of entering values on this page.  1 - Selecting Values
For the long strips named 'Midi Channel', 'Duration', 'Key', 'Degree', 'Tension', 'Scales', and 'Polyphony', you use the Left Mouse to select one of the numbers or the Right Mouse to un-select it.  Please remember that you cannot turn all of them off at once.  The program insures that the last one selected cannot be turned off. For example, in the 'Midi Channel' strip, Lclick (select) #5.  Now Rclick (un-select) #1.  If you try, by Rclicking to un-select #5, you cannot as it is the only one left selected in the entire strip.

2 - Prompts
These are just like the prompts found on the main screen of Keys!.  The 'Rates', 'Velocities', 'Meas. to Generate', and 'Rest%' all fit this description.  When you Lclick on one of these items, the Exit strip at the bottom of the screen becomes the PROMPT> line. Type in the value and Rmouse/[Return] to enter the value or [Esc]/[Undo] to escape the prompt.

3 - Scrolling//On/Off
The remaining values are set with the 'flick of the mouse'.  'DFill<>', 'Octave<>', and 'Midi<>' scroll values as you repeatedly Lclick on the '<' (for lower values) and '>' (for higher values).   'PR Mask' and 'CMatch' switch their 'On/Off' status when Lclicked.  The 'PR Mask' cannot be switched unless there is note data currently in memory.

The 2 Auto-Compose Modes

When you first enter the Auto-Composer after loading the program, it is ready to compose from 'scratch' so to speak, using only the compose parameters found on this page to create a new piece.  This is "PR Mask>Off Mode".  However, if you want to use a previously recorded file, or part of that file to provide information to the auto-composer, you Lclick on "PR Mask" (which then will read "PR Mask>On".  The screen will change to look like this:

     (((  Screen shot of Auto-Compose PR Mask On Mode   )))

Don't worry about the strange disappearance of several sceen areas.  Selections such as Midi Channel, Duration, and Polyphony  randomization become meaningless ass all of that data will be supplied by pre-recorded sequence.  It has been removed from the screen so that you'll know which parameters are still applicable.  When you return to "PR Mask>Off"(by Lclicking once more), all of the missing screen areas will return in full glory.

What do you need to know?

You may not believe this after seeing this screen, but the auto-
composer is actually pretty easy to use (even if you know as much about music as I do about llamas).  It must also be remembered that this is ALGORITHMIC Composition.  If you know nothing, just push a lot of buttons and suprise yourself.

Inside the computer is a random number generator.  This generator creates numbers - one after the other. The only hitch is, we have NO idea which number will be generated next.  What the auto-composer does is allow for you to convert this meaningless stream of numbers into note data through several number 'filters'.  These 'filters' are the parameters found on the auto-compose page.  For example, if, in the Midi Channel strip you have selected #1,5,13, the filter will wait for one of these numbers to be randomly generated before creating the midi channel for the next note.  So, in essence, we've filtered the computers random choices to meet our needs.


What do all those names mean?

Midi Channel - Whatever numbers you select here will be randomly applied to the created note data.  If only one number is selected,  all notes created will have that midi channel.
However, when Voice Midi<> selectors are set to any value greater than '0', the Midi Channel randomizer is overridden.  (This selection is not avilable when "PR Mask" is 'On'.)

Duration -  The numbers selected here represent the duration values in steps of the notes to be randomized.  This is based on a quarter note getting 24 steps.  If you selected 24,6, and 36, the auto-
composer would only create quarter, sixteenth, and dotted-quarter notes and rests.   (This selection is not avilable when "PR Mask" is 'On'.)

DFill - One of the most annoying things about the random generation of durations is its 'ignorance' of natural durational groupings.  In other words, when quarters are being counted, 8th notes come in groups of two and 16ths in groups of 4.  If we're counting the 8th, 16ths come in groups of 2.  If we're counting 1/2's, triplet quarters come in 3's.  To insure that this will happen, set defill (by scrolling) to the note you are counting.  Most often, this will be the quarter beat <24>.  To turn the DFill feature off, set it to the default of '0'.  (This selection is not avilable when "PR Mask" is 'On'.)

CMatch - In some cases, chords containing notes of differing durations is quite appropriate and even charming, but if you want chord notes to be of the same duration ("chorale-style"), just toggle CMatch> "On".  (This selection is not avilable when "PR Mask" is 'On').

The Pitch Processors - The 'Key/Rate' 'Degree/Rate', 'Tension', and 'Scales/Rate' represent the selectors that filter the generation of pitch (i.e. C, Db, F#, etc).  These in conjuction with the Voice Octave<> selector are always active in either PR Mask 'On' or 'Off' Mode.

Key/Rate - Pitches, whether used for melodic, harmonic, or bassline purposes, are related to each other harmonically.  The auto-composer deals with pitch creation in traditional harmonic terms.  The first pitch parameter to consider is the Key.  The Key itself is largely arbitrary.  If you don't like to many sharps and flats pick C, G, or F.  More important is the relationship of one key to another.  Certain keys are more jarring than others when pitted next to each other.  The key of C going to the key of G or F is rather tame, where C to Db or F# is not.  The Rate setting determines the amount of measures that must pass before the computer randomizes a new key.  Remember, it is possible that it will randomize the same key as before.  If you want to have it randomize faster than a measure, change the measure length from the Tempo Master page.  (i.e. - twice per 4/4 measure would be once per 2/4 measure).

Degree - 7 chordal degrees exist within any given key as all traditional keys have 7 notes in their scale. (The 8th is an octave duplication of the 1st note).  The default for these selectors is I,IV,V, commonly known as "The One, Four, Five".  These chord degrees are basic to everything from Wolfgang Amadeus Mozart to The Beatles.  Adding the chords II or VI to this formula are common variations.  If your interested in early modal sounds - such as dorian and lydian types - try using II and VI without the I.  The Tension and Modes settings have a big effect on the Degree selection.

Tension -  The tension of a harmony is determined by the distance from the chords root (or 1st note from which the chord is built).  As this is traditionally done by skipping scale notes, the names Root(for 1st), 3rd, 5th, 7th, 9th, 11th, and 13th are used.  The bigger the number the greater the tension of the created structure.  In general, it would probably be wise to have at least 3 tension levels selected at any time. Less than this will make the music filled with lots of empty sounding octaves.  You cannot turn off the root selector as this would make the lowest tension level a new root.  In any given key, the 'I' chord acts as a point of resolution - sort of a going 'home'.  For this reason, I have included a function "I->5th" which, when selected, keeps the I chord randomization to the root, 3rd, and 5th thus giving it that 'home' feel regardless of the general 'tension' selections.

Mode - A mode is like a musical 'dialect'.  No doubt you've heard the expressions Major and Minor, and possibly heard them even described consecutively as 'happy' and 'sad'.  This is a gross simplification yet is true in one respect - the mode gives a piece its harmonic character.  A scale = key + mode.  For example, if the key is 'C' and the mode is 'Harmonic Minor' then we refer to it being the scale of 'C Harmonic Minor'.  Keys! offers 5 types of scales:

Maj {major}          C  D  E  F  G  A  B  C (C major).
Hmn {harmonic minor} C  D  Eb F  G  Ab B  C (C harmonic minor).
Mmn {melodic minor}  C  D  Eb F  G  A  B  C (C melodic minor).
Blu {blues}          C  D# E  F# G  A  Bb C (C blues).
4th {Fourths}        C  F  B  E  A  D  G  C (C ascending 4ths).

The 4ths scale is really not a scale but creates a 'modern' type sound with very little work. I suggest you try it.  Of course, these scales can be built upon any of 12 different notes.  This means the auto-composer supplies 60 different scale structures.  Again, the Rate means how many measures must pass before the mode is re-
randomized.  If one mode is set it will be used as a fixed mode.


Polyphony - This setting determines the number of notes that will be created at one time.  Musicians refer to this as 'polyphony' - an old term referring to the number of 'voices' needed to perform several parts at once.  Set this at '1' if you want to create a melody which has a polyphony of '1'. (The great melodist Irving Berlin used to say "You can't whistle a chord".)  Of course, a 1 note line with a lolw octave setting would sound more like a bassline.  If you want a three note chorale, set this for '3' and turn off '1'. If you want a mixture set them all or 3 at a time.  (This selection is not avilable when "PR Mask" is 'On'.) 
Rest% -   Rests stop the music and provide phrase-ology.  We speak in sentences and stop at periods.  Its amazing how a simple rest in the middle of things can create meaningful units of rhythm and melody.  The setting you make is the randomization percentage or how often it looks to put one in.  If you set it at '99', there will be lots and lots of rests. If you set it at '1', there will be very few rests.  If '0', there are NO RESTS.  Ther default of '10' seems to be a happy balance.

Velocity - This is really 2 settings.  A low and a high value.  These are prompted input.  The 2 values represent the 'Range of Randomization' for the velocities applied.  In other words, the program looks to this range to attach a velocity value to the note data created.  If the range is set at the same number (as in the defaults of '100' to '100'), the range is fixed and all velocities will be the same.

Meas. to Generate  - this is where you set the number of measures you wish to generate where the measure length is based on the time signature set from the Tempo Master page.

PR Mask - Lclicking here switches the 2 PR modes back and forth.  The areas of the screen that become extraneous will disappear until the mode is switched back once more.  When "PR Mask" is on, the notes and rest events generated get their durations and polyphony from the notes in the main file that have been selected with the playrange feature.  You can set the playrange from the Settings menu or by "scrolling a range" on the Keys! main screen.  Also, the play range feature does not have to be turned 'on'.  Whatever the range is, as it appears in the settings menu, will be used by the auto-composer.  If you are in "PR Mask>On" mode, and one type of note is being created, you probably left the playrange set at the default of "1-1".  Try this.  Scroll a small range from the main screen.  Go to the auto-composer, make some parameter changes, set it to generate about 2 measures, then generate and repeat.  You keep adding on to your file  and can quickly get a feel for the workings of the auto-composer.  Its also a great source of amusement.

Octave/Midi per Voice Selector - this box, where all parameters are set by scrolling, contains one of the most powerful resources found in the auto-composer.  Mainly, the ability to give each voice its own orchestration including the octave.  Most recent synthesizers and modules have the ability to play more than one sound at a time ("multi-timbral").  If you have set each sound (up to 4) with its own discreet receive channel, the auto-composer can be set to compose on each of those channels by scrolling the value Midi<>.  This will override any midi randomization in "PR Mask>Off" mode or midi channel copy in "PR Mask>On" mode if set greater than '0'.  If an instrument must be low, then set the corresponding Octave<>.  The Octave setting is always active and applied.  The midi channel can be disabled by setting its value to '0' (the default).  Please be informed that the auto-composer always creates new voices from '1' on up.  If 2 new voices are created, the first is Voice #1, the next is Voice #2.  What this implies is that voice #1 is the most active of the lot.  If you therefore want to create an active middle part but slow moving high part set the voice#1 octave lower than the voice#2 (and/or voice#3) octave.

Bottom-Row Selectors

Beside the various selections on the Bottom Line, it serves as a Prompt> line when a prompt type parameter is called. When the prompt is answered, it returns to the 5 selections.

Generate .SEQ - Lclicking here starts the process of auto-composing.  as it does the "Meas. to Generate" box will show the measures remaining to generate.  When it is finished you will be returned to the main page and the new file will be notated on the grand staff.  If you already had a file in memory, the auto-composer appends this file and will re-notate from the event with which it started composing.  For your convenience, the play range is set and turned 'on' for the newly created data.  Selecting one of the play options will confirm this.

Load/Save .ACM Mask - You can 'save to' and 'load from' disk the settings made (the 'mask') on the auto-compose page.  Please note that the format is entirely different from the older auto-composer in V. 1.25.  Fortunately, its a much more powerful program.  When you load or save a file, its name used will be written to the upper right hand corner of the screen in the space provided.

Init - Lclicking on this button resets all of the auto-composer parameters to their default.

Exit - Lclick here to return to the main page.  No actions taken.  


Chapter 7

Applications

This section contains many of the ways and specific instances this program can be used.  In most cases, these were things I picked up during the course of writing the program. Interfacing Keys! with the KCS, MRS, and Copyist.

One of the primary reasons for writing Keys! was to provide a friendly, easy to use yet powerful and traditional step time environment to create files compatible with Dr. T's line of powerful sequencing and notational software products which I use to produce my albums.  The .SEQ files that  Keys! saves to disk are fully compatible with the KCS.  You can load individual .SEQ into the KCS while in Open(all versions) or Track Mode(V1.6 and earlier).  In Open mode, each successive load of a single .SEQ will be put into the next available .SEQ.  In Track mode, each successive .SEQ loaded will be put into the next available track.  Be careful to insure that Track #1 is as long as the longest .SEQ loaded.  You must set this yourself.  In addition, .SEQ files created with and saved from the KCS are fully compatible with Keys!.  There are a few things to do however to prepare a .SEQ file that will be used by Keys!.  They are:


1 - Make sure that the file does not exceed 8 note polyphony.  The extra notes will not be played or notated.

2 - Use note ON types only and Tempo events.  control changes, pitch bends, etc. will be ignored by Keys! when loaded.  The easiest way to separate note 'ON' data is to 'Split' the sequence or track to be saved at '00' and, subsequently, save the sequence or track to which all of the note ON's have been sent.

In order for files created with Keys! to interface with the Midi Recording Studio (MRS) and The Copyist, without first passing through the KCS, .SEQ files must be converted to and from what the good doctor, Emil Tobenfeld, calls .ALL files.  On the program disk there are 2 conversion programs written by my friend Jim Johnson, musical software 'wiz kid' and author of many articles concerning MIDI.  They are called SEQTOALL.PRG and ALLTOSEQ.PRG.

SEQTOALL.PRG

You will use this conversion program, as its name suggests, to convert .SEQ files to .ALL  files.  The MRS and Copyist only 'read' .ALL files.  Copy the SEQTOALL.PRG and any .SEQ files you wish to convert to a blank formatted disk. (Refer to your ST Owners Manual for information about copying files.)  With this new disk in the drive, load the SEQTOALL.PRG by double clicking on its icon.  A title .SEQ Merge appears, Lclick on 'Ok'.  Next, a screen with an Item Selector box containing the files on the conversion disk appears with the announcement at the top "Select sequence file for track 1 or select CANCEL to quit".  Double Lclick on the first file you wish to convert.  You will immediately be prompted for file #2 or Cancel.  You can select up to a maximum of 8 files to  convert into one .ALL file.  When you are done selecting files, Lclick in the CANCEL box and the processing will begin.  You will be confronted with one more Item Selector asking you to supply a name for the new .ALL file.  Once this new .ALL file is saved to disk, you will be prompted 'More' or 'Quit'.  Lclick in the appropriate box.  The order of selected sequences within the .ALL file is of little importance when used with the MRS.  However, the Copyist will create sheet music based on the files as entered from top to bottom.  Keep this in mind when selecting the files for the conversion program.  The names of the individual tracks will have the names of the original .SEQ files as saved from the Keys! program.

ALLTOSEQ.PRG

Yet another conversion program by Jim Johnson and is strictly for people who own the MRS and want to load a file created with the MRS into Keys! for the purpose of (1) append the file in step time, (2) creating variations on that file utilizing the Auto Composer 'Play Range' Mode or, (3) watching the Player piano do its thing.  To do so, copy the ALLTOSEQ.PRG, the ALLTOSEQ.RSC and the .ALL file(s) you wish to convert to a separate disk as you did with the SEQTOALL.PRG.  In fact, use the same disk.  From the GEM desktop, double Lclick on ALLTOSEQ.PRG and then on 'Ok' in the Title alert box.  You will then be asked to name the Input file.  Once you've located it in the Item Selector box, double Lclick on the name.  Next, a screen with 8 boxes appears.  Lclick in the box that represents the track from the MRS file that you wish to extract.  (This requires that you remember which track it was.)  Lclick on 'OK'.  When the next Item Selector box appears, type in a name for the new .SEQ file to be saved to disk and then on 'OK'.  You will then be asked if you have more files to convert. Answer appropriately.  The files converted are now in a format fully compatible with the Keys! program.

Using the Chord Mask

For those of you not trained in music or harmony, Keys! comes with a Chord Mask that will:

(1) make reading the symbols from a page of popular sheet music possible and

(2)  make it possible for you to freely improvise around the same 'Chord Base' that all musicians derive their inspiration from.

Lets say you wanted to improvise in such a way that something musical would result.

A very short course in Music Theory:

Lclick on the 'C' in the chord mask box, then on 'Maj' in the chord type box.  The keyboard will be masked with icons which identify the notes comprising a C Major chord.  The reason that the symbol 'C' appears without the name 'Maj' in the chord i.d. box is that major chords are written as a single capital letter in sheet music.

There are two kinds of notes identified when the keyboard is masked:

The notes which masked with the icons are called 'Harmonic Tones' (those which are members of the given chord) and those which are not masked are called 'Neighbor Tones' .  Harmonic Tones are settled and stable, Neighbors are not stable and generally feel as though they should move by step to the nearest harmonic tone.  Of course, as you change chord masks, notes that were harmonic may become neighbors and vica-versa.  Certain neighbors are stronger than others and a little experimentation will illustrate this best. To improvise around various chord masks, simply 'make a mask' of any chord you want and begin recording using different note values and polyphonies while using the notes 'from the mask' freely and letting all neighbors go by step to a harmonic note next.  The music you create will not be as random sounding as you might be lead to believe. For Example, with a C Major mask, record {C4(60)}, {F4(65)}, and {E4(62)} as quarter, half, quarter respectively, the C and E are 'harmonic' and the F is a 'neighbor' (going by step to the harmonic E).  As the F is a longer note there is an even more instability created than if it was of shorter duration.  Rhythmically, a small 'motif' has been created and would certainly be worth repeating (possibly with small variation).

You can also apply the same principals to actual chords.  If a chord is created with the notes C, D, and G, then the D would be likely to move to the E if a 'C chord mask' were present.

The file named CHRD_MSK.SEQ in the \EXAMPLE\ folder on the program disk will help to illustrate these points.  When you have loaded the file create a 'C Major mask' and make the system accidental a sharp (#).  Remember to 'screen scroll' and type [x] to hear isolated parts of this example.

a) Event # 2 (F4) is an extended neighbor tone to Event # 3 (E4).

b) Event # 4 (D#4) is an extended neighbor tone to Event # 5 (E4).  Notice also that the D#4 is much more 'tense' or 'dramatic' than a D4 would be.

Now create a G Major Mask.

c) Event # 6 is a delayed neighbor that will go by step to the harmonic tone event # 8 (G4) but only after

d) Event # 7 (A4) another neighbor is heard which proceeds by step to Event # 8 (G4).

e) Event # 9 (C5) which was harmonic in the C Major Mask is now a neighbor to Event # 10 (B4).

Now create a C major Mask.

f) Events # 11 through 13 are C4, D4, and G4.  The D4 is a neighbor to Event # 14 (E4).

g) Events # 15 through 17 are C4, D4, and G4 once again.  However, when the neighbor D4 moves by step to Event # 19 (E4), the entire chord changes simultaneously.  This can be seen by creating a E Major Mask.

This last example shows how sophisticated these simple beginnings can become.  What notes represent neighbors is based on your selection of a chord mask name and type.  Just remember they like to move by step (1 or 2 midi note numbers distance) to their destination.  As one last example, create a B Major Mask.

h)  The Events 21 - 23 form a C Major Chord, yet with a B Major Mask, each of these notes neighbors to a note in the B Major Chord (events 24 through 26) and, thusly, move by step to each.

Of course, one of the best ways to become familiar with common progressions is to go through a lot of popular sheet music.  The letter symbols above the music such as Eb, DMaj7, etc. are the Chord Name/Type Symbols found in the Keys! chord mask.  Not all sheet music uses the same symbols for the various types of chords.  Here is a chart of some variations of symbols that you may see for the Type of chord:

TYPES IN KEYS!       VARIATIONS FOUND

(MAJ)                   (blank), M

MIN                     min,m

DIM                     dim, o

AUG                     aug, +5, +, alt., (triangle)

SUS4                    sus4, sus

6th                     6

7th                     7

Maj7                    M7, maj7

min7                    m7,  7

dim7                    o7

7sus4                   7sus

m7b5                    (circle with line thru it and 7)


In addition, when a symbol uses a slash (i.e.'C/E') it represents a  {Chord/Specific Bass	note} situation (i.e. C Chord with an 'E' Bass).  These added bass	notes may or may not be part of the Chord Mask but must always be the 'lowest' note recorded.  Use the Midi Note Indicator if necessary to add this note to the chord structure.

Advanced Use of Rests in Chords

As has been said, the last event recorded in a chord structure determines the time before the next event.  In other words, if a two note chord contains a half note and a quarter note (where the quarter note was recorded last), the next event would start one quarter beat	 (or 24 steps after the chord.  When played back, the half note would continue to sound for the played duration of both quarter notes. But what would you do if you wanted the next event to follow the chord with a duration not equal to any notes in the chord.  Very simple -  record a rest equal in value to the duration you need as the last event in the chord.

Let's say we wanted a 3 note chord composed entirely of whole notes to be followed by 2 quarter notes on the 3rd and 4th beats of the measure.  Just follow these simple steps:

1 - Rhold and Lclick the 'whole note' in the Note box and record the 3 note chord.

2 - While rholding, Lclick the 'half rest' in the Note box (or type [F2]), then Rrelease.  The measure:step (event) indicator should read 1:49(4).  This half rest (the last event recorded in the chord) determines the time to the next recorded event.

3 - Now record the 2 quarter notes....it's that easy!

Rests, it must be remembered, can only appear in a chord as the last recorded event.   This technique cannot be used with chords already containing 8 notes.

Recording 'parts' for use in the KCS and MRS

When confronted with a complicated situation, consider recording the music in parts or layers.  After all, Keys! was originally conceived as a program with which to record orchestral parts.  There's no reason you can't record 'parts of a section'.   This is especially true when a piano part or drum part, let's say, has a complex rhythmic relationship such as '2 against 3' or '4 against 5' type rhythms which would be very hard to record in 'one shot'.  By concentrating on individual parts, they become far easier to record.  However, you will need either the KCS or the MRS in order to play the resulting .SEQ files simultaneously.

            
Appendix 2 - Contents of the program disk

KEYSV144.PRG - The main program.

\KYGRPHC\ A graphics folder which contains 3 .DAT files used by the Keys! main program.

KY_TO_SQ.PRG which converts the no longer supported .KYS files, created with Version 1.2 and 1.25, to the .SEQ type file.

\EXAMPLES\ folder containing the musical examples referred to in the manual.  Includes:

RU_SLEEP.SEQ  [ Are You Sleeping ]
RU_SLEEP.ENV  HAPPY_B1.SEQ  [ Happy Birthday   ] HAPPY_B2.SEQ
CHRD_MSK.SEQ  [ Chord Mask Tutor ]

\ACM_EXMP\ folder containing examples of various masks created for the Auto-Composer II.  Includes:
ATMOSPHR.ACM
BEETHOVN.ACM
GOTHIC.ACM
PNTLLISM.ACM
SMP_MLDY.ACM
TRIPLETS.ACM

HAYDN_34.SEQ - The Exposition of Franz Joseph Haydn's Piano Sonata #34 for your listening pleasure.




Keys!

Appendix 3

Note Equivalence

The above chart shows all of the Preset Note and Rest values available from the Note Box.  The small numbers represent the duration value of each note in steps where the basis is 'quarter note = 24 steps'.  When you are copying music, just Lclick in the box containing the note or rest that looks like the one in the sheet music.  Keep an eye on the bar	lines.  This is a good way to make sure you are 'right on'.

'Up	Beats'

Sometimes, the first measure of a piece is incomplete, so you will have to add some rests to compensate for this.  If you don't, all of the bar	lines will be 'off'.  The number of up beats is equal to the number of steps per measure defined by the time signature minus the number of steps present in the incomplete first bar.  For example, if the first bar of a piece in 3/8 time has 3 sixteenth notes as the 'up	beats', you would have to add rests with a total duration of 18 steps.

3/8 time             = 36 steps per measure
3 sixteenth notes    = 18 steps  (3 x 6 steps/sixteenth)
36 steps - 18 steps  = 18 steps to be added

3 sixteenth rests, or, an eighth and sixteenth rest (the equivalent) will do the job.

What to do when the note is not in the Note Box

There will be times when the value you need is not to be found in the Note box.  Sometimes, a value will be equivalent to a value in the Note box but is 'spelled' differently.  For example, two 'tied' half notes (96 steps) are equivalent in value to one whole note (which is in the NOTE BOX).  A quarter note tied to an eighth note is equivalent to a dotted quarter note which is also in the note box.  A doubly-dotted half rest is equivalent to a half rest, quarter rest, and eighth rest used in succession, all of which are in the Note box.

However, some note and rest values must be created separately from the preset values by using the User Note and User Rest features.  Even though the dotted half rest was possible to create from the preset rest values, a double dotted half note is not.  This type of note has a value of '84 steps' - remember 'dots' add '1/2' of the value which they immediately follow.  Another instance in which user created values will be necessary is when unequal divisions of larger beats take place.  For example, a half note is equivalent to '8' sixteenth notes over time, but sometimes a composer will squeeze '9' into the same amount of space.  This is very easy to deal with as long as the '9' notes have a
 combined value of '48'.  They could be '5+5+5+5+5+5+6+6+6' or '6+6+6+5+5+5+5+5+5'.  The first 'slows down' a little, the second 'speeds up', but both represent '9' notes spread over '48' beats.   


Appendix 4

What to do if problems arise

If you have problems with Keys! that you are unable to solve with the help of the manual, Dr. T's maintains a customer service line staffed by experienced MIDI musicians.  We are happy to help you with any questions you have regarding Keys! or any of our other programs, but due to the incredible variety of MIDI products today, we cannot answer questions regarding other manufacturer's hardware or software, including questions concerning the basic operation of GEM, the Atari ST, or any other computers or synthesizers.
When calling Dr. T's for customer support, there are a number of things that you can do to help us help you.  These things will also save you money on your long distance phone call.  Here is a check list of things to have ready when calling Dr. T's:

1 ->  Your diskette registration number
2 ->  Your manual
3 ->  Computer turned on and KEYS! booted
4 ->  Any data related to the problem
5 ->  Information on your computer's disk configuration, monitor type, printer type, etc.
6 ->  Paper and pencil

When you call us, we will walk you through the program and ask you questions about what happens, so it is very important that you have this material at hand when calling.  If you are not prepared as described, we will ask you to call back when you are.  After you have completed the checklist, call us at (617) 244 - 1542 between 10 AM and 4 PM Eastern Standard Time, Monday through Friday.  Due to the size of our company, we are unable to return calls for support.
