💾 Archived View for mirrors.apple2.org.za › archive › apple.cabi.net › Music.and.Sound › synthLAB.Re… captured on 2024-06-16 at 14:08:38.

View Raw

More Information

⬅️ Previous capture (2023-01-29)

-=-=-=-=-=-=-

synthLAB Electronic User�s Manual

written by Mark Cecys and Lee Collings

Copyright 1992 Apple Computer, Inc


Table of Contents

I.	 How to use this Electronic Manual 
II.	 Manual Terms
III. Introduction to synthLAB 
IV.	 Background Information / Hardware Considerations System
     Requirements AppleTalk and MIDI Functions Audio Output Connecting a
     MIDI Device to synthLAB Limitations 
V.	 Installing synthLAB 
VI. 	Opening synthLAB 
VII.	Overview of synthLAB Navigating
        synthLAB The Sequencer Page The Deck Controls Tempo Control Track
        Controls Editing Instrument Records Screen Keyboard Envelope Edit Page
        WaveList Edit Page Oscillator Configuration Apple Menu File Menu Edit
        Menu Setup Menu Appendix A The MIDI CDEV

� How to use this Electronic Manual

This manual is a general reference guide for starting and navigating
around synthLAB�.  By itself, it certainly is not complete, especially
if you�re going to attempt to create your own instruments.  synthLAB�s
primary purpose is to demonstrate the musical talents of the IIgs� and
to support and encourage developers working with the MIDI Synth�
toolset. The system architecture and many of the parameters and
functions which synthLAB controls, are described in another document
entitled MIDI Synth External ERS and are not duplicated here.

The ERS is technically oriented and is written primarily for use by
programmers and developers. Use this manual, the synthLAB application,
and the ERS together, referencing various sections in each, until you
have a solid understanding of how things work.  If you are going to
attempt to develop instruments or sequences, it is important that you
read the ERS.  The ERS may be obtained through APDA, Apple's source for
developer tools.

Key topics have been identified throughout the manual with a bullet (�)
character (option-8).  To locate any key topic, simply use the Find
command from the Edit menu to locate the bullet character.  This will
allow you to move quickly through the electronic version of this
manual.

If you plan on using synthLAB to play pre-recorded music or sounds, you
can proceed directly to the section entitled �Using synthLAB�.  After
reading this section, you may feel comfortable enough to experiemnt
with the application.  If you plan on using synthLAB to create new
instruments and sequences, we strongly suggest that you print out this
entire manual and have it on hand as a reference.

This manual and the ERS assume that you have a good understanding of
how MIDI works.  Explaining and describing all of the many aspects of
MIDI is beyond the scope of this manual.  If you need additional
information, there are many excellent books written about MIDI.  Check
with your local music dealer for these resources.


� Manual Terms

There are some terms used in this manual that might cause some
confusion. The term keyboard will always refer to an external MIDI
keyboard (the musical kind). The typing keyboard that�s part of your
IIgs computer system, will be called the IIgs keyboard.  Also, new
names are given to some of the hardware ports on your IIgs.  Since MIDI
devices are connected to either the Modem or Printer ports on the back
of the IIgs, these will be referred to as a MIDI port.  The headphone
jack, which usually connects to some type of external amplifier, is
called the audio output port.  If you�re using a stereo interface card,
the audio output port is the stereo output connector on the card.


� Introduction to synthLAB

synthLAB is a demonstration and support application for users and
developers who are interested in playing music or sounds or creating
programs using the MIDI Synth toolset (Tool035).  synthLAB is comprised
of three basic components: a synthesizer, a sequencer and a MIDI
driver.  Whether you�re interested in having a little fun, learning
more about music, or developing applications, we think you�ll have a
great time using synthLAB.

synthLAB allows you to play the pre-recorded music sequences and
instruments included with this product.  Additional sequences can be
found on many on-line bulletin board systems.  synthLAB can also create
new instruments for itself or for use in your own application, either
by modifying existing ones, or by creating new and original ones.

You can also create the sounds that you want by experimenting with
different instrument combinations.  These combinations take advantage
of MIDI Synth software�s multi-timbral feature.  No longer do you have
to �hand-code� instruments and sequences into your source code without
the benefit of hearing exactly what you�re creating. Using a tool like
synthLAB to create sound for your application should be easier, and the
result will certainly be more interesting to you and your clients.

In addition, synthLAB makes a great educational tool.  Because it is
built around the MIDI Synth tool, it helps users understand how MIDI
Synth works.  Most of synthLAB's software parameters directly
correspond to MIDI Synth parameters.  If you�re not quite sure how a
certain parameter affects MIDI Synth, you can use synthLAB to try it
out, playing with different values until it becomes clear. You can also
learn and develop the techniques needed in creating your own quality
instruments by examining and manipulating the instruments provided with
synthLAB.  Making interesting instruments is an art.  The best way to
learn this art is by actually trying it yourself.


� Background Information and Hardware Considerations

� System Requirements - Apple� IIgs system - 1Meg of system memory or
greater - GS/OS� 5.04 or greater - One 3.5" drive

Recommended - External amplifier/speakers (home stereo, powered
monitors, etc.) - MIDI interface (Apple MIDI, Audio Animator�, etc.) -
MIDI controller (external MIDI keyboard, MIDI guitar, etc.) - Stereo
interface card (Audio Animator, etc) - MIDI Synth External ERS manual
for developers

Optional - Hard disk - MIDI synthesizer, sampler, etc. - Reverb or
Effects Processor

synthLAB will work on all IIgs models with a ROM version 01 or higher.
Like most new applications these days, you�ll need a minimum 1 megabyte
of system RAM. If your IIgs does not have 1 MB on the motherboard,
you�ll need a 1 MB expansion card installed.

