Kurzweil SMP User Manual

77.04 Kb




For the Kurzweil 150 FS and the Apple IIe

Version 1.0 User’s Guide

KMSI P/N: 91010701

Section I -- OVERVIEW

This manual for Version 1 of the 150FS Sound Modeling Program comprises seven sections. They are as follows:











aSound File Manipulation

bDefine or Edit a Single Sound Model

cConstruct or Edit a Complete Voice VI SOUND MODELING EXAMPLES


The logical structure of the Sound Modeling Program is a menu tree. There are three options plus an exit option at the top level of the program - the level which appears on the screen when you start the program. Options are selected by pressing the numeric key which corresponds to the number of the option as indicated in the option menus. Options menus look like this:

K150 FS










Pressing a numeric key to select an option takes you one level deeper into the program, with the exception of the 0 key, which takes you up (or back) one level toward the top level of the program.

Options of the Sound Modeling Program are of two kinds - selection and function. Selection options move you through the menu tree, allowing you to view options at all levels of the program. Function options actually perform the work of the Sound Modeling Program. In the section describing the features of the Sound Modeling Program, each option will be followed by a letter in parentheses, (S) or (F). (S) designates a selection option, and (F) indicates a function option. Pressing the numeric key for a selection option will call up an options menu at a different level of the program. Pressing the key for a function option will either change a value, execute a program routine, or generate a dialog box which prompts the user to enter a value.


When entering a value prompted by a dialog box, the data entered by the user appears in the lower left corner of the screen, beneath the current options menu. If an error is made, the value may be changed by backspacing with the left cursor (arrow) key, and either re-entering a value, or canceling the highlighted character by pressing the space bar. The entire field may be cleared by holding the CONTROL key and pressing X.

In the section describing the Sound Modeling Program features, the levels of the program are suggested by the indentation of the paragraphs describing the feature. The further indented the text, the deeper the level of the program being described.

Every section of this manual is important for a thorough understanding of the 150FS Sound Modeling Program. Nevertheless, reading it straight through at once is not necessary. It is designed to allow you to use the section(s) most useful to your approach to learning.

Section II - Definition of Terms - may be the single most helpful starting point. The Sound Modeling Program employs terminology which may be unfamiliar to you, or may be viewed differently by the logic of the program. Most of the manual assumes your familiarity with the terms used by the Sound Modeling Program. Reading the definitions of terms first will make the remainder of the manual more comprehensible.

Section III - Setup - gives a verbal and visual explanation of the necessary connections.

Section IV - 150FS Functions provides background on the 150FS and how it operates with the Sound Modeling Program.

Section V - Description of SMP Features - reads through every option in the program (beginning with the lowest numbered option in the main menu and moving always to the next lowest numbered available option). Options are defined and explained thoroughly. This section allows you to explore every detail of the program’s function.

Section VI - Sound Modeling Examples - enables you to step through most of the major functions of the program. Following this scripted tour will familiarize you with the logic of the Sound Modeling Program, and the basic protocols for sound file editing. This section is oriented toward learning by doing.

Section VII - Constraints - describes some limits to SMP version 1.


AMPLITUDE The amount of sound pressure created by a sound source, or the intensity of an electrical signal which will be converted into sound through a speaker system. This is measured in units of decibels (dB), interpreted by the ear as loudness, and represented mathematically by the distance from zero on a scale calibrated in dB.


There are two keys on the IIe keyboard identified by an apple symbol. One of these is a line draw-

ing, and is referred to as the open apple key. The other is a solid shape, and is called the solid apple key.


The initial rising portion of a sound’s amplitude envelope.

ATTACK FUNCTION A set of curves which describes how the overall spectrum of a sound model is to be modified for different MIDI key velocities. Each curve in the set is called an attack level.

