George Campbell 1472 Sixth St. Los Osos, CA 93402 SongEdit: A Music Editor for Your PC George Campbell IBM PCs and compatible computers offer a wide variety of useful and interesting functions. Their music-making capabilities, however, are often neglected by users. While they do not offer the multi-voice music of some other computers, you can create very elaborate musical effects...with a little help. "SongEdit" is based on the BASICA/GWBASIC PLAY statement, and allows you to take full advantage of the capabilities built into those languages. Anyone who has written music with BASICA/GWBASIC recognizes the difficulties of working with the interpreter's editor. Too often, attempts at composition are abandoned because of the awkward user interface. "SongEdit", compiled with Microsoft QuickBASIC, solves those problems, making the process of writing music a pleasure. Using "SongEdit", you can create new compositions, transcribe existing music, and edit or change your musical creations. Its interactive editor allows you to play your tunes, returning to the editor for changes. You can save tunes, either as .TUN files, meant to work with "SongEdit", or as BASIC programs. Using "SongEdit," you can link up to six tunes together, to create large compositions. Other features of "SongEdit" include a feature which allows your PC to compose its own music. Help screens are always available to assist you, and a handy directory feature lets you keep track of your .TUN files. INSTALLING SONGEDIT To install "SongEdit" on a floppy disk, format a disk with the /S switch to create a working disk. Copy the "SongEdit" files from the disk in the magazine to your new disk. The files you need are: SONGEDIT.EXE plus the files with a .TUN extension. The .TUN files are samples. If you want to run "SongEdit" from a hard disk, create directory called SONGEDIT on your hard disk. Copy the "SongEdit" files to this directory and you are ready to run the program. Using either type of disk, the .TUN and .BAS song files you create will be saved to the disk or directory holding the SONGEDIT.EXE program. RUNNING SONGEDIT To start the program, enter the command: SONGEDIT. The program will display an opening screen, then move directly to the editing mode. The top part of the screen always displays information on the program's features. The bottom line of your screen keeps you informed about the current status of the program. The remainder of the screen is the tune entry and editing area. You may enter characters into the music string, or use the cursor keys to position the cursor anywhere within the editing area. "SongEdit"'s editing mode rejects invalid characters. Change a character by positioning the cursor, then overtype. The backspace key removes one character to the left of the cursor. Use the key to remove the character at the cursor position. To insert a character in the middle of the string, position the cursor, then press the key. Any character you type will appear to the left of the cursor. For information on the structure and syntax of "SongEdit"'s music strings, see the sidebar. It provides a guide to creating music with "SongEdit." All other functions in "SongEdit" are controlled with function keys. A list of those keys and their uses is always visible on your monitor. Here is a run-down on "SongEdit"'s function keys: F1: Pressing this key calls up two help screens which provide information on music notation. Press to skip the second screen, or any other key for more help. F2: This key allows you to play "SongEdit" tunes. The first menu choice lets you play the tune currently visible in the editing area. The second allows you to play a series of .TUN files, without any breaks. The third choice returns to the editing screen. Choose by typing the number of your selection. If you choose the multiple play option, enter the names of the files without the .TUN extension. You can play as many as six files, sequentially. If you wish to play less than six tunes, just press without naming a file. Experiment with this feature, using the sample files provided on the disk. Try playing PART1.TUN, PART2.TUN, and PART3.TUN in sequence. Any tune can be repeated by entering its name on more than one line. F3: This key allows you to play the note at the current cursor location. The note will play in octave 2, without sharps or flats. If the cursor is over a character which is not a note, an error message will display and the program will return to the editing routine. F4: This key plays the tune displayed in the editing area. Use this function frequently to save time and catch errors while they are easy to correct. F5: Pressing this key moves you to the file handling routine in "SongEdit". A menu, will allow you to load a file, save a file, or return to the editor. To load a file, type the name of a .TUN file without the extension. The tune you have loaded will play, then the program returns to the editor, printing the tune in the editing area. If you choose to save a file, enter the name of the file at the prompt line, without the .TUN extension. After you press , choose whether to save the file as a .TUN file, to be used with "SongEdit", or as a .BAS file, which can be run as a BASICA/GWBASIC program. "SongEdit" gives the tune an arbitrary line number of 10. F6: This key removes the current song from the editing area and erases it from memory. You have an opportunity to abort the function. If you have not saved the file, it will be lost permanently, so use this function with caution. F7: If you press this key, you call the random tune generator. "SongEdit" uses a random number generator and a note selection algorithm to compose music. You can choose the tempo of the tune, along with the number of notes to be played. The tempo is expressed in beats per minute, with a range from 32 to 255. Select up to 50 notes. After composing the tune, "SongEdit" will play it, then ask if you want to transfer the tune to the editor. The tunes produced by this feature are unpredictable, and no two tunes are ever alike. F8: Pressing this function key loads a sample tune into the editor. This tune is imbedded in the program code and cannot be changed. Use it as a demonstration. F9: This key provides a list of the .TUN files on your floppy disk or in the \SONGEDIT directory on your hard disk. Press any key to return to the editor. F10: The F10 key allows you to exit the program, giving you a chance to change your mind. Any tune not saved when you exit will be lost. Sidebar: Songedit Syntax "SongEdit" uses the same syntax as BASICA/GWBASIC's PLAY statement for its tune strings. All characters entered into the string can be either upper or lower case. For convenience, "SongEdit" allows strings up to 240 characters long, and automatically rejects characters after that length is reached. Here are the commands used in "SongEdit" strings, presented in the order you are most likely to use: Note: Do not include the parentheses () when typing commands. T(n) This command sets the tempo for your tune. Use a number from 32-255 for (n). The tempo you select will remain in effect until it is changed. O(n) The "O" command sets the octave. Choose a value from 0-6 for (n). As with the "T" command the octave setting remains in effect until changed. Middle C is in octave 3. M(L,N,S) The "M" command changes the way each note is played. An "ML" command plays each note full length. To play each note for 7/8 of its value, use the command "MN." For stacatto notes, each played for 3/4 of its value, the command is "MS." These commands remain in effect until changed. A-G(n) These are the actual notes used in "SongEdit" tune strings. They represent the normal notes of the scale. Specify the length for each note with a value for (n) between 1 and 64. Each number represents a type of note. For example, 1 represents a whole note, 4 a quarter note which gets one beat, and so on. Triplet figures are formed with note lengths which are multiples of 3. L(n) This command sets up a default length for all notes which follow. Including the command "L8," for example, makes all the notes which follow equivalent to eighth notes unless another number is attached to an individual note. P(n) Use this command to create rests or pauses in your music. The values for (n) are the same as those used to specify note length. "P8" produces an eighth rest. < or > These commands are a shortcut for changing octaves. The command "<" moves the following notes down one octave, while ">" moves them up one octave. As an example, here is a one- octave scale: CDEFGAB>C. All songedit octaves start with the note C. + or # Makes the preceeding note sharp. Place this character after the note character, but before the length parameter. - (minus sign) Makes the preceeding note flat. .(period character) Increases the length of the note or pause by a factor of 1.5. Use this dot character in the same way you would in standard music notation. The command "C4." produces a dotted quarter note, equivalent to a quarter note plus an eighth note. As a general rule, set the tempo (Tn), the mode (Mn) and the starting octave (On) at the beginning of each tune file. Enter other commands as you choose to create your tune. SHAREWARE NOTICE SONGEDIT is a shareware program. What that means is that you are free to try it out and experiment with it for as long as you like. If you enjoy the program, and use it frequently, the author requests a registration fee of $10. For that fee, you will receive notices of any upgrades to SONGEDIT, as well as the peace of mind gained by knowing that you have helped pay for the work the author has put into the program. You are free to distribute SONGEDIT through bulletin boards and other methods. SONGEDIT may not be distributed for profit, nor may any fee greater than $10 be charged for distribution on disk. Please distribute the entire package, including this documentation and all sample tunes. The best way to do that is to distribute the SONGEDIT.ARC file. That way, all files will be included. Please add your own musical creations to the distribution file. They'll add enjoyment for other users. I'd also be overjoyed to see copies of your music. You can send them to the address below. Send all comments, sample music, and registration fees to: George Campbell 1472 Sixth St. Los Osos, CA 93402 GEnie: G.CAMPBELL CIS: 71571,222