If you�re using an older version of GS/OS, then see your dealer or
visit a user group for an upgrade to the latest version.

� AppleTalk and MIDI Functions

You�ll get an error dialog if the AppleTalk� port is active. Due to the
way the interrupts work on the IIgs, the MIDI functions and AppleTalk
can�t work together.  AppleTalk requires additional CPU time which
would degrade the performance of synthLAB. You can still use the
program by selecting the Continue button in the error dialog.  The
application will deactivate the MIDI functions and allow you to use the
application as a playback system.  Since AppleTalk will still be
functioning in the background, a slight degradation in the performance
will occur everytime an AppleTalk event is received by your system.  To
have full MIDI support,  you will need to go to the Control Panel and
deselect AppleTalk.  After deselecting AppleTalk, restart your system
and re-launch synthLAB.

Try to avoid using Inits and DA�s (menu clocks, screen savers, etc.).
These programs make applications run slower by installing themselves in
the background, and continually use valuable CPU time.  For real-time
programs like synthLAB, this is especially critical, since they are
competing for the same background interrupt time.  Remember, nothing
comes for free.


� Audio Output

For better sound quality, hook the GS audio output to an external audio
system.  Any home stereo or powered monitor speaker will do.  If you�re
using a home stereo system, you�ll need a 1/8� stereo mini plug to
phono (RCA) plug adapter cable to connect your GS to your amplifier.
The mini plug goes to the audio output (headphone) jack on the back of
your GS or your stereo interface card.  The two phono ends go to the
line or auxilliary (Aux) inputs usually on the back of your stereo
amplifier.  Even though the plugs are called phono, do NOT plug them
into the phono input on your amplifier; doing so could damage your
speakers.

There are several things you can do to improve the overall quality of
sound coming from your GS: - if you have a noisy GS or a noisy stereo
interface, try turning the treble control on your amplifier down a bit
to filter out the 'hiss'.

- both synthLAB and MIDI Synth are designed to be most effective when
played in stereo.  By being able to assign each Generator (one half of
an Instrument) to either stereo channel, many interesting stereo
effects can be created.  If you have a stereo interface card, see the
owner�s manual for installation instructions.

- if you have a reverb unit or a special effects box, try using it on
your GS.

� Connecting a MIDI Device to synthLAB

If you happen to have one, attach an external MIDI keyboard to your GS.
Whether you�re creating instruments or sequences,  you�ll get the most
out of synthLAB if you control it through MIDI.

Since MIDI signals are electrically different from computer signals,
you�ll need to connect your keyboard through a special MIDI interface.
Any 1 Mhz external interface (Apple MIDI for example) or an internal
card interface (like Applied Engineering�s Audio Animator) will work.
When using the Apple MIDI interface, you simply plug the MIDI cables
into one end of the interface which connects to your MIDI keyboard.
Then plug the other end into a MIDI port on your IIGS System (Modem or
Printer ports).

Since synthLAB is both a synthesizer and a sequencer, you can do many
useful things with your GS connected to a MIDI keyboard.  Play notes on
the keyboard, and your GS will track them by playing selected
instruments.  It will even respond to note velocity, pitch-bend and
your volume and sustain pedals.  Next, you can record your performances
into an eight-track sequencer, recording each track separately, using
different instruments. You can save these sequences on disk, building
your own personal library.  Finally, you can have synthLAB play your
MIDI keyboard.  If you run out of instruments or voices with synthLAB,
you can assign any tracks to output their MIDI data out to your
keyboard.

When creating instruments, the keyboard gives you more control in
defining the various parameters. You can quickly test your instrument
over the complete note and velocity range.  Many instruments sound
different when they interact with other voices, so you can play chords
or octaves and hear this effect.  If the instrument is multi-sampled
(different waves for note zones), you can make sure that the
transitions between Wave Lists are seamless and that each multi-sample
is balanced correctly with the others.

Once you start synthLAB, you�ll need to enable the MIDI Port.  Pull
down the Setup menu and select the MIDI... item.  Remember, if
AppleTalk is active, the MIDI functions will not be available for your
use.  From the MIDI dialog box, click on the MIDI In Enable button to
activate it (it�s the icon with the arrow pointing into the computer).
Press a few notes on the keyboard, and you should hear them play from
your IIGS.  Notice that the MIDI In display on the top right corner of
the screen lights up for every MIDI message received.

� Limitations

When writing any application, you must limit the scope which you intend
to cover in order to maintain a realistic schedule.  Because of this,
all applications have their limitations, and do not have all the
features necessary to meet the needs of all users.  Just as it�s
important to know what an application does, it�s also just as important
to know what an application will not do.

- synthLAB is intended to be an instrument editor.  It works on banks
of 16 instruments at a time.  It does not have any librarian features
enabling you to move instruments between banks.

� synthLAB is also not a waveform editor.  The waves must be created
and edited elsewhere.  We have provided sample wave files for you to
use, but you may decide to sample and edit your own.

� The sequencer in synthLAB is very limited and lacks many of the
editing features found in more advanced types of sequencers.

� Since synthLAB does not use QuickDraw to draw all images on the video
screen, there are times when it does not know anything about foreign
windows.  Therefore, it doesn�t support NDAs.

Developers should note that these are limitations of the synthLAB
application and not the MIDI Synth Tool.  A professional style
sequencer could very well be written around MIDI Synth. The custom
interface used to create synthLAB was the author�s personal preference.
The MIDI Synth tool however is designed to work well with the standard
IIGS Desktop (Windows, Menus, Controls, etc.).

� Installing synthLAB

The System 6 Installer program contains the necessary script to place
all the needed files in their proper locations.  synthLAB works best
when installed directly onto your startup volume.