ATTACK LEVEL One of the curves that makes up the attack function. A sound model may have from 1 to as many attack levels as desired (a practical limit is 20-30). All notes with MIDI velocities between two attack levels will take on the spectrum modification specified by the curve associated with the lower attack level.

BASE FREQUENCY The lowest frequency at which a model is intended to be played, and the frequency from which the frequencies of the relative sine partials are calculated. A model which will be played in a range moving upward from middle C, for example, should have a base frequency of 261.6 Hz. All relative sine partials in the model will have frequencies which are multiples of the base frequency.


A change in the direction of the amplitude envelope (contour) of a partial. The user inserts,

moves, or deletes breakpoints to create a contour which approximates the desired smoothly varying envelope shape.


A list of models, voices, or compiled voices which is available at several locations in the Sound

Modeling Program. It allows the user to review his/her library of disk stored files.


The conversion of sound model data from the internal format used by the Sound Modeling Pro-

gram to the format required by the 150FS.


An amplitude envelope. In simpler terms, a visual representation, based on bipolar coordinates, of

changes in amplitude over time. Each partial in a model evolves over time, its amplitude rising and falling according to instructions entered by the user. The Sound Modeling Program displays the changes in amplitude on a graph with amplitude on the vertical axis and time on the horizontal axis. The curve determined by the coordinates entered by the user constitutes the contour of the partial being edited.

CROSSOVER During compilation, a global parameter (affects all partials in the model) governing the choice made between use of quiet but less accurately computed contour slopes and noisier but much more accurately computed contour slopes.

CROSS SECTION A display which shows the instantaneous spectrum of the sound at a time selected by the user. Each bar in the display has a position according to its frequency (assuming that the base frequency is being played) and a height according to its amplitude.


A curve which describes the evolution of a sound over time. The Sound Modeling Program deals

with amplitude envelopes, the changes in amplitude which a sound undergoes as time progresses.


The 150 Fourier Synthesizer takes it name from the acoustic physicist Fourier, among

whose hypotheses was the assertion that any sound may be represented as a composite of sine waves. The 150FS creates its sounds by combining sine waves.

FREQUENCY The rate at which a sound producing object vibrates, measured in Hertz (Hz), or cycles per second.

FUNCTION OPTION The Sound Modeling Program employs two types of options. Function options request the program to make a calculation, change a value, or execute a routine. Compare this to selection options.


Pertaining to all of the functions or characteristics of a given system.

GLOBAL PARAMETER Refers to a Sound Modeling Program model. A parameter affecting every partial in the model. Compare to partial parameter.

LEVEL Not to be confused with attack level, a level in the Sound Modeling Program relates to the selection of options. Pressing a IIe key calling for a selection option changes the level of the program addressed by the user. The EXIT option, for example, takes the user :up" a level each time EXIT is selected. Pressing any of the other selection option keys takes the user "down" a level. The user loads the program, entering at the top level, and moves to lower levels by selecting options.


The portion of the display which presents the user with the available options for that particular




At the top level of the Sound Modeling Program, there are only a few options available. Each of

those options presents a further list of options, and so on, so that at lower levels the number of options is great. Selecting options is analogous to moving along the branches of a tree, where there are just a few major options at the base, and numerous minor options at the outer reaches. The Sound Modeling Program is structured as a menu tree.

MIDI CONTROLLER Often a device with a piano-like keyboard. Any device which converts an electrical signal into digital (binary) information formatted according to the MIDI Specification (MIDI is an acronym for Musical Instrument Digital Interface).

MIDI INTERFACE A device enabling computers without the standard five-pin MIDI cable fitting to connect with devices having the standard MIDI hardware.


A device which receives MIDI data input from two different sources, combines the data, and

transmits them as a single MIDI data output signal.


The complete set of Sound Modeling Program parameters that specify a sound. These include all

of the Global Parameters, the Contours, Release Rates, and Attack Function. A model typically covers a limited pitch range but can cover the whole keyboard.


A type of sound distinguished by having a random waveform which is equivalent to having a near-

