_______________________________________________________________________________ This file gives you information on how to create your instruments. For more specific information, please purchase SynthLab from APDA. It will give you over 100 pages of information on SynthLab/MidiSynth! Quick definitions: Inst bank = xxx.BNK. Everything SynthLab/etc needs to know about a set of instruments. Maximum of 16 instruments. Wave bank = xxx.WAV. All the sampled sounds in a wavebank. Contains 64k of DOC ram data, consisting of multiple waveforms, each forming a distinct sound (ie, the word HELLO or a trumpet). MidiSynth = TOOL035. A new toolset by Mark Cecys/Apple Computer that harnesses the power of the Apple IIgs sound system (insert more hype here). SynthLAB = a demo application for MidiSynth;a rudimentary sequencer and a powerful instrument synthesizer. You can order it from APDA for $25, part code # is A0250LL/A. APDA = Apple Developers & Programmers Association. Your basic warehouse of programming stuff. Used to be owned by Call-Apple, now owned by Apple Computer, Inc. 1-800-282-2732 (US) 1-800-637-0029 (Canada) 408-562-3910 (International) _______________________________________________________________________________ In essence, there are three parts to creating the instruments: _______________________________________________________________________________ Part I Digitize and clean up the sound(s). Use your favorite digitizing program, like AudioZap (an excellent program, available on all online services) or HyperStudio's SoundShop program. Remember to trim down the sound as small as possible! _______________________________________________________________________________ Part II Form a wavebank out of the sound(s), using SynthCreate. Use the LOAD SOUND button in the main menu to perform this function. As noted in the program, you MUST load sounds in ascending size order (that is, small sounds first). The reason is that SynthLab requires waveforms (digitized sounds) to be placed in byte boundries associated with their sizes. IE,A 4k sound must begin on a 4k boundry, and with 63.5k of DOC ram available, that can cramp things up! The following sizes are available: 256 bytes 0.25k 512 bytes 0.5k 1024 bytes 1k 4096 bytes 4k 8192 bytes 8k 16384 bytes 16k 32768 bytes 32k SynthCreate will round up sound sizes; that is, a 4097 byte sound will be treated as a 8k sample, or a 25000 byte sound will be treated as a 32k sample. The maximum size is 32k, and SynthCreate will chop off anything extra. After you have loaded in all the sounds you wish to include, click on SAVE. SynthLab will create a wavebank (default name is MY.WAV) which holds all the sampled sounds. It will ALSO create a temporary instrument definition file (default name is MY.BNK) which lets you play around with the sounds you have created inside SynthLab. There isn't much more to SynthCreate, its merely a utility to combine sounds into one file that can be loaded by SynthLab/etc. _______________________________________________________________________________ Part III Perfecting the instruments with SynthLab... This is the most difficult part, and can consume many hours. You should first familiarize yourself with the interface of SynthLab, and play around with the many options available to you. This section is not meant to replace the documentation, but merely to supplant it. Its recommended you get ahold of the documentation (either from APDA or at a developers conference) if you plan to work a lot with SynthLab. There are three main screens for SynthLab, each accessed with a click on the PAGE BUTTONS (the one that looks like a tapedeck, a funny wave, and a sharp angled wave). The first is the Sequencer page, the second the WaveList Edit page, and the third the Envelope Edit page. The sequencer page doesn't interest us very much in creating instruments (its used mainly to create and play songs). The WaveList Edit page is where you'll spend most of your time setting up all the information about a instrument. The Envelope Edit page holds fairly esoteric information, useful for fine-tuning a instrument into perfection. The first thing to do is load up the .BNK file SynthCreate made by clicking on "Load Instruments..." once you have booted up SynthLab. Now, the instruments menu should be totally changed. It used to contain all the instruments in SYNTH.BNK (default synthlab bank), now it contains the temporary instruments SynthCreate has made. Wow. Click on the WAVELIST EDIT icon now (remember, the wavy list button next to the tapedeck button), and you'll be presented with a screenful of junk. First you should see a wee little keyboard to the top left of the screen. This is a "test" keyboard you can use to see how a instrument sounds. Below that is a button, highlighting either Gen 1 or Gen 2. Each instrument is made up of eight wavelists (see the WAVELIST menu at the top) and each wavelist is made up of two generators. You must edit the information on each generator seperately (there isn't enough room on the screen to edit both). More info on wavelists in a few paragraphs. Below the gen buttons there are two icons, Osc A and Osc B (each can be associated with a different icon). The generator mentioned above are divided into two units, namely oscillators. So basically an instrument is made up of 2 generators, each of which is made up of 2 oscillators (or 4 oscillators in all). Amazing. There are two basic modes for each oscillator, LOOP (a little oval surrounds the osc box) or ONE SHOT (a little arrow is under the osc box). LOOP means a sound plays repeatedly, ie "HELLOHELLOHELLOHELLO". ONE SHOT means the sound is played once and then stops, ie "HELLO". There is one more thing to note, since a generator is made up of two oscillators you can either play them both simulationeously (the osc A box is on top of the B) or you can play A first and then B (the osc A box is next to the B box, and a fuzzy arrow is between them). In all, there are six different modes a generator can use, play around with them to see how they sound. Most of the time, you'll have both oscillators play in one shot mode (Osc A is on top of Osc B, and both have a arrow underneath them). This way you hear them simultaneously and clearly. Now lets look at the right side of the screen. First is OCTAVE A and OCTAVE B (we'll look at the A&B portions of everything simultaneously, it makes life shorter). The octave is a common term in the music industry, and its definition completely escapes me. I only know that you have seven available values (0-6), middle C is set at 3 (440 hz), and the instrument is different depending on whether its higher or lower. I'm sure the musicians out there can help you out there with that. The same goes for the Semi and Fine tuning, where Semi is in terms of Semitones and the fine tuning is in terms of 1/64th of asemitone (wow, small number!). Anyways, these parameters affect how "squeeky" or how "lowwww" your instrument sounds. The WAVE A/B parameter is the most crucial parameter on this screen. Click on the depressed box holding the name (ie, SINE WAVE) and suprise, a popup screen will appear (as long as you hold down the mouse) listing the available sounds. You can scroll up or down and select the sound you want oscillator A or B to play. For most purposes, you'll want A & B to play the same sound to create a "full, rich sound". But thats not all! By combining various sounds, you can create NEW ONES!!! This can go either mathematically or musically. What I mean is you can combine a sine wave and cosine wave to produce white noise, or a saw tooth and a triangle wave to produce ???. Likewise, who knows what dreadful sound will emit when a bassoon and a tuba are combined? Its up to you to find out. At the bottom left of the screen, there is the VOL A/B parameter (from 0-31, 0 being "inaudible"). This is a good way to have only one oscillator or one generator play; set the waves you DON'T wish to play to a 0 volume. However, due to some cross-talk between the oscillators, you should set the waveform to something like a sine wave, and set the octave/semi/fine tuning to zero. Otherwise you may hear a high pitch or reeaal ugly sound. Ignore the DETUNE parameter, its not documented at the present. The stereo display has only two useful values, 0 and 1. Although values up to 7 are supported, no stereo card plays anything other than 2 channels (Left & Right). Most instruments have one generator playing in the left channel (STEREO 0) and the other generator in the right channel (STEREO 1). You can also set a entire instrument to one channel (set both generators to the same STEREO) but try to have some variety; ie all the drums in the left channel and all the string instruments in the right. It makes life more interesting. The final parameter on this screen is the TOP KEY. The Top Key is connected to the WaveList. There are 8 seperate wavelists, and strangely enough, 8 seperate entries in the TOP KEY screen! Could it be a coincidence? Nah. The technical term is "Multi-Sampling". You can assign each wavelist to be active in only a certain pitch range. There are 128 total pitch ranges, with 60 being middle C (0-127). When an instrument starts playing, it'll look at the wavelists and play the wavelist which has a top key greater or equal to the pitch its supposed to play at. Thats why at the top of the TOPKEY screen is a keyboard, you're supposed to set the wavelists by the keyboard keys. This is best explained by example, so lets say you have WaveList 1 set to 40, WaveList 2 set to 80, WaveList 3 set to 105, and WaveList 4 set to 127 (the last key; approximate the rest!). Now, when you plunk on the key to the far left of a MIDI keyboard, SynthLab will look at the wavelists and say "0 is inside WaveList 1, therefore I shall use wavelist 1". Similiarly, if you plunk on the middle key (64), it'll use WaveList 2 (40<60<80). For beginning instrumenters, you may wish to leave it the way SynthCreate made it... that is, all instruments are played using wavelist 1 only (WaveList 1 is set to the max value). This means you only have to setup WaveList one. If you do decide to use multiple waves, remember to DEFINE each wave. Just pull down the WAVELIST menu, select a wavelist to work on, and you're back at the WaveList Edit page (ohh, ahh). That wraps up the WaveList edit page. The last one is the Envelope Edit page, which is frequently misunderstood (ok, I don't understand it at all). You've got the two generators to work on again, the test-keyboard, and a bunch of little sliding bars on the right side of the screen. At the bottom left, there is the DECAY GAIN, which is how fast a sound "dies out". Its not very important for low notes, as low notes tend to decay very slowly. However, for high notes, a high decay gain value will cause it to decay faster and resonate slower (thereby providing a longer sound). The VELOCITY GAIN is how sensitive the instrument is to MIDI velocity data. You shouldn't be terribly concerned with it, its mainly intended for MIDI keyboards and the like. If you like to pound on your keyboard, leave the velocity at zero. If you are a "tapper", and gently depress your keys, ramp up the velocity gain (SynthLab will be more sensitive to the incoming data). The last parameter is PITCH BEND RANGE, and it is HIGHLY RECOMMENDED YOU SET THIS TO ZERO! Thats because MidiSynth requires more CPU time to if Pitch Bend is enabled. Now for the difficult part, the various sliding bars. Basically these parameters control the envelope of the sound, which is a fancy word for the volume. When a note is started, it begins at zero volume and increases to the ATTACK LEVEL (VAtk) with a slope (change) set by the Attack Rate (Atk). It then goes to the decay 1 level (VD1) at the decay 1 rate (Dk1). Next it moves to the decay 2 level (VD2) with the decay 2 rate (VD2). It then uses the decay 3 rate (Dk3) and reaches the sustain level. It now stops changing and waits for the key to be released. It then begins a downwards climb, going to Release Level 1 (VR1) using Release Rate 1 (Rel1), down to Release Level 2 (VR2) using Release Rate 2 (Rel2) down to 0 using Release Rate 3. Wow! Just draw a mountain peak (/\) and imagine the above on paper. The important thing to note is that the envelope will stop (silence itself) when it reaches a zero level. For most purposes, keeping the sustain at two will end the sound, and you can use Atk and DK1/2 to build up and keep the sound playing, and then have the sound go from DK2 down to sustain using DK3 (which may be a small number - the larger it is, the faster the sound will stop). At any rate, its up to you how you control these, you have 8 steps for your sound to weave up and down, make judacious use of them. _______________________________________________________________________________ Now then, you've (hopefully) gotten the basics of creating an instrument. I have undoubtedly forgotten a few things, but remember these key points: o an instrument is made up of 8 wavelists o a wavelist is made up of 2 generators o a generator is made up of 2 oscillators o each oscillator ("A" & "B") can play a unique sound (called a "WAVE") Have fun! And don't forget to upload your songs to America Online! Keyword AMS. Parik Rao March 11th, 1991 Special thanks to: Joyce,Greg,Gene,Eddie,Lindsay,Dennis,Mike (beta testers from hell)