To install synthLAB:

1.  Insert the Install disk in your drive and startup your computer.

2. Click the Customize button to view the Installer scripts.

3. Select the Application: synthLAB installer script. (Be sure you have
the disk selected where you want the application installed.  We
recommend you install onto your startup disk.)

4. Click the Install button. The installer script will place synthLAB's
files into their proper locations.

After installation has been completed successfully, you'll need to quit
the Installer and reboot your machine.  If you have used the Installer
as outlined above, you can skip to �Opening synthLAB.�

Special instructions - placing synthLAB files without the Installer

If you are not using the Apple IIGS Installer, you will need to place a
number of files in their proper location on your system disk.  Copy
Tool035 (MIDI Synth) to the Tools folder.  The Tools folder is found
inside your boot System folder.  If your boot disk is already full and
you don�t have any more room available, leave MIDI Synth in the same
folder with synthLAB. When it initially runs, synthLAB tries to load
MIDI Synth from the system Tools folder.  If it can�t find it there, it
looks for it in its own folder.

If you plan on using a MIDI device along with synthLAB, you'll also
need to install and activate MIDI capabilities in your system using the
new MIDI Control Panel.  First move the file called MIDI from the
synthLAB disk to the CDev folder on your boot disk (found inside the
System folder).  Next, move the Apple.MIDI driver from the SystemTools1
disk's System:Drivers folder and place it into the System:Drivers
folder on your boot disk.  Before running synthLAB, run the Control
Panel NDA from the Apple menu.  Select the Control Panel called MIDI
and enter the correct information which describes your MIDI setup (see
Appendix A).  When complete, close all Control Panels and launch
synthLAB.

� Using synthLAB

After re-booting your system disk, locate and open the synthLAB folder.

- Double-click on the synthLAB icon to launch the program.

After synthLAB has loaded, you should hear and see a demonstration of
music playing at the title screen.  If synthLAB encountered an error
while trying to start, you'll get an error message telling you what is
wrong.

When you're through with the demonstration...

- Press either the IIGS keyboard Return key or click on the arrow
button located at the bottom right of the screen to exit.

The screen now shows the Sequencer Page, with deck control buttons on
the left and eight sets of track controls on the right of the screen. A
full explanation of these controls follows later in this manual.

If you want, you can load and play some of the sample sequences and
instruments.

1. Pull down the File menu item and select Load Sequence... (Click on
the Drive and Open buttons [if required] to locate the list of
sequences available on this disk.)

2. Double-click on your selection. The file dialog box will go away and
synthLAB will load in the selected sequence with the appropriate
instruments.  When the arrow cursor returns, you�re ready to play the
sequence.

3. Click on the deck Play button. Or if you want to watch the notes
being played, select the About synthLAB... item from the Apple menu. 
Either way, the sequence will play for you.

NOTE: To get the full effect from synthLAB, try using a stereo
interface card with the output going to an external amplifier and or
speaker system.


� synthLAB Overview

synthLAB has three basic parts: a synthesizer, a sequencer and a MIDI
driver. Everything synthLAB does relates to one of these parts.  Since
synthLAB�s main purpose is to create instruments for MIDI Synth, it has
controls to manipulate all the parameters defined in an Instrument
Record. To play an instrument, we need the synthesizer, so synthLAB has
controls for that, too.  Finally, there are controls for the sequencer
and the MIDI driver.

File Types

When you use a word processor, you typically load your text file,
manipulate the file by adding and editing words and sentences to the
file, and when you�re finished, you save this file to disk.  The word
processor creates and manipulates text files. synthLAB, in many ways,
is like a word processor.  Instead of working on text files, synthLAB
works on Instrument and Sequence Files.

An Instrument file is a collection of instruments grouped together in
what is called an Instrument bank. Each bank has 16 Instruments and
each instrument is actually an Instrument Record that defines how the
sound is built.  In other words, a bank is simply a group of 16
Instrument Records.  The instruments in a bank are all related to one
another in that they all share the same wave file.  This file contains
the actual waveforms used in producing the output sound.  synthLAB does
not manipulate the wave file in any way, it only loads it into the
Digital Oscillator Chip (DOC) RAM after you load an Instrument file.
Once an Instrument file is loaded, synthLAB can now edit and/or  play
any one of these 16 instruments.

A Sequence File is the data output created by the sequencer.  A
Sequence File can contain only one sequence.


� Navigating synthLAB

All of synthLAB's features can�t fit onto a single screen.  The various
functions have been divided up and placed into either separate video
screens or grouped inside the menu items at the top of the screen. The
three main video screens are called pages, and you can access any one
of them by pressing one of the three page buttons.  These buttons
appear above the keyboard and are represented by a tape recorder icon,
and two waveform icons with arrows.

The left button selects the Sequencer page.  Use this page whenever you
wish to control sequence record or playback functions.  The middle
button selects the WaveList Edit page, which controls changes to the
WaveList Record parameters.  The button on the right, the Envelope Edit
page, selects the controls used to edit Envelope Record parameters.
These last two pages define Instrument Records (see MIDI Synth ERS).

The menu items have functions which are common for all three pages.
Actions like file I/O, program setup and instrument selection, are all
initiated from these menu items.


� The Sequencer Page

The Sequencer page is grouped into three main areas.  On the left are
the deck controls. They behave like controls on a typical tape
recorder.  In the lower left corner  is the tempo control, which sets
the speed or playback rate of the sequence.  And finally, the right
half of the page has the track controls. These are eight duplicate sets
of controls.  One set for each of the eight tracks used by the
sequencer.


� The Deck Controls