infinite number of partials. If the noise spectrum has a sharp peak, then a sense of pitch may be heard.


Any of the features of the Sound Modeling Program, which the user selects by pressing a He key

corresponding to the feature the user wishes to operate.


A component of synthesizers, generating an electrical signal which varies in response to voltage

input. The electrical signal is converted into sound by an audio system.


Any variable condition of a system, the alteration of which affects the product of the system. In

the Sound Modeling Program, parameters vary from naming a model to setting the release rate of individual partials.


A single waveform whose characteristics are defined by the user. In the 150FS, a partial may be a

sinewave with definable frequency and amplitude, or noise with definable spectrum and amplitude. Up to 64 partials may be assembled to compose any one model.

PARTIAL PARAMETER Any parameter which affects only one particular partial. Compare to global parameter.

PARTIAL STEALING The 150FS can produce a maximum of 240 partials simultaneously (it has 240 oscillators, and the electronics to drive each of them independently), with a maximum of 64 partials per voice. Whenever a series of sounds is being signaled for from a MIDI controller, the 150FS responds with the appropriate number of partials. If the incoming MIDI information calls for more than 240 partials. The 150FS’s microprocessor searches the partials in use to determine if

any are "optional," as indicated under the PARTIAL PARMS options menu, and steals these first. If this is insufficient to meet the needs, partials will continue to be stolen until the requirements of the new note are met.


An acronym for Random Access Memory, computer memory to which the user has access for

changing existing data and writing new data.


The portion of an amplitude envelope in which a sound is decreasing in amplitude and approach-

ing silence. The Sound Modeling Program enables the user to modify release rates for individual partials, or for entire models.

ROM An acronym for Read Only Memory, computer memory which the user may call up and utilize, but which may not be altered by the user.

SELECTION OPTION A Sound Modeling Program option which does not execute any function, but simply calls up another menu of options. Compare to function options.


An envelope function which determines how long a sound will continue to be audible.


A collection of models. Voices usually consist of a number of models with a range of base fre-

quencies such that the voice covers most or all of the range of the standard piano keyboard.


EQUIPMENT NEEDED (absolute minimum):

Kurzweil 150FS Synthesizer equipped with Sound Modeling Program software

Sound Modeling Program disk

Apple IIe Microcomputer with at least one disk drive

Connector cable from IIe to monitor (RCA on the IIe end)

Monochrome monitor (color may be used with color turned off)

Passport Designs MIDI interface card for the Apple IIe

2 MIDI cables

Headphones or sound system for monitoring 150FS sounds

Power cables for all machines

Note: The 80-column card for the IIe is not needed by the Sound Modeling Program.

The Sound Modeling Program allows you to use the Apple IIe keyboard as a simulated piano keyboard to trigger sounds from the 150FS. If you prefer to trigger the 150FS from a more standardized keyboard, you will also need the following:

MIDI controller, such as the Kurzweil MIDIBOARD-any keyboard with MIDI capability is adequate

MIDI merger (J L Cooper MIDI Blender, for example) to combine the outputs from the MIDI controller and the Apple IIe into a single output directed to the 150FS

2 additional MIDI cables (total of 4)

Note: if you do not have a MIDI merger, it is possible to get by with just your MIDI controller and a total of 2 MIDI cables. This will involve swapping cables back and forth from the MIDI Outs of the MIDI controller and the Apple IIe whenever you wish to switch from playing the keyboard to using the computer. You’ll find it worthwhile to pick up a MIDI merger.

Here’s how to get everything powered up.


Before connecting the power cable of the IIe, remove the access panel, exposing the circuit board. The access panel lifts from the rear of the unit, and hooks under a lip just behind the keyboard. Locate card slot #2. As you face the keyboard of the IIe, it is the second slot from the left in the row of seven slots at the rear of the circuit board. The slots are numbered; if you look closely behind each slot, you will find the numerals.

