Kurzweil Music Systems K150 ADDENDUM

ADDENDUM TO
KURZWEIL 150 FOURIER SYNTHESIZER
SOUND MODELING PROGRAM
VERSION 1.0 USER’S GUIDE
FOR
VERSION 2.0 RUNNING ON:
APPLE IIe, APPLE IIc, APPLE II+, COMPATIBLE CLONES, and
TABLE OF CONTENTS
1. SUMMARY OF IMPROVEMENTS OVER VERSION 1.0
2. INSTALLATION
2.1 Apple IIe
2.2 Apple IIc
2.3 Apple II
2.4 Changing the MIDI Interface Slot
2.5 Installing a Screen Print Program
3. SUMMARY OF NEW MENU ORGANIZATION
4. SPECIAL POWER KEYS
5. FILENAME HANDLING
6. LOAD LIBRARY-FUNCTION
7. VOICE MENU AND FUNCTIONS
8. K150FS PROGRAM LIBRARIAN FUNCTIONS
9. MODEL READBACK FROM THE K150FS
10. AMPLITUDE ADJUST FUNCTIONS
11. TIME ADJUST FUNCTIONS
12. CONTOUR SHAPE COPY FUNCTIONS
13. GRAPHIC FREQUENCY DISPLAY/EDIT
14. PARTIAL SELECTION
15. ADDITIONAL NOTES AND TECHNIQUES
15.1 Sizes of Things
15.2 Disk File Maintenance
15.3 Multiple Shape Copy Using Overlap
16. SOUND LIBRARY 2.0
17. Amendment to .S.M.P. Version 2.0 Installation Procedure
18. Notes for II-in-a-Mac Version of K150FS .S.M.P.
19. II-In-a-Mac .S.M.P. Quick Startup Procedure
KMSI P/N: 91010702
.S.M.P Version 2.0 1
1.0 SUMMARY OF IMPROVEMENTS OVER VERSION 1.0
Version 2.0 of the Kurzweil 150 Fourier Synthesizer Sound Modeling Program has been greatly expanded and improved over version 1.0. Besides many additional fundamental and macro functions designed to make sound creation quicker and easier, .S.M.P. 2.0 is more intuitive in its operation, and the distribution disk has many more usable sounds created entirely with the program. In addition, several modifications of .S.M.P. Are included for optimum operation on other Apple II models.
SUMMARY OF NEW FEATURES
1. In situations that require entry of a filename, the name may be selected by moving a cursor around the disk file catalog listing.
2. The catalog listing can now page-flip to show up to 250 files.
3. Disk file names may now be 9 characters long to facilitate identification of multiple versions of the same model or voice.
4. The catalog display is updated after a save, copy, delete, or rename operation if it was showing.
5. A macro Time Adjust function has been implemented.
6. A macro Amplitude Adjust function has been implemented.
7. Multiple models may be linked together into a complete voice.
8. Some menus have been reorganized and many often needed functions appear in formerly empty menu boxes.
9. It is now possible to save K150FS programs on disk and then reload them.
10. The "Sign on Screen" will now only be shown once after the program has been loaded. Subsequently, EXITing to the top level will display a highlighted menu labeled TOP LEVEL and leave the rest of the screen display intact.
11. It is now possible to print a graphic "screen dump" on a dot matrix printer at any time.
12. A number of functions can now be executed any time with a single keystroke even if they are not part of the current menu.
13. Graphic display of partial frequencies has been improved and it is now possible to directly edit the display with the cross-hair.
14. The partial selection functions have been improved.
15. A loop may be removed from a contour by selecting "Loop" on the "Contours" menu and entering 0 for the loop-from time.
16. A "patch program" is included for modifying the slot .S.M.P. uses for MIDI communication.
Additionally, some bugs and arithmetic round-off error that were found in Version 1.0 have been fixed. Sound files created by version 1.0 are fully compatible with 2.0 and vice-versa except that 9-character files saved by version 2.0 cannot be re­trieved by version 1.0.
Because of the different computer options, provisions for alternate slot usage, and screen printing, installation of .S.M.P. Version 2.0 is more complex than 1.0. Be sure to read the next section before attempting to use the program with other than an Apple IIe computer.
2.0 INSTALLATION
The .S.M.P. Version 2.0 distribution disk is double-sided. On the normal side with the label is a pre-installed version for an Apple IIe computer along with the sound library and two utility programs for copying disks. If you have been using Version
1.0 successfully in the past, then this installed version of 2.0 should be suitable as is. If you have an Apple IIe (or equivalent
"clone"), or an Apple II+ with language card, modifications designed specifically for your machine may be found on the back side of the distribution disk. The II-in-a-Mac version for use on Apple Macintosh computers is supplied already installed on a 3-1/4" disk. A separate document describes how to run the II-in-a-Mac version and the differences between it and the Apple II versions.
The first step, regardless of what Apple-II computer you have, is to make a copy of the label side of the distribution disk. First "boot" the .S.M.P. distribution disk with the label in the normal position. In just a few seconds the display should show a menu of 3 possibilities. Press the 3 key (Copy Whole Disk). Now follow the steps outlined below:
TWO DISK DRIVES:
1. Enter slot 6 drive 1 for the source and slot 6, drive 2 for the copy.
2. Insert a blank disk (need not be formatted) into drive 2.
.S.M.P Version 2.0 2
3. Press Return again and wait for about a minute. The copy in drive 2 will become your "working master".
4. Answer N to the "Another copy?" question. The program exits to BASIC.
ONE DISK DRIVE:
1. Enter slot 6 drive 1 for both the source and the copy.
2. Get a blank disk (need not be formatted) and hold it.
3. Press Return again and wait for a few seconds until the program asks for you to insert the copy disk.
4. Insert the copy disk and press return. The program will ask for about 10 swaps between the source and the copy disk.
5. When it is done, answer N to the "Another copy?" question. The copy will become your "working master". The copy program exits to BASIC.
Once the label side of the distribution disk has been copied, skip to the section below which applies to your machine.’
2.1 APPLE IIe
The correct modification of .S.M.P. is already on the working copy you have just made. If your MIDI interface is not in slot #2, then go to section 2.4 named "Changing the MIDI Interface Slot". If you wish to be able to print the screen on a dot-­matrix printer, go to section 2.5 named "Installing a Print Screen Program". Otherwise installation is complete and you may immediately begin using your working master. If changes were made to accommodate a different MIDI interface slot or a screen print program was installed, you may wish to make a copy of your Working Master and use that so the installation procedure won’t ever have to be repeated.
2.2 APPLE IIc
An Apple IIc requires a different modification of .S.M.P. because it must use a MIDI interface connected to a serial port rather than plugged into a slot. A Passport MIDIPRO interface (or equivalent) is required and it must be plugged into the "modem" port. The modified program files for an Apple IIc are found on the backside of the distribution disk. Use the fol­lowing procedure to delete the Apple IIe modification of .S.M.P. from your working master and replace it with the Apple IIc modification. The procedure uses just drive 1 so it is the same whether you have one or two disk drives.
1. Boot your working master and then press 9 to exit to BASIC.
2. Enter: DELETE SMP_IIE_2.0L
3. Enter: DELETE SMP_IIE_2.0H
4. Insert the distribution disk upside down and enter: LOAD HELLO_IIC
5. Insert your working master and enter: SAVE SMP_HELLO
6. Enter: CALL -151 This enters the machine language monitor (.S.M.P. is written in machine language so that it will fit into memory and run fast).
7. Insert the distribution disk upside down again and enter: BLOAD SMP_IIC_2.0L
8. Insert the working-.master and enter: BSAVE SMP_IIC_2.0L,A$800,L$37FF
9. Insert the distribution disk upside down again and enter: BLOAD SMP_IIC_2.0H
10. Insert the working master and enter: BSAVE SMP_IIC_2.0H,A$4000,L$5851
Your working master disk has now been modified to run properly on an Apple IIc (or clone) with Passport MidiPro interface. If you wish to be able to print the screen on a dot-matrix printer, go to section 2.5 named "Installing a Print Screen Program". Otherwise installation is complete and you may immediately begin using your working master. However, you may wish to make a copy of your Working Master and use that so the installation procedure won’t ever have to be repeated.
2.3 APPLE II+
An Apple II+ requires a different modification of .S.M.P. because its keyboard does not have the cursor arrow keys and the open and solid Apple keys that the Apple IIe and IIc versions make extensive use of. The Apple II+ uses the following keys instead for these functions (keyboard must be in uppercase mode):
U Block cursor up D Block cursor down L Block cursor left
.S.M.P Version 2.0 3
R Block cursor right F Scroll time display forward 4/5 the screen width B Scroll time display backward 4/5 the screen width N Flip to next page on catalog, partial, or model listing P Flip to previous page on catalog, partial, or model listing
Also the cross hair cursor is controlled by the game paddles rather than the cursor and Apple keys. They should be plugged in and in good operating condition before attempting to do any graphic editing with .S.M.P.
The modified program files for an Apple II+ are found on the backside of. the distribution disk. Use the following procedure to delete the Apple IIe modification of .S.M.P. from your working master and replace it with the Apple II+ modification. The procedure uses just drive 1 so it is the same whether you have one or two disk drives.
1. Boot your working master and then press 9 to exit to BASIC.
2. Enter: DELETE SMP_IIE_2.0L
3. Enter: DELETE SMP_IIE_2.0H
4. Insert the distribution disk upside down and enter: LOAD HELLO_IIPLS
5. Insert your working master and enter: SAVE SMP_HELLO
6. Enter CALL -151 This enters the machine language monitor (.S.M.P. is written in machine language so that it will fit into memory and run fast).
7. Insert the distribution disk upside down and enter: BLOAD SMP_IIPLS_2.0L
8. Insert the working master and enter: BSAVE SMP_IIPLS_2.0L,A$800,L$37FF
9. Insert the distribution disk upside down and enter: BLOAD SMP_IIPLS_2.0H
10. Insert the working master and enter: BSAVE SMP_IIPLS_2.0H,A$4000,L$5851
Your working master disk has now been modified to run properly on an Apple II+ with the MIDI interface in slot 2. If your MIDI interface is not in slot 2, go to section 2.4 named "Changing the MIDI Interface Slot". If you wish to be able to print the screen on a dot-matrix printer, go to section 2.5 named "Installing a Print Screen Program". Otherwise installation is complete and you may immediately begin using your working master. However, you may wish to make a copy of your Working Master and use that so the installation procedure won’t ever have to be repeated.
2.4 CHANGING THE MIDI INTERFACE SLOT
If it is not possible to install your MIDI interface in slot #2 of an Apple II+ or IIe, then the following procedure can be used to "patch" .S.M.P. to address an alternate slot. The installation procedure described in the previous sections is assumed to already have been done if you have an Apple II+ and that you have a working master which is to be patched.
1. Boot the working master disk and press 0 to exit to BASIC. Then enter: CALL -151 to call up the machine language monitor.
2. Enter: BLOAD SMP_IIE_2.0H (Apple IIe) or: BLOAD SMP_IIPLS_2.0H (Apple II+)
3. Put the distribution disk upside down in the drive and enter: BRUN SLOTPATCH
4. Enter the number of the slot with the MIDI interface. It may be 1-7. Any other number will be ignored.
5. When the monitor prompt (*) appears again, enter:
BSAVE SMP_IIE_2.0H,A$4000,L$5851 (Apple.IIe) BSAVE SMP_IIPLS_2.0H,A$4000,L$5851 (Apple-II+)
The working master is now ready to use.
2.5 INSTALLING A SCREEN PRINT PROGRAM
.S.M.P. 2.0 has a provision for printing the high-resolution graphic screen at any time a menu selection is expected. Pressing CONTROL and P together will trigger an attempt to print the screen. However, due to the very wide variety of printers
.S.M.P Version 2.0 4
commonly used with Apple II systems, a program separate from .S.M.P. is used to do the actual printing. Thus "installing" a print screen program amounts to ensuring that an appropriate screen print program is loaded into memory along with .S.M.P.
Loading of the print program into memory is accomplished by the "1" option of the HELLO program that runs when you boot an .S.M.P. disk. The default print program supplied on the label side of the .S.M.P. distribution disk actually just dis­plays a message to the effect that a print program needs to be installed. The back side of the distribution disk contains a print program configured for an Apple Imagewriter connected to the printer port of an Apple IIc which is similar to a Super Serial card installed into slot 2 of an Apple II+ or IIe. If either case applies to you, you may replace the default print program on your working master by doing the following (same for one and two drive systems):
1. Boot your working master disk and select option 9 to exit to BASIC.
2. Enter: CALL -151 to enter the machine language monitor.
3. Enter: DELETE SMP_SCREENPRINT to delete the default print program.
4. Insert the S.M.P. distribution disk upside down and enter: BLOAD SMP_SCREENPRINT_IMGWRTR_SLT2
5. Insert your working master disk and enter: BSAVE SMP_SCREENPRINT,A$300,L$CF
6. The supplied print program for an Apple Imagewriter connected to the printer port (Apple IIc or clone) or a Super Serial card in slot 2 (Apple IIe or II+) has now been installed. Be sure the printer is connected, powered up, and ready, before using the CNTL/P function of .S.M.P.
If you have a different printer or a different interface to it, you will have to obtain or write a high-res screen dump program for it. .S.M.P. imposes the following restrictions on the screen dump program:
1. It must reside in memory at addresses $300-$3CF and have its entry point at $300.
2. It must print page 1 of the high resolution screen at $2000-$3FFF.
3. It may freely use page zero memory addresses $56-$65. Other locations are usable if they are saved and restored (use the text screen area or part of itself for temporary storage).
4. It must make balanced use of the stack and return to the caller with an RTS instruction after the printout is complete. The machine registers A, X, and Y may be freely used, and the decimal mode should remain off. Interrupts should be enabled on return.
3.0 SUMMARY OF NEW MENU ORGANIZATION
.S.M.P. Version 2.0 has had its menus rearranged to provide room for new functions, better organize all functions, and con­serve memory. Most menus have either not been changed or are similar to the descriptions in Version 1.0 manual. There are enough differences however that a number sequence for reaching a certain place in the menu tree, such as given in Sec­tion VI of the Version 1.0 manual should not be followed blindly, instead the name of each selection should be verified be­fore continuing. A foldout chart at the rear of this addendum outlines the Version 2.0 menu tree in terms of the menu name that appears at the top of the menu column along the left edge of the screen.
Perhaps the biggest menu difference is that the sign on screen with the Kurzweil logo and the top level menu selections will only appear once. Once the first top-level selection is made, the standard menu column will be used for all menus including the top-level menu. When exiting from the top level (and thus from .S.M.P.), it is not always necessary to remove the .S.M.P. disk because the boot program now requires further user action to begin reloading .S.M.P. rather than always re­loading automatically as before.
One major menu change is that the K150FS voice and model readback functions have been moved from the top level Voice­menu to the Model Load/Save submenu under Create Model. This is appropriate since the ultimate result of the voice and model readback functions is to load a model into memory from the K150FS (the voice readback is just an intermediate step). In that respect it’s similar to loading a model from the disk or creating the default model.
A fourth function has been added to the top-level menu: Load/Save Programs. This is a convenience function that has been added that allows .S.M.P. to serve as a K150FS program librarian. .S.M.P. cannot do any editing or even detailed display of K150FS programs but it can save and retrieve them by name from disk very quickly. Section 8 describes this menu in detail.
.S.M.P Version 2.0 5
4.0 SPECIAL "POWER-KEYS"
For experienced users, .S.M.P. Version 2.0 offers a number of "power-keys" which are control key combinations that per­form often needed functions. While all of the power-key functions may be accessed through the menu structure and other operations, using the power-keys executes the function immediately without running through alot of menus and possibly re­drawing the screen unnecessarily. Many of the power-keys are active only at certain times. For examples those that deal with scrolling the contour display are not active when a contour is not showing.
To execute a power-key function, press and hold the CONTROL key while striking the indicated letter key. The keyboard should be in uppercase mode. The available power-keys are as follows (these are in addition to the special control keys that substitute for the cursor and Apple keys in the Apple II+ and II-in-a-Mac modification):
CNTL/A Re-audit - Send model buffer to K150FS using last used Audit options. CNTL/M Move - Scroll contour display so time at cross hair is near left edge. CNTL/B Beginning - Scroll contour display to beginning (time=0). CNTL/E End - Scroll contour display to latest endpoint on any contour. CNTL/S Stretch - Redraw contour using next shorter time scale. CNTL/C Compress - Redraw contour using next longer time scale. CNTL/I Increase - Increase amplitude dynamic range displayed. CNTL/D Decrease - Decrease amplitude dynamic range displayed.
5.0 FILENAME HANDLING
Version 2.0 attempts to minimize the need for typing filenames. If the disk catalog display is showing, then any function that requires entry of an existing filename (Load, Delete, source of Copy or Rename, etc.) will first copy the filename the cursor is on into the entry area. This name may then be accepted as is by simply pressing Return or edited with left/right cursor, overstrike, or ctrl/X and then accepted. Blanking the field with the spacebar or ctrl/X followed by Return will abort the func­tion.
For functions that require entry of a new filename (Save, destination of Copy or Rename), a default name is placed in the en­try area. For example, for model save, the K150FS model name is copied for editing. For Copy or Rename, the source file­name is re-presented for editing.
With the addition of Voice Files and Program Files, there is now an implicit file type associated with every .S.M.P. file­name. Files with the same name but of different types are permitted. For functions like Load Model, Load Voice, or Load Program, the file type is handled automatically since the function only deals with a particular tile type. For functions like Delete, Copy, or Rename, which can handle any type of file, Type=Model is assumed. To use these functions with Type=Voice or Type=Program files, the name MUST be entered by cursor selection from the catalog rather than typing in the name.
Page flipping in the file catalog is performed by holding the Open-Apple key down and pressing cursor-down to go to higher catalog entries or cursor-up to go to lower numbered entries (for Apple II+ and II-in-a-Mac, use the N and P keys). Changing the Drive Slot selection while the catalog is displayed will automatically display the catalog of the newly selected disk. Also, any file operation such as Save, Delete, Rename, etc. that changes the catalog will update the catalog display if it is showing. Loading a model or a voice while the catalog is showing will leave the catalog displayed. To display the newly loaded model or voice, it is necessary to select an editing function.
6.0 LOAD LIBRARY FUNCTION
This is a new convenience function that will automatically load a consecutive list of Model, Voice, and Program files to the K150FS. For example, with just a few keystrokes, it is possible to have every sound in the library supplied with .S.M.P. 2.0 loaded in just a couple of minutes.
Load Library is in the top level File Manipulate menu. However, a disk catalog must be showing on the screen for the func­tion key to be active. When Load Library is pressed, the dialog box will ask for the first file number of the "library". This corresponds to the sequence number displayed to the left of filenames on the catalog display. To load the whole disk, you would enter 1. Following this, a second dialog box will similarly ask for the last file number in the sequence to be loaded.
.S.M.P Version 2.0 6
You may enter a specific number larger than the first number or, to load the whole disk, some arbitrary large number (255 max).
The files are then loaded sequentially to the K150FS with automatic recognition and handling of the file type (Model, Voice, or Program). During the loading process it is OK if, for example, a program is loaded that refers to a voice (either single­model or multi-model) before that voice is loaded. Note that if the "library" (selected sequence of files) contains multi-model voices and also the models that make up those voices, those models will effectively be loaded twice, once as single-model voices and then again as part of the multi-model voice. This is alright (except for the extra loading time) provided the Audit Voice Number model parameter of the models doesn’t conflict with the voice number of the multi-model voice.
7.0 VOICE MENU AND FUNCTIONS
Perhaps the most significant Version 2.0 addition to the K150FS .S.M.P. is the voice assembly function. This permits you to link 2 or more models together, each covering a portion of the keyboard, into a complete K150FS voice. This feature is nec­essary for many types of sounds to sound natural over a wide pitch range, especially those containing fixed formants. It can also be used to set up multi-way keyboard splits (up to 60 ways) of very different sounds.
Associated with the voice assembly function is a new file type called the Voice or "V" type file. Voice files basically contain lists of model filenames. When a voice is sent to the K150FS, each of the component model files is loaded and sent as part of the voice. Associated with each model in the list is a highest note designation. The first model in the voice is used for all notes from C0 up to and including its associated highest note. The second model is used for the next highest note up through its own highest note. The last model is used for all notes above the high limit of the next-to-last model. Normally these highest notes are set equal to the highest note global model parameter for that model but can be different. Editing a voice file then consists of specifying a list of model filenames and their associated highest MIDI note numbers.
All voice assembly functions are under Construct or Edit a Complete Voice in the initial top level menu or simply Define Voice in subsequent top level menu displays. Selecting this will enter the Define Voice menu. Keys #1 (CATALOG) and #8 (DRIVE.SLOT) perform their usual functions. Key #2 is CREATE DEFAULT. Pressing this will create a default voice in voice memory (which is separate from model memory and will not wipeout any model that happens to be in model memory). Key #3 (LOAD VOICE) will load an existing voice file from disk into the voice memory.
After either load function, a voice listing will be displayed giving the voice filename, K150FS voice name, the K150FS voice ID number, and the number of models it contains (1-60). The listing itself is quite simple consisting of a sequence number, the filename of each model, and the highest MIDI note number of each model. For more than 30 models, Open-Apple and cursor up/down can flip the listing pages (or N and P for Apple II+ and II-in-a-Mac versions).
Key #5 (SAVE VOICE) allows you to save the voice memory contents onto a disk file using the same procedure as saving models. The filetype will be "V". Note that while it is permissible to have a model file and a voice file with the same name (the distinction is in the type), this is not recommended.
Key #4 (EDIT VOICE) displays the Voice Edit menu which has a number of functions. Functions #1 (El50FS NAME) and #2 (VOICE #) allow the identity of the voice when inside the K150FS to be changed. The name and number is what you will see in the K150FS display when calling up voices in the layer editor. You should avoid using voice numbers that are the same as builtin ROM Voices in the K150FS. The name is simply a memory aid when using the K150FS front panel.
Keys #3 - #6 in the Voice Edit menu are used for editing the list of model filenames. Add Model will add a model name to the end of the list regardless of where the model cursor is, while Insert Model will insert a new model name before the model the cursor is on. Change Model allows the filename to be changed, while Delete Model does just that.
Key #7 (HIGHEST NOTE) allows you to set the highest MIDI note number for the model the cursor is on. When the model is first added to the list, .S.M.P. puts in a default value that attempts to preserve ascending order of the highest notes. A warning message is issued if the highest notes are not in a strictly ascending sequence and a voice cannot be sent to the K150FS unless they are in order.
Key #8 (SHOW MODEL) is a convenience function that lets you view the global parameters of any model filename (such as its highest note parameter) without leaving the Voice Edit menu. Note that this will use the model memory.
.S.M.P Version 2.0 7
Voice Audit is similar to the plain (model) audit except that it sends complete voices to the K150FS. The voice definition sent is the one presently in voice memory. Each of the models listed by the voice are fetched one-at-a-time from the current drive.slot and sent to the K150FS. Actually, two scans through the files are necessary; the first to check for errors (such as a missing model file) and calculate the total voice size, and the second to do the actual loading. Thus a complex voice contain­ing a dozen or more models may take awhile to load.
8.0 K150FS PROGRAM LIBRARIAN FUNCTIONS
As a convenience in creating complete sound libraries and reloading them, program load and save has been added. Since many interesting sounds may simply be layered versions of simpler voices, it is useful to have programs in disk libraries. No editing or K150FS programs by .S.M.P. is possible; this still must be accomplished through the K150FS front panel.
Program load/save is option #4 on the top level menu. The "Load/Save Program" menu it calls up is the only menu for pro­gram manipulation. Option #1 on this menu displays the disk catalog as usual. Program files have a file type of P.
Option #2 ("From Disk") will ask for the name of a Program file and load it into a memory buffer. This buffer is also used for editing Voice files so you may be warned of this if the voice buffer has some altered data in it. Option #4 ("From K150FS") will ask for a K150FS program number which will then be loaded into this same memory buffer. Unlike normal MIDI communication, any program number from 1 to 255 may be accessed by the .S.M.P. After a program has been loaded from either source, a dialog box shows it’s K150FS name, voice number, and size in bytes. Press Return to restore the previ­ous screen display and continue.
Option #3 is used to send the content of the program buffer to the K150FS. You will be given the option of sending it to a program number different from the one it originally came from. The K150FS front panel should flash "Program Load Suc­cessful" briefly after a successful program load. Option #5 is used to save the content of the buffer on disk. The default file­name is the same as the K150FS program name but it may be edited as usual before being saved.
In addition to loading programs -into the K150FS via the memory buffer from disk using the above operations, the "Load to K150FS" option in the File Manipulate menu may be used to load directly from disk to the K150FS in one step.
9.0 MODEL READBACK FROM THE K150FS
This function works as described in the Version 1.0 manual but the function names have been moved and changed. Since the effect of model readback is really to load a model into model memory from the K150FS, it has been placed in the Load/Save Model menu.
Loading a model from the K150FS is a two-step process. Key #5 (FROM K150FS) must be used first to identify the K150FS voice the model is part of and to get a listing of the component models. This function used to be called LOAD VOICE but the name was changed to avoid confusion with loading a voice file from disk. After getting the list of constituent models, key #6 (EXTRACT MODEL) is used to read a particular model from the K150FS.
If you are using .S.M.P. to alter the K150FS built-in ROM voices, you will have to load each of the models in the voice of interest and save them on disk as model files. You will then have to create a voice file with a list of these model files in the same order and with the same highest note parameters (unless, of course, that is what you wish to change). To hear the com­plete, altered voice (even if only one of its models was changed), you will have to send the entire voice back to the K150FS. Unfortunately, the K150FS operating system does not permit individual models of existing voices to be replaced.
Note that the memory buffer for holding read back models is smaller than the main model buffer although since it holds the model in compiled K150FS format, the space is used a little more efficiently. The size of the readback buffer is just short of 3K whereas the main model buffer is 6.25K. Thus if a very large model is loaded into the K150FS by .S.M.P., it may not be possible to read it back using this function, but of course it can be read back from disk. The largest built-in ROM sound models are considerably smaller than 3K.
10.0 AMPLITUDE ADJUST FUNCTION
The Amplitude Adjust function is key 16 in the Edit Contours menu. It requires that a model be in memory and presents a new menu titled Amplitude Adjust. In this menu, function #6 toggles between All Partials and Selected Partials. When SEL
.S.M.P Version 2.0 8
PAR is highlighted, the amplitude adjustment will only be made to the currently selected partials. Function #8 allows you to select partials as usual. Functions #9 (Audit) and #0 (Exit) work in the usual manner as well.
All three of the amplitude adjustment functions will ask for three parameters before actually performing the adjustment. First they will ask for a beginning time and then an ending time. Together, these define an interval in which the adjustment is made. Breakpoints strictly inside the interval will be adjusted while breakpoints on the interval boundaries or outside the in­terval will not be affected. If you want to adjust the whole contour, simply enter 0 for the beginning time and 65000 (or simi­larly large value beyond the end of any contours in the model) for the ending time. Times are always entered in milliseconds. If the adjustment times are unknown, simply go into the Change Points mode from the Edit Contours menu and use the Cur­sor Readout or Point Readout functions to find the times of the breakpoints of interest.
For example, if you wish to adjust the amplitude of all even-order partials over the interval from 1.0 second to 1.7 seconds including any breakpoints at exactly 1.0 or 1.7 seconds, you should first select the even numbered partials and highlight SEL PAR. Then select the type of adjustment desired (explained below) and enter 999 for the beginning time and 1701 for the ending time. If 1000 and 1700 were entered instead, then breakpoints at exactly 1000 and 1700 would not be affected.
The third parameter is the amount of adjustment in decibels. A positive adjustment means that breakpoints in the interval will be moved to higher amplitudes while a negative adjustment means that they will be moved to lower amplitudes. The adjustment range is restricted to 40 decibels either way, but you could simply adjust the same interval twice to get more range.
The three adjustment options are STEP, RAMP UP, and RAMP DOWN. Step simply means that the specified adjustment amount is added to every breakpoint inside the interval. Ramp Up means that breakpoints near the beginning of the interval are adjusted very little while those near the end are adjusted nearly as much as the adjust amount. Those halfway into the interval are adjusted half the adjustment amount. Ramp Down simply reverses this, giving full adjustment at the beginning and less adjustment near the end of the interval. To get a "bump" in the middle of the interval with little adjustment at both beginning and end, just split the interval in half and ramp up in the first half and ramp down in the second half. A "dip" is the same except the adjust amount would be negative.
Before the adjustment is actually made, .S.M.P. will determine if any breakpoint will try to go beyond 0dB. If it will, you will be asked if clipping the offending breakpoints at 0dB (and thus loosing some of the contour’s shape) is acceptable. If N is entered then the adjustment is canceled and no breakpoints are changed.
Note that there is no explicit "unadjust" for the amplitudes. However you can restore the original amplitudes by simply per­forming the same adjustment using the opposite adjust amount provided no clipping was performed. Of course you should always save your model on disk before using any global function that has the potential to radically alter the model.
11.0 TIME ADJUST FUNCTIONS
Time Adjust is similar to Amplitude adjust except that it alters the time of breakpoints while leaving the amplitudes alone. It can be used to slow down or speed up portions or all of a sound or delay or advance certain "events" in the evolution of a sound’s contours.
The Time Adjust menu is reached by pressing key #6 on the Edit Contours menu. The bottom half of the Time Adjust menu is identical to the Amplitude Adjust menu while the top half has 4 choices for the time adjustment. Like Amplitude Adjust, a time interval must be specified and an adjustment amount entered. Unlike Amplitude Adjust, details of the time interval can be important, which will be explained below.
The simplest time adjustment is SHIFT. Here, the times of all breakpoints within the interval are adjusted by adding the shift amount (given in milliseconds) to the original times. Thus if the interval covers the entire contour from 0 to 65000 and the adjust amount is 1000, then the times of all breakpoints (except the first one at zero), will be made 1 second later thus delay­ing the sound (except for the attack which is stretched) by 1 second. A negative adjustment will make things happen earlier.
A little thought will reveal that it is easy with Shift to have a breakpoint’s time shift beyond the boundaries of the interval. This is particularly troublesome when a large negative shift actually makes a breakpoint’s time negative. Thus Shift (and Stretch and Compress as well) impose the restrictionthat the breakpoint’s time after adjustment cannot fall outside the speci­fied interval. If it does, the breakpoint is deleted from the contour. Before any adjustment is actually done, a check is made
.S.M.P Version 2.0 9
to determine if this situation will develop. If it will, the warning message: OVERLAPPED BREAKPOINTS WILL BE DE­LETED. IS THIS OK (Y/N)? An N response will cancel the function while a Y will allow the offending breakpoints to be deleted. Deleted breakpoints cannot be retrieved except from a backup disk copy of the model.
Stretch is like Shift except that the adjustment is by a multiple between 1.00 and 4.99 rather than a simple shift. In the sim­plest case of stretching an entire contour (interval 0 to 65000), entering 2.00 for the stretch amount would double the times of all of the breakpoints thus slowing the sound to half-speed (but without any pitch-shift). Compress is like stretch except that fractional multiples between .20 and .99 are permitted. Compressing an entire contour will make the sound speed up (but again without any pitch shift).
If the beginning of the interval for Stretch or Compress is not at zero time, then the times of breakpoints in the interval are adjusted according to their position relative to the beginning of the interval. For example, if the interval is 1000 to 5000, then breakpoints at or earlier than 1 second are untouched. Then assuming the multiple is 3.0, a breakpoint at 1050 (50mS past the beginning of the interval) would be placed at 1150 (150mS past the beginning) and a breakpoint at 2000 would be placed at 4000. This in effect slows everything beyond 1 second to 1/3 speed.
As with Shift, it is possible for stretched breakpoints to spill over the end of the specified interval. Testing for and handling of this condition is the same as with Shift.
The fourth kind of time adjustment is the Warp. The warp adjustment will move breakpoint times within the interval accord­ing to their position in the interval and a "warp amount" which can range from -9 to 9 (integers only). To understand time warping, consider a rubber strip that has had knots tied in it representing breakpoint times. The ends of the strip represent the ends of the interval. Now, while holding the ends steady, imagine a force that stretches one end of the strip while letting the other end contract. Zero represents no force, negative amounts represent increasing amounts of force such that the right (late) end of the strip is stretched and the left end contracts. Positive amounts would stretch the early times and compress the later times. As always, times outside the interval are unchanged.
A way to remember the warp direction is to consider that with positive adjustments, all breakpoint times will become later but by varying amounts. With negative adjustments, all breakpoint times will become earlier. Note that warping breakpoint times can never make them go outside the interval; there is always enough tension in the rubber strip to keep it from collaps­ing.
12.0 CONTOUR SHAPE COPY FUNCTIONS
Another very useful macro function that has been added is Contour Shape Copy. This is just below Time Adjust on the Edit Contours menu and is called Copy. Pressing Copy (key #7) will display the Copy Contours menu. Two of the items on this menu, #8 (Select Partials) and #9 (Audit) are as before and need no further explanation.
The purpose of the contour shape copy function is to copy breakpoints from a portion of a contour to another portion, of itself or another contour. To do this, .S.M.P. needs to know which partial(s), a beginning and ending time which defines the source interval, and a beginning destination time which defines where the source breakpoints are copied to.
The simplest example would be a single partial with a short amplitude feature such as a single cycle of tremolo. Lets say that the feature starts at 50mS and extends to 300mS which is also the end of the contour. It is desired to duplicate the feature again at the end of the contour without having to draw it again point-by-point. Key #1 (One to Another) will do this if the destination partial is the same as the source partial. Upon pressing key #1, .S.M.P. will ask for the source partial number and then a destination partial number. Assuming that the fundamental is being dealt with, 1 is entered for both. Next the begin­ning and ending time for the source interval is requested. For this example, 50 and 300 would be entered. Note that unlike Time and Amplitude Adjust, breakpoints at exactly the begin and end times of the interval will be included. Finally, S.M.P. will ask for the destination time which for this example would be 300mS.
The result of all this is that the breakpoints between 50mS and 300mS will be copied onto the contour beginning at 300mS and extending to 550mS. The time of each source breakpoint relative to 50mS is added to 300mS and, along with the ampli­tude, is inserted into the contour at the new time. Note that any breakpoints within the destination interval between 300 and 550mS are deleted first so they won’t interfere. If the screen was showing the contour at the time, it will be updated after the copy is complete.
.S.M.P Version 2.0 10
Of course, besides duplicating a shape somewhere else along the same contour, key #1 can copy the shape to a different par­tials contour at the same or a different time. Key #2 (One to Selected) does the same except that it copies the single source shape onto the contours of all of the selected partials. Key #3 (One to All) copies to all partials, including itself. Keys #4 (Selected to Selfs) and #5 (All to Selfs) is the same as using the key #1 function multiple times with source and destination partials the same.
As the final dialog box (which asked for the begin time of the destination interval) indicates, the destination interval may overlap the source interval. This is nothing unusual if the source and destination contours are different, but can have some interesting effects when they are the same. First, if the source and destination intervals are the same, then there is no net change. This might occur for One to Selected or One to All for example. When the destination begins later than but overlaps the source, then effect will be to copy the shape between the beginning of the source and the beginning of the destination multiple times into the destination. See section 15.2 below for an example of this. An overlap with the destination beginning earlier than the source will just amount to shifting the source shape earlier.
13.0 GRAPHIC FREQUENCY DISPLAY/EDIT
Graphical editing or partial frequencies has been added to S.M.P. 2.0. Graphical display and editing of partial frequencies is most useful for sounds whose partials are nearly, but not exactly, harmonic. To be useful, the relative partials should come first in the partial listing and be in ascending order by multiple.
When Graphic is selected from the Partial Frequencies menu a graph with partial numbers on the horizontal axis and fre­quency multiples on the vertical axis is drawn and the Graphic Frequency menu is displayed. The horizontal axis is auto­matically scaled according to the number of relative partials in the model and a matching vertical axis is used. The diagonal line represents perfect harmonic frequencies. A small "cross" is plotted for each relative partial with a horizontal position according to the partial number and vertical position according to its multiple. Perfect harmonic partials will lie along the diagonal line.
The partial multiples may be graphically edited by moving the crosshair to select the desired partial horizontally (.S.M.P. will use the nearest partial if the crosshair is not positioned exactly) and the desired new multiple vertically and pressing the #1 key (Change). Key #7 (Point Readout) may be pressed to determine what the partial number and multiple of the current crosshair selected partial is. Key #8 (Cursor Readout) likewise displays what it would be changed to if key #1 was pressed.
The most common use of slightly inharmonic partials is in simulating vibrating strings or to add a degree of richness to syn­thetic sounds. In either case, the deviation from perfect harmonics is usually too small to show up well on the 1X or "nor­mal" display that is initially presented. The #4 (Decrease) key may be used to emphasize such deviations and make them easier to see and edit. Pressing Decrease once will change the multiple deviation scale so that 10 pixels vertically will repre­sent 50% deviation of the base frequency. Pressing Decrease again will go to a 20% scale (one pixel=2%), 10%, 5%, 2%, and 1% (one pixel=0.1%). Key #5 (Increase) moves in the opposite direction and key #3 (1X Scale) will restore the normal vertical scale factor. A scale indicator to the left of the display shows the deviation scale factor currently in effect.
For example, say the model has 7 partials, the fourth partial is of interest, and the base (fundamental) frequency is 500Hz. The automatically selected "normal" scale in this case shows multiples up to about 10.11 and the deviation scale factor, which is the same as the overall multiple scale factor, is about 5.5% of the fundamental frequency (27.7Hz) per pixel. This was calculated by noting that there are 18 pixels between 0 and 1 on the vertical axis. Pressing Decrease once gives a devia­tion scale factor of 50% per 10 pixels or 5% per pixel, not very different from before for this example (it would be more dif­ferent however if the sound had, say, 20 partials which would have compressed the vertical scale considerably). Pressing De­crease twice more would give a 10% per 10 pixel deviation scale factor which would be 1% or 5Hz per pixel. So if the 4th partial was 3 dots above the diagonal line, its multiple would therefore be 4.03 which is 15Hz sharp or 2015Hz.
With very low scale factors, such as 1% per 10 pixels, the partial frequency cross can be considerably off the diagonal line, and in fact well past its equivalent harmonic multiple position on the vertical axis. Remember though that it is the deviation from a perfect harmonic multiple that is being shown. If the deviation shown becomes very large, the partial cross may hit the top of the screen, where it will still be shown, or the horizontal axis where it will degenerate into a single dot just above the axis line.
.S.M.P Version 2.0 11
14.0 PARTIAL SELECTION
Partial selection has been added to several menus that previously did not have it. Also, selection of arbitrary partials and ranges has been made easier through use of the cursor. When the Select Partials menu appears, the current screen content is saved and a listing of partials is displayed along with a block cursor that may be moved by the cursor keys (or U,D,L,R on Apple II+ or II-in-a-Mac versions). Pressing #1 (Sel or Unsel) will flip the selection status of the partial the cursor is on. #2 and #3 (All Odd Relative and All Even Relative) work as before and select the odd or even numbered relative partials. Like­wise, #5 (All Absolute) and #6 (all Noise) work as before. #8 (Unsel All) will unselect all of the partials.
#4 (Range) works a little differently than before. When Range is pressed the first time, the partial under the cursor is selected and Range is highlighted on the menu to show that range selection is active. The cursor may be moved to any other partial, either after or before the one just highlighted. When Range is pressed again, all of the partials between the two will be se­lected and Range will revert to its normal appearance.
15.0 ADDITIONAL NOTES AND TECHNIQUES
This section discusses some additional points about .S.M.P. 2.0, and also gives a few tips for easier and more trouble-free operation of the program.
15.1 SIZES OF THINGS
Several displays and messages within .S.M.P. give the sizes of models, voices, and programs. Frequently, different sizes are given for what would seem to be the same "thing". For example, a given sound model may be shown on the Global Param­eters display as being 0.3K in size but when it is sent to the K150FS (with Audit), it might be shown as "SEND 182". Then when the model is saved on disk and the catalog displayed it will be shown to take 0.5K on the disk. This wide and confus­ing variation in the size of the same thing can be easily explained however.
In the memory of the Apple II computer, models are stored in a format that facilitates quick access and processing by .S.M.P. functions. The global parameters of a model always require a base of 64 bytes. Then for every partial in the model, 16 bytes are added plus 3 for the first breakpoint at 0,0. Every additional breakpoint adds 3 more bytes. The attack function initially takes 2(N+1)+4 bytes where N is the number of partials and then adds N bytes for each additional attack level. Knowing how large a model is becoming in memory is important because the Apple II’s model memory is limited to 6.25K where "K" is 1024 bytes.
When compiled and sent to the K150FS, the model typically shrinks so the number of bytes sent (which is the exact integer number rather than a rounded-off number of "K") is less that the size in memory. How much less depends mostly on the pro­portion of breakpoints that are at the exact same times. When some times are the same, the compiled model needs to specify the time only once (which takes 3 bytes) and then each breakpoint at that time needs only 2 bytes. Thus it is efficient to have breakpoints at coinciding times when possible. Knowing how large a model is in the K150FS is important because its voice memory is limited to 65308 bytes (or 64 voices). You may determine how much voice memory is left by pressing F3 on the K150FS panel when in base mode, i.e., no edit is in progress. Then the number of user voices used and remaining is dis­played by pressing NEXT.
When saved on disk, the size of a model increases sometimes seemingly dramatically. However, as models get bigger, the percentage increase declines. Much of this is due to the fact that disk files must be an integer number of sectors, each of which is 256 bytes or 0.25K. Then, because of the way that Apple DOS works, the minimum file size is two sectors which is
0.5K. Thus models up to about .2K in memory will take 0.5K on the disk, 0.3-0.5K will take 0.7K (actually 0.75K), and each
additional .25K in memory will take another .25K disk sector. Knowing how much space a model takes on disk is important because each disk holds about 77K with .S.M.P. recorded on it or 123K without (just a data disk).
.S.M.P. voices are really just lists of model names. In the Apple II memory, there is room for a list of 60 model names. On disk, even a maximum size voice file will take 0.5K. When a voice is sent to the K150FS, its size will be a little smaller than the sum of the K150FS sizes of the component models. This is because only one "voice header" is needed for all of the mod­els.
.S.M.P Version 2.0 12
K150FS programs are generally quite small in Apple II memory and take at most 0.5K on disk. Their size depends on the number of layers the program uses. Note that programs use up program memory in the K150FS. To determine how much program memory is left, press F2 on the K150FS when in base mode.
15.2 DISK FILE MAINTENANCE
Most needed disk file maintenance of sound files may be easily accomplished within the File Manipulate menu of .S.M.P. On that menu are functions for copying, renaming, and deleting individual sound files. For copying multiple related sound files as well as the S.M.P. program files, a separate program is provided. This program is called FID and is easily accessed as selection #2 when the .S.M.P. disk is booted. (For readers who are familiar with Apple II operation, the FID supplied with .S.M.P. is a modified version of the standard Apple FID so that it can handle .S.M.P. sound file names.) Other opera­tions, such as formatting blank disks, are performed with direct commands to Apple DOS. Those operations necessary for successful maintenance of an .S.M.P. sound library are briefly described below.
15.2.1 Formatting a Blank Data Disk
If your computer has two disk drives, you will probably want to operate with the .S.M.P. program disk in drive #1 and a data disk with just sounds on it in drive #2. With a one drive system you may boot .S.M.P. And then switch to a data disk since the entire .S.M.P. program (version 2.0) resides in memory during operation. A blank data disk may be formatted as fol­lows:
1. Boot your working master S.M.P. disk in drive 1 and then press #9 to escape to BASIC.
2. Insert the .S.M.P. distribution disk upside down in drive 1 and enter: LOAD SMP_HELLO_DATA
3. Remove the .S.M.P. distribution disk! and insert the disk to be formatted in drive 1 and enter: INIT SMP_HELLO_DATA
4. Formatting takes a couple of minutes. When the disk stops spinning, the disk is ready for use as a data disk with 123.5K free. The SMP_HELLO_DATA program simply informs you that the disk is an .S.M.P. data disk if you should ever try to boot it. Steps 3-4 may be repeated to format as many disks as desired.
15.2.2 Making a new .S.M.P. Program Disk Without any Sound Files
You may also wish to make .S.M.P. system disks which have the .S.M.P. program files but no sound files. This could be accomplished by copying the entire disk and then deleting all of the sound files but there is an easier way, especially with two disk drives, using the FID program.
1. Boot your working master .S.M.P. disk in drive 1 and then press #9 to exit to BASIC.
2. Remove the working master and insert a blank disk into drive #1 and enter: INIT SMP-HELLO which will format-the disk.
3. After the disk has stopped a couple of minutes later, remove it and put it into drive #2 if you have two disk drives or else hold it.
4. Insert your working master again and enter: RUN then press #2 to run FID.
5. Select #1 (Copy Files). Source Slot is 6, Source Drive is 1, and Destination Slot is also 6. If you have two disk drives, Destination Drive is 2; otherwise it is 1.
6. When it asks for FILENAME? enter: SMP= (carriage return right after the =). This means copy all of the files that begin with SMP, which will be all of the .S.M.P. program files.
7. Answer N to the Prompting? question and press return when it says Insert Disks. On a two drive system, all of the .S.M.P. program files will be copied automatically. On a one drive system, you will be asked to swap the disks sev­eral times. Reply with a return to the question about SMP_HELLO already existing.
8. When the copy is complete, the FID menu will be redisplayed. Entering 9 will escape to BASIC. If you plan to prepare .S.M.P. program disks frequently, you may wish to keep one without sound files as a working master that can then be just duplicated exactly which is a much faster process.
15.2.3 Copying Multiple Related Sound Files
The .S.M.P. modified FID program can also be used to copy multiple related sound files. Run the FID program by booting an .S.M.P. program disk and then select #2 to run FID. From the FID menu, select #1 which is Copy Files. Then set the source and destination slot and drive numbers as desired.
.S.M.P Version 2.0 13
Now, the filename entry is where the magic is. An individual sound file may be copied by entering its name in uppercase
0
-5
-10
-15
-20
0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6
Shape to be copied
0
-5
-10
-15
-20
0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6
Breakpoints added
by first copy
0
-5
-10
-15
-20
0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6
After 5 copies
preceded by a lowercase "m" if it is a model file, a "v" if it is a voice file, or a "p" if it is a program file. To copy multiple related files, the "=" character, which matches any character string, is used. Thus to copy all model files but not voice or pro­gram files, enter "v=" for the filename. Likewise, all program files ending with 2LYR would be specified by: "p=2LYR". The delete routine of FID can also accept filenames with "=" characters so that multiple, related files may be deleted.
15.3 MULTIPLE SHAPE COPY USING OVERLAP
Using the Contour Shape Copy function described in section 12 it is possible to have a single shape copied multiple times onto the end of a contour. This is accomplished by overlapping the source and destination intervals as described below.
For example, let’s assume that it is desired to duplicate a source shape exactly 5 times (for a total of 6) as illustrated below. To do this with overlap, make the source interval begin with the shape to be copied and end where the next-to-last copy would end. For the example, the source interval would therefore be from 50mS to 1300mS. The destination interval should start where the original ends and the first copy begins. When this is done, Viola! the shape is copied 5 times nearly instantly. It will only work when the destination contour is the same as the source though, either single, selected, or all.
specified to cover all the way out to 1300mS. The secret is that since copying is performed one breakpoint at a time from early to late, there will be breakpoints beyond 300mS (created by the copying) when the copy process reaches them. These breakpoints are copied again and again until the specified source interval is used up.
.S.M.P Version 2.0 14
So, why does this work? The original contour didn’t even have any breakpoints beyond 300mS yet the source interval is
Generally one doesn’t stop with the contour shape duplicated exactly; the copies are processed further to make an interesting sound. The model called BLURBBLE in the sound library was created by beginning with a single partial and a simple 3­point dip shape. This shape was duplicated several dozen times as described above. Next the single partial itself was dupli­cated 16 times and the frequencies set to harmonics using Partial Parameters menu functions. Then the entire contour of each partial was time shifted a different amount (higher partials shifted more) using Time Adjust. Finally, the time scale of the entire sound was warped using Time Adjust again so that the repetition rate gradually slowed down. One could go one step further and use Amplitude Adjust on each contour to give another level of evolution to the sound’s average spectrum.
16.0 SOUND LIBRARY 1.7
Below is a listing of models, voices, and 150FS programs on the label side of the .S.M.P. distribution disk. All of these may be loaded into the 150FS at once by using the Load Library function in the File Manipulate menu and specifying First File=l and Last File=57. This will avoid loading those models which are part of multi-model voices twice.
16.1 MODELS (Become single-model voices when loaded)
FILE #
1 SAWEY_1 100 Sawtooth with looped random contours & long release 2 STRNGZ_A 102 Sawtooth with looped random contours & short release 3 STRNGZ_B 103 Same as STRNGZ_A except different loop length 4 STRNGZ_C 104 Same as STRNGZ_A and B except different loop length 5 CLEARZ_A 105 Same as STRNGZ_A except no 2nd & 4th harmonics 6 CLEARZ_C 106 Same as CLEARZ_C except different loop length 7 XZPHONE 107 Synth xylophone 8 CLOOCK 108 Percussive attack lead synth sound 9 ORGNLOOP1 109 Synth electric organ with looped random contours 10 AH_EXP_1 110 Spectrum of vowel "AH" around C3 11 STEELDRM 111 Steel drum voice 12 SYNCHIME 120 Synth chime 13 SHRPHARM 121 Sawtooth with increasingly sharp partials 14 ECHOTNNY 122 Sawtooth with long release on middle partials 15 SMPLORGN 123 Synth electric organ 16 CLEARNET 124 Sawtooth with no 2nd and 4th harmonics 17 OBOY 125 Modified model from resident Oboe voice 18 GEETAR 126 Modified model from resident Guitar voice 19 PLICK 127 20 CHURKLE 128 21 OINNKK 129 22 EVOLUTN 130 Slow random contours of 5 partials over 10 seconds 23 PIPSMANY 131 Pip-like random contours of 5 partials 24 ATTKFILT 132 Attack function simulates velocity-sensitive filter 25 LOOPED1 l33 Exaggerated, incompletely closed loop 26 DEMO_1 134 Strange velocity sensitivity 27 CELCST 135 Synth celeste sound 28 TAPE_VERB 136 Tape reverberation simulation with loops 29 TIMPAN 137 Published frequencies of timpanii vibration modes 30 HARPODD 138 Odd partials of model from resident-Harp voice 31 XYLO 139 Synth xylophone 32 HVNBELLS 140 Delicate sounding synth bells 33 HARPEVEN 141 Even partials of model from resident Harp voice 34 PRCCLOCK 142 Same as CLOOCK but with decaying envelope 35 ORGNLOOP2 143 Same as ORGNLOOP1 with a different length loop 36 BLURBBLE 144 See section 15.3 37 SPACEDHM 145 Harmonic sound with spaced-out higher harmonics 38 GLASHARM 161 Synth glass harmonica 39 ORGNSWEP 162 Synth electric organ with swept notch filter
NAME VOICE# DESCRIPTION
.S.M.P Version 2.0 15
16.2 VOICES
-none-
16.3 PROGRAMS (Use the Models and Voices listed above)
FILE # NAME PROGRAM LAYERS NOTES
40 STRINGS_ 150 STRNGZ_A STRNGZ_B STRNGZ_C Synth strings 41 FULLPIPE 151 STRNGZ_A STRNGZ_B STRNGZ_C 42 CLEARZS_ 152 CLEARZ_A CLEARZ_C 43 CLEARSTR 153 SAWEY_1 CLEARZ_C 44 CARSELL 154 XZPHONE ORGNLOOP1 PRCCLOCK 45 CLOOCKS_ 155 CLOOCK CLEARZ_C 46 BBENORGN 156 CLOOCK CLOOCK Press sens detune 47 ORGLOOPD 157 ORGNLOOP1 Press sens chorus 48 AHH-UMMM 158 AH_EXP_1 ORGNLOOP1 Press sens detune 49 AHHH_LOW 159 AH_EXP_1 LOOPED1 Press sens detune 50 LYRORGLP 160 ORGNLOOP1 LOOPED1 51 GLASHARM 161 GLASHARM 52 SYNCHIME 162 SYNCHIME Press sens chorus 53 STEELDRM 181 STEELDRM 54 HVNBELLS 182 HVNBELLS 55 PRCCLOCK 185 PRCCLOCK 56 TAPEVERB 186 TAPE_VRB 57 ROCKORGG 187 SPACEDHRM SPACEDHRM Press detune
16.4 MODELS (Part of multi-model voices)
- none -
.S.M.P Version 2.0 16
AMENDMENT TO .S.M.P. VERSION 2.0 INSTALLATION PROCEDURE
27-MAY-88
Due to the fact that the Apple II+ keyboard cannot generate the underline (_) character, the program filenames referred to in section 2.0 INSTALLATION have been changed. Wherever an underline appears in a filename, for example SMP_IIE_2.0, it has been changed to the minus sign. Thus the above sample filename should be typed in as SMP-IIE-2.0. This applies to all of the program files, even those associated with the Apple IIe and Apple IIc whose keyboards can produce the underline character.
Sound file names in the sound library have not been changed however. Therefore on an Apple II+ it will be necessary to use cursor selection on the catalog display to select those model, voice, and program files which have the underline character. It is suggested that Apple II+ users rename these files if they are ever edited or modified.
NOTES FOR II-IN-A-MAC VERSION OF K150FS .SOUND.MODELING.PROGRAM. V1.4
II-In-A-Mac is a Macintosh program that emulates an Apple IIe. Through II-In-A-Mac it is generally possible to run Apple IIe programs in much the same manner as they run on an actual Apple II. Not everything can be emulated exactly however. For example, the Macintosh keyboard has fewer keys than an Apple IIe and recognition of held keys is somewhat different. Also since the emulation speed is substantially less than a real Apple IIe, delay loops and beep routines act differently and the capacity for the emulated program to keep up with input data (for example, a MIDI stream) is less.
Accordingly, the II-In-A-Mac version of the Sound Modeling Program is somewhat different in operation from that described in the .S.M.P. manual. These differences are described below.
1. Since there are no cursor or Apple keys on the Macintosh keyboard, movement of the block cursor is accomplished with
the following keys (CAPS LOCK must be on):
U = cursor up D = cursor down L = cursor left R = cursor right N = next screen (open-apple/down) P = previous screen (open-apple up)
2. The graphic (crosshair) cursor is moved using the mouse and simulated joystick (’Joystick’ option must be on and vertical
axes should be swapped).
3. To scroll the time axis, use the following keys:
F = forward 4/5 screen (1/5 not available) B = backward 4/5 screen (1/5 not available)
4. On the live keyboard, notes toggle on and off rather than sustain when a key is held. Also, the keyboard buffer should be
turned off (see below). Other keys recognized are:
D = down one octave U = up one octave
5. An Op-Code MIDI interface plugged into the modem port is expected. Using the Live Keyboard or any function that
sends a sound to the 150 without the interface plugged in will hang the program.
6. Presently, models, voices, and programs cannot be read back FROM the K150FS since the data rate is too fast for the
emulated S.M.P. to keep up with.
.S.M.P Version 2.0 17
II-IN-A-MAC .S.M.P. QUICK STARTUP PROCEDURE
1. Insert the supplied disk and double-click on the II-IN-A-MAC icon (it is a 400K disk WITHOUT a system folder).
2. After the *LOADING* screen appears in the simulated Apple II area, select the OPTIONS pull-down menu and click on the following in the order given:
A. Disable keyboard buffer B. Reverse vertical axes C. Use joystick
3. When the .S.M.P. sign on screen appears, you may proceed as desired using the Macintosh keyboard digit keys to select from the various .S.M.P. menus.
4. To exit to the Macintosh operating system, press the special option key (to left of spacebar) and click the mouse while holding. This exits joystick mode and frees the mouse. Then select the FILE pull-down menu and click on Quit to Finder.
Additional information about II-In-A-Mac may be found in the Manual selection of the HELP pull-down menu.
The II-In-A-Mac version of the K150FS Sound Modeling Program is an interim method of running the program on an Apple Macintosh. Version 2.0 will be fully functional including voice, model, and program readback. However the generally slow speed of the emulator (as much as 10 times slower in drawing the screen compared to a real Apple II) makes it useful mainly for loading sound libraries from Macintosh disk into the K150FS and less so for any kind of heavy editing or serious sound development. A real Apple IIe, IIc, or clone performs much better.
.S.M.P Version 2.0 18
Loading...