If you�re familiar with how to control a tape recorder, then you should
find these controls very straightforward. Play, Stop, Record (Rec),
Fast-Forward, Rewind and Auto-Rewind all work the same as their tape
deck counterparts. They control the basic sequencer functions.  Above
the deck control buttons is the position counter, which shows you where
you are in the sequence.

Play

To play a sequence from memory, press the Play button.  It starts at
the current location displayed on the counter.  The sequencer will
automatically stop when it reaches the end.

Record

Pressing this button will start recording MIDI messages received at the
MIDI port.  In other words, if you have a keyboard connected to the
MIDI port and MIDI is enabled (see �MIDI Setup�), then synthLAB will
start recording everything you play.  Only one track can be recorded at
a time.  The other tracks can be played back while simultaneously
recording to allow for accompaniment.  Like the play function,
recording starts at the position indicated by the counter.

Stop

Will halt a play or record process.

Fast-Forward

If you want to advance the counter forward, press and hold this button
until you reach the desired position.  If you hold this button down
while a sequence is playing, the tempo will double and stay at that
speed until you release the button.

Rewind

This button will advance the position counter backward. Double-clicking
this button will reset the counter to the beginning of the sequence
showing a 1:1 (measure:beat) in the  counter display.

Auto-Rewind

When this button is on, anytime the sequence stops it will
automatically rewind to the beginning of the sequence.  If it�s off, it
remains at the current location.

Counter Display

The counter shows your position in the sequence.  It displays the
position in measures and beats.  You can�t directly edit the value; you
move it forward or backward by using the deck buttons.

� Tempo Control

This control sets the sequencer playing speed.  It sets this speed in
units of half-note beats per minute.  If you are used to working with
quarter-note beats, then the quarter-note BPM value is twice the
half-note value displayed.  For example, when the tempo display shows
60, this is equivalent to 120 quarter-note beats per measure.

��Track Controls

The synthLAB sequencer is in many ways like an eight-track tape
recorder.   Like a multi-track tape deck, you can record one music
track at a time, using different instruments or combinations on each
separate track.  Then, during play-back, you can select any or all of
the tracks you wish to hear. You can play-back selected tracks at the
same time that you are recording on another track.  You can even
�over-dub� any track until it sounds right.

Unlike a tape recorder however, you are recording only MIDI messages,
and not the actual sound being heard.  When the sequencer plays, it
sends these MIDI messages to the synthesizer, which then reproduces the
instruments you initially recorded.  The advantage over a tape recorder
is that you have the flexibility to experiment and re-orchestrate your
sequence even after you�re finished recording.

The track controls consist of eight duplicate sets of controls, one set
for each track.  Track number one is the top set, while the bottom set
is track eight.  There are four controls for each track; Channel, Play,
Record and Name.

Track Channel

With this control, you can force all MIDI messages in the track to play
a specific instrument.  Since the sequencer always plays in multi-mode
(see the ERS), the channel part of the MIDI message specifies which one
of the 16 instruments to play.  This control assigns all track messages
to one specified channel number, and thus one specified instrument.
Channel one plays instrument number one, channel two plays instrument
number two and so on.  A channel number of zero will leave the message
alone, letting it play whatever channel or instrument was originally
recorded.

The reason you have to specify a channel number is that it also affects
the MIDI data that gets sent to the MIDI port, if it�s enabled.  All
MIDI data sent out from the track will now be on the selected channel.

When you click on the button, you�ll get a dialog box with a control
that lets you change the channel number.  Press the up or down arrow
keys to set the desired value, then exit.

Track Play

During a play or record process, individual tracks can be turned on or
off for play-back.  Unlike the track record buttons, any number or
combinations of tracks can be selected for play-back.  Clicking on a
selected button will turn it off.

Track Record

Before you start recording, you have to tell the sequencer which one of
the eight tracks to record. This button selects the record track.  Note
that synthLAB allows you to select only one record track at a time.  If
you change the record track by pressing a new button, synthLAB will
automatically turn the previously selected button off.  Pressing a
track record button while it�s already on will turn it off, leaving no
tracks selected for recording.

Recording on a track that already has information on it will overwrite
the previous data with new data.  The original data will be lost.

Track Name

This control lets you reference the track by an entered name. You can
put any type of notes or labels in this field.  After clicking on the
control, you�ll see an editable dialog box.  Type the name you want and
click the Done button to exit.  Up to 15 characters can be entered.

��Editing Instrument Records

The WaveList Edit and Envelope Edit pages allow you to edit Instrument
Records.  These records define the instruments used by MIDI Synth (see
MIDI Synth ERS for details on Instrument Records).  Remember, each
Instrument Record has two Generators (Gen 1 and Gen 2), and each
Generator has one Envelope Record and eight WaveList Records (WaveList
1-8).  If you look at the two Edit pages, you�ll notice that they both
have Generator select buttons (Gen 1, Gen 2).  Use this to select which
one of the two Generators you wish to work on.  In the Envelope Edit
page, it selects one of the two Envelope Records.  In the WaveList Edit
page, this selects which of the two sets of eight WaveList Records you
want.  You use the WaveList menu button to further select which
specific WaveList to edit while in the WaveList Edit page.

Since each synthLAB Instrument bank has 16 instruments, you first have
to select which instrument you want to edit. The Instrument menu item
lets you make this selection.  Pull it down and select the instrument.
Next, select a Generator by clicking one of the Generator select
buttons. Finally, if you are editing a WaveList parameter, you need to
select a WaveList from the WaveList menu button.


NOTE:	Before editing a WaveList, verify the Top Key parameters to make
sure that you have selected the correct WaveList for the desired note
range.  This is the most common mistake that users make when editing
WaveLists.


To get to any specific Instrument Record parameter, you need to:

1.  Select the correct instrument from the Instrument menu.