Hold the Passport Designs card so that the side with the MIDI cables protruding is on your right. Insert the tab at the bottom of the card into slot #2. It’s a fairly tight fit, and you’ll have to apply quite a bit of pressure to install the card properly.

The Sound Modeling Program assumes that your disk drive interface card is installed in slot #6. Now is a good time to make sure that this is the case with your IIe.

With the MIDI interface card in place, you may replace the IIe access panel. The MIDI cables will interfere with the panel’s fit, and it will not close completely. If you wish to place your monitor atop the IIe, you may press the access firmly until it reaches a nearly closed position. This will be sufficiently level to prevent your monitor from sliding off.

Connect the video cable between the IIe and the monitor. The jack on the IIe is at the far left and bottom of the rear panel as you face it.

Connect the power cables for the IIe and the monitor.

Depress the "CAPS LOCK" key on the IIe keyboard.

Insert the Sound Modeling Program disk into drive #1 and power up your IIe and monitor. After the program loads (which takes about 30 seconds), you should see a display which reads


Apple IIe/K150 Fourier Synthesizer

Sound Modeling Program


Check to see that the disk is inserted properly in the disk drive, and the door is properly latched.

Make sure all your cable connections are in place (IIe and monitor power cables, IIe to monitor video cable, disk drive ribbons).

Check that your MIDI interface card is firmly inserted in slot #2, and that your disk drive interface card is firmly inserted in slot #6.


Connect the power cable to the 150FS and to a power source (100-120V or 220-240V). Be sure that the voltage adjustment switch is set to the proper voltage rate for your location.