2.  Select one of the two Generators with the Gen buttons.

3.  Select the correct WaveList number from the WaveList menu (if it�s
a WaveList parameter.)

Because there is so much data to edit, this will probably sound
confusing at first.  However, once you start working with it, this
organization will start to make sense to you.

� Screen Keyboard

The two-octave screen keyboard will play whatever instrument is
currently selected for edit (from the Instrument menu button). Clicking
on the keys will play them.  You can change the keyboard range and
volume from the System Setup menu item found under the Setup menu
button on the top of the screen (see �Setup Menu�).

If you click on the keyboard while you�re recording a track, synthLAB
will record those notes.

� Envelope Edit Page

This page lets you edit Envelope Records (see MIDI Synth ERS for
information on Instrument Records).  There are two independent
envelopes for each instrument, one for Gen 1 and another for Gen 2. The
sliders found on the right set the envelope parameters, while the
buttons on the bottom left control the remaining parameters found in an
Envelope Record.


Envelope Sliders

Envelope sliders let you edit the eight envelope segments. The top six
sliders set the level values while the bottom seven sliders set the
rates.

Here�s a brief summary of the Envelope (see �Instrument Records� in the
ERS for complete details):

1.  Start ramping from zero at Atk rate to Vatk level. 2.  Ramp at Dk1
rate to VD1 level. 3.  Ramp at Dk2 rate to VD2 level. 4.  Ramp at Dk3
rate to Sus level. 5.  Hold at Sus level until Note Off. 6.  Ramp at
Rel1 rate to VR1 level. 7.  Ramp at Rel2 rate to VR2 level. 8.  Ramp at
Rel3 rate to a zero level.

If any level is set to zero, the envelope ends at that point.  The
level sliders display 1/4th the real value.  In other words, a level
slider value of 25 sets a value of 100 into the Envelope Record.

Velocity Gain

Velocity Gain sets the Envelope�s sensitivity to MIDI velocity data
(see �Instrument Records� in the ERS for details).  Note that the Gen 1
control affects both the Gen 1 Envelope and the Gen 2 Envelope, or the
entire instrument.

Decay Gain

Decay Gain increases the Decay rates for higher pitched notes (see
�Instrument Records� in the ERS for details).

Pitch Bend

Pitch Bend sets the Instrument�s sensitivity to MIDI pitch bend data
(see �Instrument Records� in the MIDI Synth ERS for details).  Like
Velocity Gain, the Gen 1 control affects the entire instrument.

� WaveList Edit Page

WaveList Edit Page lets you edit WaveList Records (see MIDI Synth ERS
for information on WaveList Records).  There are 16 WaveLists for each
instrument, eight for Gen 1 and eight for Gen 2.  Make sure that you
have the correct WaveList selected from the WaveList menu button
whenever you are editing this page.

Keep in mind that there are four oscillators for each instrument, two
for Gen 1 and two for Gen 2.  The two oscillators (Osc A and Osc B ) in
each generator are independently controlled.  Each oscillator can have
its tuning (Octave, Semi and Fine), volume, wave and configuration set
from this page.

Top Key

Each of the eight WaveLists can be activated to play in only a specific
range of notes.  Top Key allows you to create �multi-sampled�
instruments with a different wave sample for each WaveList (see
"WaveList Records" in the ERS for details).  Clicking the Top Key
button will display a dialog box with eight horizontal sliders, one for
each WaveList.  Remember that the Top Keys are prioritized in order
from WaveList 1 to WaveList 8.  This means that WaveList  2 starts from
where WaveList 1 ended; WaveList 3 starts from where WaveList 2 ended,
and so on.

� Oscillator Configuration

The two oscillators in each generator can be set to any one of six
different modes or configurations (see "WaveList Records" in the ERS
for details).  This gives you great flexibility in controlling how the
two oscillators interact.  Clicking on the control will step to the
next configuration (Type 0 thru Type 5).

Wave Select

Holding down the mouse button on either of the two Wave Select controls
(Wave A and Wave B) will produce a pop-up menu of available waves from
the current Wave File.

The convention used by synthLAB to annotate the difference between wave
types is to precede loop-type wave names with the Tilde character (~).
For example, if you had two waves titled �Piano� and �~Piano�, the wave
�Piano� would be a sampled recording of a piano attack. The wave
�~Piano� would be a single-cycle wave of the piano�s sustain and
release.  The �Piano� wave should be played with a one-shot
configuration and the �~Piano� wave should be played with a loop-type
configuration.  In this example, you may want to use Configuration Mode
3 with Osc A playing the sampled �Piano� attack and Osc B playing the
single-cycle �~Piano� wave.  Using this example gives you the proper
�attack� on key-down followed by an appropriate sustain and release.

� Oscillator Configurations

Oscillator Tuning

There are several important reasons why you need to independently tune
each individual oscillator.  Since sampled waves are dependent on the
input and output sampling rate and on the pitch of the original source,
they probably are not going to play back at the correct pitch.  If
you�re using multi-sampled sounds, they�ll need to be tuned to the
correct octave.  So the most common use is to tune the waves to the
correct pitch.

Many effects can be created by altering the tuning ratio between
different oscillators.  If you fine-tune two loop-mode oscillators with
a slight difference in pitch, you get an interesting movement effect
while the two oscillators slowly beat against each other.  When you
tune the two oscillators further apart in pitch, the sound�s texture
increases, giving a richer and thicker sound.  If you slightly detune
two oscillators playing the same sampled sound, you get the familiar
phasing or beating effect.