If you plan to monitor your sounds through a sound system, connect a standard (1/4") audio cable from the Audio Out jack of the 150FS to the Line In of your sound system.


Connect the power cable to the MIDI controller and to a power source (100-120V or 220-240V). Be sure that the voltage adjustment switch is set to the proper voltage rate for your location.


Connect the merger’s power cable to the merger and to a power source.


One cable connects your MIDI controller’s MIDI Out and one of the MIDI Ins of the MIDI merger. One cable connects the MIDI Out of the IIe and one of the MIDI Ins of the MIDI merger. One cable connects the MIDI Out of the MIDI merger and the MIDI In of the 150FS. One cable connects the MIDI Out of the 150FS and the MIDI In of the IIe. See figure 1.

Note: If you have a Kurzweil MIDIBOARD you may connect the MIDI Out of the MIDIBOARD to the MIDI In of the 150FS, the MIDI Out of the 150FS to the MIDI In of the IIe, and the MIDI Out of the IIe to the MIDI In of the MIDIBOARD. Use the MIDI In button on the MIDIBOARD’s front panel to toggle control of the 150FS from the MIDIBOARD to the IIe.

MIDI Controller


MIDI interface





in out thru

















Apple IIe





































cable MIDI cable

MIDI MIDI cable cable

150 FS

in in out



MIDI merger

MIDI in thru out

to sound




Figure 1 Rear view of components

Note: if you are not using a MIDI controller, two of the MIDI cables and the MIDI merger are unnecessary for your setup. Simply connect the MIDI Out of the IIe to the MIDI In of the 150FS, and the MIDI Out of the 150FS to the MIDI In of the IIe. You may use the LIVE KEYBOARD option in the Sound Modeling Program to trigger sounds in the 150FS.


If you haven’t already loaded the Sound Modeling Program, do so now by inserting the disk into drive #1. The program should take approximately 30 seconds to load. Use the following sequence of keystrokes to load a model and see if everything is functioning properly.






At the lower left of the screen, the display should show SEND 264 for a few seconds. When this display disappears, the model is ready for auditing. Strike a key on your MIDI controller, and you should generate an audible signal through your headphones or sound system.



C (the letter) You should hear something at this point.


Check your MIDI connections, being certain that all cables are routed to the proper MIDI ports.

Press the 0 key on your IIe until you return to the top level, and repeat the steps outlined above for loading a model and auditing.

Retrace the checks for the IIe outlined above.

Check your headphones, or if you’re using a sound system, check the audio connection from the 150FS and the sound system itself.

NOTE: The Sound Modeling Program uses interrupts to facilitate MIDI I/O. It has been found that some Apple II serial I/O cards may not reset properly when power is applied and will generate spurious interrupts until addressed with an IN# or PR# command. These interrupts will interfere with proper operation of the Sound Modeling Program and cause a double beep (different pitches) and break to the monitor. If this happens frequently, you may wish to modify the HELLO program on your work copy of the Sound Modeling Program disk to include the needed IN# or PR# command.

If you are unable to get your system up and running, contact Kurzweil Service or Product Education at (617) 893-5900.


Section IV is arranged into four parts: a description of the sound-producing technology of the 150FS, a description of the process for representing the envelopes of partials in the 150FS, an explanation of the attack function, and an explanation of the Sound Modeling Program’s looping function as it affects the 150FS.


There has been much discussion, since the release of the first Kurzweil 150 Expander, regarding the process used by the 150 to produce sound. The 150FS is an additive synthesis machine, generating sounds by combining waveforms to replicate the waveform models of acoustic or electronic sounds.

The acoustic physicist Fourier asserted that any sound may be represented as a waveform composed of simple sinewaves. The 150FS takes its name from this pioneering scientist because it uses a microprocessor to assemble a collection of sinewaves (or noise waveforms), reproducing a waveform model associated with voice information stored in the 150FS’s memory.

The 150FS contains 240 independent oscillators, all of which may be called into operation simultaneously. Each oscillator produces a waveform which becomes part of the composite of waveforms necessary to reproduce the waveform model of an acoustic or electronic sound. Each of these composite waveforms may consist of up to 64 individual waveforms, one per oscillator. Each individual waveform is a part of the collection of 64 or fewer waveforms, and is referred to as a partial. Each collection of partials is known as a model, and is the basic building block of sound in the 150FS. Models, in turn, are combined to form voices, which are used in the 150FS programming structure to create complete programs. Refer to the 150FS manual for further information regarding voices and programs.

Each partial is generated through an independent oscillator, with a frequency range of 0 - 9.4 kHz, with incremental resolution of 0.3 Hz. Waveforms may be either pure sinewaves, or either of two noise (random) waveforms.

Each oscillator’s output is processed through an amplitude modulator which assigns an initial amplitude to each partial, and designates the rate of change in amplitude as the partial evolves. Initial amplitude covers a range from 0 - 95.6 dB, and rate of change covers +/- 9999 dB per second in either 1.79 or 28.6 dB per second increments.

Each partial, then, is determined by an amplitude envelope which may have as many as 2700 breakpoints, or 2701 envelope segments. A breakpoint represents a point on the curve of the amplitude envelope at which the slope of the curve changes. A segment is the area between two breakpoints. The amplitude modulator assigns new rate of change values at every breakpoint in a partial. The amplitude envelope curve which defines a partial is referred to in the Sound Modeling Program manual as a contour.


The Sound Modeling Program and the user view and manipulate contours (the partials’ amplitude envelopes) in "absolutetime, absolute amplitude" form, which is easy to understand, display, and edit. In this form, each breakpoint in the straightline segment approximation of the contour has a time in milliseconds and an amplitude in decibels. If the 150FS had to play out the contours in this form, however, it would have to compute the line segment angles in order to interpolate all of the intermediate amplitude values needed to get a smooth sounding result. Since such computation is time consuming (particularly for 240 partials at once), contours are sent to the 150FS in a different form called "delta-time slope" format.

In delta-time slope format, each breakpoint has a time delay to the next breakpoint, and a slope, either positive or negative, calibrated in decibels per second. The slope is such that after the delay has elapsed, the amplitude has actually reached the value desired for the next breakpoint. Then a new delay and slope are set up for the second line segment to the third breakpoint, and so on. Thus the line segment angles are actually computed ahead of time by the Sound Modeling Program rather than "on the fly" by the 150FS. One can think of the process as launching line segments from one breakpoint to the next.

The last breakpoint in a contour is given an infinite delay and a zero slope so that the partial’s amplitude remains constant. If that last amplitude is -95.6 dB, then the partial remains off (and available for use by other notes). If the last amplitude is some other value, the partial will continue sounding at that level until the note is released.

The conversion from absolute time, absolute amplitude format to delta-time slope format is not exact because of limited numerical precision in the 150FS. Delta-time is expressed in integer samples, each of which is .0512 millisecond. Slope is expressed in integer units of two different sizes. For rapid amplitude changes (steep slopes), units of 0.001465 dB per sample (28.61 dB per second) are used, while slower changes (shallow slope) use units 16 times smaller - 0.00009155 dB per sample (1.788 dB per second). The crossover global parameter determines whether the large or small slope units are actually used. The slope is first computed using the large units, and if the number of steps is smaller than the value set for crossover, the slope is recomputed using the smaller units. The disadvantage to the smaller units is that they can generate undesired noise at low frequencies. Therefore, setting a smaller value for the crossover parameter will usually result in a quieter sound, since the number of steps required to compute the slope is likely to be larger than a smaller value. Both the delta-time and slope values must be expressed in integers, therefore there is some roundoff error in the conversion of each breakpoint. The Sound Modeling Program, however, keeps track of the error, preventing it from accumulating.


The attack function is a spectral modification of the whole sound model according to the MIDI key velocity received. This function is very simple to implement when contours are represented in delta-time slope format. The attack function simply alters the first line segment in the contour of each partial. The time and amplitude positions of every contour segment in delta-time slope form depend on the positions at the end of the previous segment, so altering the first segment will affect the average amplitude of the entire contour. The alterations in the first segment come from a separate table for each partial. Values from this table are assigned according to MIDI key velocity. Editing the attack function changes the data in these tables.


A loop may be used to repeat a portion of a model’s contours for as long as a note is held. When a note is played, the 150FS follows all of the partial contours from its beginning (time = 0) to the LOOP-FROM time. At that time, all of the partials loop back to the LOOP-TO time and repeat the contour shape - as long as the note is held. Releasing the note will cause the contour to evolve as it normally would according to the parameters set for it. Because of the way contours are represented in the 150FS, looping can produce results much different from those achieved with a sampling synthesizer.

When looping with the Sound Modeling Program, there are four possibilities regarding the location of the loop points (LOOP-FROM and LOOP-TO). They may both be at breakpoints in the contour. One may be at a breakpoint, and one not (2 possibilities). Both may be at locations which are not breakpoints.

Figures 1A and 1B illustrate two of three possibilities with both loop points located at breakpoints in the contour. In the first case, the amplitude at the LOOP-FROM point is equal to the amplitude at the LOOP-TO point. This will repeat the looped section of the contour as long as the note is held, with no net change in amplitude. In the second case, the amplitude at the LOOP-FROM point is greater than that at the LOOP-TO point. Unlike the looping of sampled sounds, there will be no click in the loop as a result of the amplitude discontinuity! What occurs is a "spiraling" of the contour’s amplitude. For example, if the LOOP-FROM amplitude is -14 dB and the LOOP-TO amplitude is -16 dB, the partial’s amplitude will increase 2dB each time through the loop. Conversely, if the LOOP-FROM amplitude is less than the LOOP-TO amplitude, the partial’s amplitude will decrease, each time through the loop, by the difference between the two amplitudes. It is feasible to set up a loop in which some partials spiral up in amplitude, and some down, with some remaining unchanged.

Loop To

Loop From


+ 26 hidden pages