There are three tuning controls for each oscillator.  The Octave
control is the primary or top-level control, while the Semi-tuning and
Fine-tuning controls offer more precise adjustments.  The Octave
control is centered on a normalized value of 3.  This means that
single-cycle waves will produce the correct pitch (middle A is 440 Hz)
when the Octave is set to 3, and both Semi-tuning and Fine-tuning
control are set to zero.  The Semi-control increases the pitch by
semi-tone increments and the Fine-control increases the pitch by
fractions of a semi-tone.   Remember, the best sounds are rarely
achieved with the first setting.  Try experimenting with the controls
to get the effect that you want.

Oscillator Volume

These sliders allow you to set each oscillator�s output level.  If you
want to turn an oscillator off, set the Volume to zero.  Like the
Envelope sliders, these sliders display 1/4th the real value set in the
Instrument Record.

There are a couple of points you should keep in mind when you�re making
instruments.  Since sampled waves usually include a recorded envelope,
their output volume will sound lower than single-cycle waves.  So if
you�re mixing the two types, you�ll usually need to play single-cycle
waves at a lower level to get the correct balance.

There�s a slight amount of cross-talk between Osc A and Osc B.  If
you�re not using one of the oscillators (zero volume), make sure that
you select a wave for the unused oscillator that has very little
high-harmonic content (like a sine wave).  Also, tune the unused
oscillator to a low frequency.  Even though the volume is set to zero,
you may still be able to hear the oscillator if its selected wave is
very bright or at a high pitch.

� Apple Menu Because of its graphics interface and design, synthLAB
does not support New Desk Accessories (NDAs).  However, Classic Desk
Accessories (CDAs) (available from the text control panel) still work
fine.

The interface used in synthLAB is a result of the author�s personal
choice, and does not reflect on the MIDI Synth tools� compatibility
with the Apple� desktop interface.  MIDI Synth is optimized for speed,
so it works well with any desktop/non-desktop interface.

About SynthLAB...

Selecting this item brings up the player keyboard dialog which also
shows the copyright notice and application version.  The keyboard will
play whatever sequence is currently in memory.

Clock...

Selecting this option displays a clock.

� File Menu

As mentioned earlier, synthLAB deals with several different types of
documents.  For the sequencer, it uses Sequence Files.  A Sequence File
contains all the note information, how fast to play these notes and
what instruments to use when playing the notes.

For the synthesizer, it loads, saves and edits Instrument Files.  An
Instrument File contains information on how to build instruments, how
the instruments behave in response to certain MIDI events and which
waves to output when playing.

When you save an instrument, synthLAB will save the name of the current
Wave File as part of the Instrument File.  So the next time you load
this Instrument File, the correct Wave File will also get loaded.  The
Wave File must be in the same directory as the Instrument File.  An
error message is displayed if synthLAB can�t locate the defined Wave
File.  You can load any Wave File you choose, but the sounds will not
be the same as if the proper Wave File was loaded.

Along with the actual sequence information, Sequence Files also contain
the name of the Instrument File used when the Sequence File was saved.
When loading the Sequence File, synthLAB will search the same directory
for the Instrument File (along with its Wave File).  It�s important to
understand that synthLAB does not save the Instrument File when it
saves a Sequence File.  It only saves the name of the current
Instrument File as part of the Sequence File.  If you changed some
instruments and plan on saving them under a new file name, make sure to
save the new Instrument File first, before saving the sequence.  This
way the Sequence File will have the name of your new Instrument File,
since the sequence will be saved after you gave the Instrument File a
new name.  Otherwise synthLAB will still load the old instruments in
whenever that sequence gets loaded.

As you can see, synthLAB expects Sequence, Instrument and Wave Files to
all be in the same directory.  Loading a Sequence File will
automatically cause an Instrument File to load, which in turn will
automatically cause a Wave File to load.  If these files are not in the
same directory, you�ll have to load them in manually.  For example, If
your Instrument and Wave Files are in a different directory from your
sequences, after loading in a sequence, you�ll get an error message
telling you that synthLAB couldn�t find the appropriate Instrument
File.  This message is useful since it gives you the name of the
Instrument File that goes with the sequence.  At this point, you�ll
have to select the Load Instrument... item from the File menu and find
the correct Instrument File.

New Sequence

Selecting this item will set the sequencer to default values.  Use this
when you�re making a new sequence from scratch.  Be careful with this
selection because it will erase any sequence currently recorded in
memory.

Default names (�Track 1-8�) will be assigned to all eight tracks and
track channels will be set to �thru� (0) mode.  Track 1 will be set to
both record and play with the counter reset to the first beat (1:1).
Also, all 16 instrument volumes (see �Volumes...� in the �Setup Menu�
section) will be set to maximum values.

New Sequence does not affect the tempo value, metronome, count-off, key
start, beat value, beats per measure and the sequencer clock source.
Nor does it affect the instruments in any way.

Open Sequence...

After selecting this item, select a Sequence File from the displayed
dialog box.  The appropriate instruments and waves will automatically
load along with the sequence.  synthLAB expects the Instrument and Wave
Files used by the sequence to be in the same directory as the sequence.
If they�re not, you�ll get an error message telling you what file
synthLAB couldn�t find.

All the information saved with the sequence (see �Save Sequence...�)
will be restored when the Sequence File is loaded.  Loading a sequence
will over-write any current sequence you may have in memory.  So be
sure to save your old sequence before loading in a new one.

synthLAB can�t handle sequences which are larger than 128k bytes in
size.  If you�re loading sequences made by synthLAB, this is not a
problem.  If you�re importing sequences from other programs, make sure
that they are less than this amount by checking their file size from
the Finder.

NOTE:	If you want to Load an existing sequence with custom Instrument
and Wave Files, you should first load the Sequence File, then the
Instrument File followed by the Wave File.  Using this technique you
can mix and match Instrument and Wave Files to produce some very unique
sounds.

Save Sequence...

This item brings up the custom dialog box for saving files.  Type the
name of your Sequence File at the bottom and click on the Save button.
If you want synthLAB to load your instruments automatically the next
time you load this sequence, make sure that you save the sequence in
the same directory where the Instrument and Wave Files are located.
synthLAB will save the current Instrument File name along with the
sequence, and tries to load these instruments whenever the sequence is
loaded.

Besides saving all the note and MIDI information in your sequence, all
track names, track channel, track play, track record, instrument
volumes, beat value, beats per measure and the tempo values are also
saved with the sequence (see �Sequence File Format�).

Load Instrument...

After selecting this item, select an Instrument File from the displayed
dialog box.  The appropriate Wave File is also automatically loaded
along with the instruments. Remember, synthLAB expects the Wave File to
be in the same directory where the Instrument File is located.  If it�s
not, you�ll get an error message telling you the Wave File name that
synthLAB couldn�t find.

Save Instrument...

This item brings up a dialog box for saving Instrument Files.  Type the
name of your Instrument File at the bottom and click on the Save
button.  If you want synthLAB to automatically load the Wave File in
the next time you load these instruments, make sure that you save the
Instrument File in the same directory  where the Wave File is located.
synthLAB will save the current Wave File name along with the
instruments (see �Instrument File Format�), and tries to load this Wave
File whenever the instruments are loaded.

Load Waves...

This item can be used to load Wave Files located in different
directories from their Instrument Files.  If synthLAB can�t find the
Wave File when loading instruments, it will display an error message
telling you the name of the Wave File needed.  You can then select this
menu item and load the correct Wave File from its directory.

If you load a new Wave File that is different from the one that was
used when the instruments were created, you�ll need to redo most of the
Instrument controls to work with the new waves.  In other words you�ll
have to build the instruments from scratch.

Quit

Selecting this item will exit synthLAB and return the program control
back to the launching application (usually the Finder).  Before
selecting this, make sure to save any sequence and instrument changes.
If you don�t, they�ll be gone forever.

� Edit Menu

This menu has functions that you use when editing or creating
instruments and sequences.  Use the options from the Edit menu to look
at your sequence data, name your instruments and do various copy and
paste functions.

View Sequence...

Selecting View Sequence brings up a dialog box which shows you
information about the current sequence in memory.  On the right side,
you�ll see the name of the sequence (actually the name of the last
loaded or saved sequence), its length in bytes and the number of bytes
available in the sequence (seq) buffer.  Below this is the name of the
current Instrument File (Bank) and the name of the current Wave File
(Wave).

On the left side, is a list control which shows you each individual
sequence item in your sequence.  The left-most value displayed in the
View Sequence window is the time-stamp shown in measure: beat:
remainder ticks format.  Remember that beats are based on a value of 96
ticks in a quarter note.  So when displaying any sequence item that
does not fall on a beat, the remainder field will show the number of
ticks past the last beat.  If the beat is a quarter note, the remainder
will have a value between 0 and 95.  An eight-note beat will have
remainders between 0 and 47, and so on.

Displayed to the right of the time-stamp, is the channel number. If
you�re playing the synthesizer, then this is also the instrument
number.

Finally, the remaining three fields on the right show the MIDI message
and data bytes.  The MIDI message status field is represented by any
one of the symbols described in the chart below.  Since only valid data
bytes are shown, you may see one, two or no data bytes following the
message status.

MIDI Status Messages Chart up arrow, followed by a note	:	Note
off - $8x down arrow, followed by a note:	:	Note off - $9x two
underlined down arrows	:	Poly After-Touch $Ax double right
arrow		:	Control Change $Bx a stacked box symbol		:	Program Change $Cx
underlined down arrow		:	Mono After-Touch $Dx a sine
wave			:	Pitch Wheel $Ex

Name Inst...

This item lets you modify the name of the currently selected Instrument
for editing (selected from the Instrument menu).  Up to 15 characters
can be entered as an instrument name.

Copy WaveList Copy Generator Copy Instrument

Selecting any one of these items will copy the specified  parameters
into an internal clipboard.  This is used to duplicate the contents of
a WaveList, Generator or Instrument. Once the parameters are copied
into the clipboard, you can then select another WaveList, Generator or
Instrument, and paste those parameters into the new location.

A Copy WaveList selection will only copy the 16 parameters of the
selected WaveList.  Copying a Generator will copy one envelope and
eight WaveLists.  Finally, when you copy an instrument, all parameters
from both Generators (both Envelopes and all 16 WaveLists), including
the instrument name, will be placed into the clipboard.  The original
parameters will not be affected in any way by this.

Paste

Once you have completed a Copy function, you use this item to place the
contents of the clipboard into some other location.  This item will be
disabled if the clipboard is empty.  Whenever the clipboard holds an
item, the item will show you the parameter type.  For example, if you
copied a WaveList, the Paste item will read �Paste WaveList�. Selecting
the Paste item will over-write the original parameters, so use this
carefully.

Note:  The clipboard will not be saved when you quit the application.

� Setup Menu

When you start synthLAB, many of the program variables are set to their
default values.  Other program variables get set whenever you load a
sequence.  The Setup menu allows you to change these variables and to
tailor the program environment to your specific needs.

MIDI...

synthLAB always starts with MIDI disabled.  If you have a MIDI
interface connected to your IIgs, you must first enable and configure
the MIDI port from here before synthLAB can respond to your MIDI
keyboard.  As stated earlier, AppleTalk and MIDI cannot be run
simultaneously.  If you want to have access to MIDI functions, you will
need to turn off AppleTalk (See "AppleTalk and MIDI Functions").

A dialog box is displayed with controls for the various MIDI
parameters.  You can select the MIDI mode, enable MIDI input (In) or
output (Out), enter the Basic Channel number and set the velocity
compensation value (see the ERS for details on MIDI parameters).

The top button of the In/Out Select enables or disables the MIDI In
function (note that in the icon, the arrow points IN to the computer,
indicating the direction of MIDI data).  When you enable MIDI In,
you�ll see the MIDI IN display (top right corner of the screen) becomes
active.  This display will light-up (highlight in yellow) whenever a
MIDI message is received at the MIDI port.

The lower button enables or disables the MIDI Out function.  If you�re
not using this function, make sure it is off (button is �out�).

If there�s a problem with your MIDI setup, you�ll get an error dialog
instead of the setup dialog. See Appendix A for information on
configuring MIDI correctly into your system.

Sequencer...

Selecting this item displays a dialog box that has controls which
affect the sequencer operation.  The bottom two controls specify the
values for measures and beats.  The counter display, metronome and
tempo control are all affected by these.

The Metronome will cause an audible woodblock tick to sound on every
beat whenever you play or record with the sequencer.  When Count Off is
enabled, the sequencer counts off one measure before starting to play
or record.  You can force the sequencer to wait until it receives a
"MIDI note off" message through the MIDI port before it starts playing
or recording by enabling the Key Start control.  This will allow you to
synchronize your playing with the tracks that have already been
recorded.

NOTE:  When using Key Start, the first key pressed is not recorded.
This first key press is used to tell synthLAB to begin recording the
sequence.  All MIDI input after the first key press is recorded by
synthLAB.

Normally you use the Internal clock to advance the sequencer timer.
This means that whenever you start the sequencer, it starts to
increment its timer based on the current tempo value.  If you need to
synchronize the sequencer to an external MIDI device (like a drum
machine or another sequencer), you can slave synthLAB through MIDI by
selecting the MIDI port clock.  Note, synthLAB can only receive MIDI
timing clocks.  It does not send them.  This means that synthLAB can be
a slave device but not a master.

Track Output...

With synthLAB (and MIDI Synth), you can specify where to send the
output from each track whenever the sequencer is playing.  For example,
you can have the sequencer play only the synthesizer on tracks 1, 2 and
5, while playing only a MIDI device on track 4, and have it play both
the synthesizer and the MIDI device on track 3.  This sequencer output
configuration is mapped from the dialog box which is displayed whenever
this menu item is selected.

Think of the sequencer as a box with eight audio jacks.  These jacks
can connect to the synthesizer and eight MIDI ports.  These, in turn,
can connect to your external MIDI device, one set for each track.  This
dialog box has two controls for each track.  The left button with the
Audio Plug icon connects the sequencer track to the synthesizer, while
the MIDI Plug button connects the track to the MIDI port.

If you�re using MIDI output, make sure that the MIDI Out button in the
MIDI Setup dialog is on.  This button acts as a master control,
enabling or disabling MIDI Out globally on all tracks.

System Controls...

This item lets you adjust the pitch and volume of the screen keyboard
found on the WaveList and Envelope pages.

Volume...

The volume level of each one of the 16 instruments can be adjusted
independently using this dialog box.  These controls are intended to be
used with the sequencer to balance instrument levels when playing many
instruments together.  These settings are saved in the Sequence File,
and are restored when you load a sequence.

The System Volume control sets the overall output level for the
headphone jack on the back of your IIgs.  It will have no effect on the
volume if you�re using a stereo interface card (you�ll have to use the
volume control on your stereo amplifier).

All Notes Off

This is the equivalent of the panic button found on some synthesizers
used to kill any hung notes (notes that never got an �off� message). 
Selecting this item will send a �note off� message to all voices active
in the synthesizer.

� Appendix A:  MIDI Control Panel

The MIDI Control Panel was created to encourage developers to specify
MIDI in a uniform manner inside their applications.  Whenever a user
first runs a MIDI program, they usually have to input information about
their specific MIDI setup through some sort of dialog box.  When they
run another MIDI program, they must give that program the exact same
information all over again.  The problem occurs when the user changes
their MIDI setup.  Now they must enter this new setup into all their
MIDI programs, one by one.  Another problem is that the user might not
remember exactly what their setup is a year later when they buy a new
MIDI program.

With the MIDI Control Panel, the user enters their specific MIDI setup
only once through the Control Panel.  The MIDI Control Panel creates a
setup file called Midi.Setup inside the System:Drivers folder.  This
folder contains information about the user�s MIDI connection.  From
there, all MIDI applications can use the Midi.Setup file to configure
themselves.

Installing the MIDI Control Panel

1. Copy the file called MIDI from the synthLAB disk to the CDevs
folder.

(The CDevs folder is found inside the System folder on your boot disk).
 You have now added a new selection called MIDI to the Control Panel.

2. From the Finder, select the Control Panels NDA from the Apple menu.
Scroll down the selection list until you find the icon called MIDI.

3. Double-click on the MIDI icon to open it.

Once MIDI is selected, you�ll get the setup options.  The options on
the top select where the MIDI interface is connected to your GS.  The
bottom list lets you select the appropriate MIDI Driver file.

MIDI connection

If you�re using an external MIDI interface (Apple MIDI) that connects
to a serial port on the back of your gs, then only select either the
Printer or Modem Ports.  If you are using an internal card as a MIDI
interface, such as the Applied Engineering Audio Animator*, then select
the Card Slot button and one of the seven slot numbers.

MIDI CDEV

The MIDI CDEV scans your System:Drivers folder and displays all of the
MIDI driver files it finds there.  From this list, you must select the
appropriate driver for your interface.  If there are no drivers shown
on the list, then consult your MIDI interface manual for instructions.