Copyright: helpC, (c) Copyright 1992,94 HyperAct, Inc.


PATCHMAKING GENERAL REFERENCE

VERSION 2.4

(C) Copyright 1994 by John Capps

Table of Contents:

1.  INTRODUCTION (and What's New)

2.  THE BASICS--Sampling Terms Defined, Uses of Samples and Patches

3.  GETTING STARTED--tools, the Kurzweil K2000 Archive and converting sounds with 2PAT and GoldWave 2.0

4.  PATCHMAKING TIPS--Things that aren't in "the Manual"

5.  MINIMIZING THE SIZE OF YOUR SAMPLES--Self-explanatory

6.  CSOUND PATCHES--Using Csound to generate GUS and Maui/Rio patches

7.  MASTER INDEX OF SAMPLES--Where to get them, how to convert them

8.  YOUR CONTRIBUTIONS--Put your ideas here!

APPENDIX A: WINDOWS HYPERTEXT CREATION for Dummies (like me)


COPYRIGHT

I have to copyright this reference to ensure that I can bring legal action against anyone if they try to make money off it.

All the information herein is freely distributable, as long as _no_ compensation, monetary or otherwise, is required by the distributor, either directly or indirectly.

All copyrights by individual authors and trademarks herein are retained by them, and the authors must be dealt with on an individual basis for permissions regarding their respective articles.

If anyone would like to distribute this guide as part of a product for which they are receiving compensation, monetary or otherwise, they must first obtain permission from me (John Capps--jtcapps@netcom.com).

(I hate to have to do this, but I must in order to protect people from being gouged for what should be free information.)


Introduction

This reference is designed for someone who wants to use the resources of the internet to create custom patches on their Gravis Ultrasound(tm), Turtle Beach Maui(tm), Rio(tm) or another RAM-based, sample-playback card.  Additionally, many parts of this reference will be helpful to those involved in creating MODs, both 8 and 16-bit, with any soundcard.

Both Gravis and Turtle Beach have released utilities for creating custom instrument patches for their respective cards.  I first created this reference because many, like myself, are interested in using these utilities to make their own patches, but may not know where to start --or may be stuck along the way (as I have been).  That's why the following is perhaps written at a more basic level than necessary.  I apologize if some readers become impatient, or chafe, at some obvious things that I may mention.  All I can say is, keep reading--there may be a tidbit here and there that makes your life easier.

What's New

The major news since the last revision of the reference is the release of the program 2PAT 1.0, by F. Markus Jonsson (f93-maj@nada.kth.se).   This Windows utility provides GUS and Maui/Rio users with sample conversion power that users of professional synths can only dream about.  Have you got a friend with a Kurzweil K2000?  Ask to borrow some of his sample disks, and tell him that you're going to use his sounds on your $130 sound board :-).

2PAT will convert nearly any sample you can get your hands on into a GUS patch or a Windows WAV file, and makes creating patches immeasurably easier.  Although it is specifically designed for GUS users, Maui and Rio owners will find it invaluable as well (about which I'll say more later on).  It is such a useful utility that I've included it in the archive with this reference.  Please read the documentation included with 2PAT for specific instructions and terms of use.

Also since the last revision: I indexed a couple more sources of samples (including a NICE set of Roland disk images)--see the Sample Index section.  Plus some expansion of the "Tips" section, including info on the extended features of Patchmaker Lite's Envelope dialog ( in version 1.13).  Other little additions here and there.

[My one disclaimer for Maui and Rio users:  I don't own either of these cards myself, but from a quick perusal of the beta WavePatch software, it seems that most things I describe about Patchmaker Lite will have a parallel in WavePatch.  In many cases, WavePatch is even more versatile than Patchmaker Lite, and I will discuss this (as far as I'm able) in the appropriate sections.]

Back to Table of Contents


The Basics of Samples and Patches

(c) Copyright 1993 by Gavin Scarman (scarman@hfrd.dsto.gov.au)

The GUS, Maui, and Rio are very complex pieces of hardware in terms of what they can do sound-wise.  Now MIDI, sampling, analogue to digital conversion, and other wonderful terms are not difficult to understand, but when a sound card can do all of these things and they can all interact, it becomes a wee bit fuzzy if you're trying to learn via the sponge method. So this section is dedicated to those who don't have access to a computer music genius.

The Basics of Samples

The Basics of Patches

Uses of Samples and Patches


The Basics of Samples

Sounds that we hear are analog, meaning they are made up of a continuous stream of data (for all intents and purposes).  Sampling is the process of taking discrete bits, or samples, of this continuous stream, and representing them with numbers, so that a computer can make sense of them.   This is called analogue to digital conversion (A-D).

If we looked at the stored digital data we would see something like:

4 5 5 6 6 6 7 7 7 7 8 8 8 8 8 8 7 7 7 7 6 6 6 5 5 4 3 3 2 2 2 1 1 1 1 0 0 0 0 0 0 1 1 1 1 2 2 2 3 3 4

This is what a .SND file is like, a 'raw' data file.  Then later we can take the stream of numbers and run them through a digital to analogue (D-A) converter to form sound.

Here are some basic terms:

Sample Resolution

Sample Rate

Or go on to:

The Basics of Patches

Uses of Samples and Patches


Sample Resolution (or number of bits)

So how is a sample converted from physical sound to a number? This question is central to the concept of Sample Resolution.  For simplicity let's look at just 3-bit sampling.  If we have 3 bits we can represent 8 voltage levels ( ie. 2 to the power 3 or 2x2x2):

Bit3    Bit2    Bit1

1       1       1       --------------- level 8

1       1       0       --------------- level 7

1       0       1       --------------- level 6

1       0       0       --------------- level 5

0       1       1       --------------- level 4

0       1       0       --------------- level 3

0       0       1       --------------- level 2

0       0       0       --------------- level 1

 If we sampled a sinewave with 3 bits it may be represented like this:

The first half is the sinewave and the second half is the digital sample.  You can see that it's certainly not an exact replica--think of it as if you were forced to choose only 7 colors with which to view the world.   Right now most of us have the ability to distinguish over 8000 shades of color.  Fortunately most sampling is done at 12 or 16-bits which is far more exact. 12-bit (such as on the TX16w) gives you 4096 values to play around with, ie. quiet and loud sounds can both be stored more faithfully, and the distortion inherent in D-A conversion is much less noticeable.  Ideally, you want 16-bit resolution, which allows for 65536 different values (2 to the power 16).

The trade-off with higher resolution, though, is a larger amount of memory needed to store the sample.  As with multisampling, attempting to get the most realistic sound from your GUS or Maui/Rio can push it to it's limits.

See also Minimizing the Size of Your Samples for recommendations on how to deal with this problem.

For information on Sample Rate


Sample Rate

Sample rate is the number of times per second that the computer checks (and records) the volume of the waveform that it is sampling.   To get a good representation of a sound we must sample at least twice the frequency of the highest pitched frequency in the sound that we are sampling. For example, a person speaking may produce sound mostly around 1kHz (1000 cycles per second).  If we sampled somebody talking we could sample (ie. take measurements) at about 2000 times a second (2kHz) and we would get a fairly rough representation of that sound.  But if we sampled that talking at only 1000 times a second, the sound would be totally corrupted.

Look again at the sampled waveform below:  Notice the smallest steps in the horizontal direction are about 1/14th of the overall size of the waveform (wavelength). If that waveform was 1kHz then it would have been sampled at about 14kHz.

So it's best to sample at the higher frequencies, but if we sample at a higher rate then we are also storing data at a faster rate, thus the samples are bigger.  So it's a trade-off.  To sample most music it's best to use 44100 Hz, but for sampling speech 8000Hz is more than enough.

If we sampled at 44100 Hz for 10 seconds at 8 bits resolution (ie. 1 byte per sample value) this would create a data file of 441,000 bytes--- 25 seconds and it would be a Meg!  It comes down to a tradeoff between quality and size. But, in general, samples are large files.  [See also Minimizing the Size of Your Samples for recommendations on how to deal with this problem.]

Further Basic Info

Table of Contents


The Basics of Patches

GUS and Maui/Rio patches are raw samples with a bit of extra information, called the "header."  The header contains useful stuff like waveform size, loop-points, amplitude envelope, modulation--all of which help the synthesizer to reproduce a realistic sound.  Due to competition between synth makers, and differences in their hardware, there are almost as many different header formats as there are synthesizers.  This is what makes a program like 2PAT so valuable--it can read most of the major formats and translate them into GUS patch format.

A more detailed description of the GUS Patch header can be found in the free GUS SDK (available on the Gravis BBS and archive.epas.utoronto.ca).  A detailed description of Turtle Beach's Samplestore file formats and header info can be found in the file patch.wri, located at ftp.hawaii.edu in outgoing/Maui.

Basic info on looping

Basic info on envelopes


The Basics of Looping

What makes a sound different is not only it's frequency but it's shape, also known as it's waveform. Many sounds have repetitive waveforms and so we need only replay that part of the waveform that's different.

Look at the following waveform:

You can see that the waveform repeats over 3 cycles. So we could sample one third of this waveform, play it back 3 times (ie. loop it), and we would have the same thing. This can be a huge saving in the size of the sample.

The difficult thing about looping is setting the start and end of the loop. If the loop points are wrong we have changed the waveform. The correct loop points are 'a' and 'c', but what if we set the end to 'b' instead, the waveform would look like this:

You can see this is not the same shape, and what's more we've changed the frequency, ie. the rate at which the waveform repeats. It will sound different and at a higher pitch. We can also introduce clicks and pops by getting the loop points wrong. The easiest way to avoid problems is to set the loop points at the zero crossing.

For more tips on Looping

Basic info on Envelopes


The Basics of Envelopes

The envelope in simple terms is the shape of the volume of the sample as it starts (attack), plays (sustain), fades (decay) and finishes (release). These parameters are sometimes referred to as ASDR. [Another implementation of the amplitude envelope is ADSR--this format generally describes the seven-part envelopes of the Maui/Rio]. The attack is evident with instruments such as the acoustic piano, you can hear the key hit the string before the smooth sustain sound. The sustain is what we would loop. On a piano you can either 'release' the sound as soon as you lift the key or let it die away ie. decay. [Again, this is implemented in different ways on different synthesizers, but the general concept applies.]

The ideal is to sample all these parts of the waveform (especially on real instruments), but for our own synthesised instruments, we may want to control how the sound's volume changes over time. The GUS and Maui/Rio's patch file headers contain information to do this.

More info/tips on Envelopes

More basic info


The Uses of Samples and Patches

MODs

MOD files contain up to 31 sampled instruments or other sounds plus the timing and note information to play these samples at different frequencies to produce music. The advantage of MODs is the composor's ability to include the correct instruments along with his music eg. SPA.MOD uses some instruments unlike any of the default patches.  The tradeoff with using custom sounds is the larger size of the file used to store both the musical data and the instrument samples.  Poor sample quality used to be a drawback to MODs, but at least two trackers are availiable now that allow the composer to use high-quality 16-bit samples (Ultratracker and Farandole).

MIDI and MIDI Sequences

MIDI - Musical Instrument Digital Interface, is an industry standard interface for connecting together pieces of electronic musical equipment.  A sequence usually refers to a file of a standard format containing MIDI data: primarily note information, ie. note, on/off , channel, velocity (volume/loudness).

An example of a MIDI sequence if we could read it in ascii:

NOTE	START  STOP	      VELOCITY	     CHANNEL

------------------------------------------------------------------------------

C	1:00	1:01	64	1

C#	1:00	1:04	78	1

E	2:02	2:10	128	2

A MIDI sequence can also contain patch-change info (program/instrument changes), and "controller" info (eg. pan, vibrato, etc) which are embedded in the sequence along with the notes.

Unlike a MOD, a MIDI sequence contains no samples at all, just patch change calls. Before playing a mid, the GUS must first load the instruments from disk into it's onboard RAM .  This is why under Windows it's desirable to have a sequencer that uses patch-caching.  (While being a required standard by Windows, it isn't implemented on al

[SDS or Sample Dump Standard, was designed to give MIDI the flexibility that is found in MODs.  A MIDI Sample Dump can contain the actual samples that are called by a MIDI sequence.  Like the MOD format, it allows the composer to include the exact sounds that he or she indends for the music.  SDS patches can be converted to .WAV files with 2PAT and then combined into multisamples to create a GUS or Maui/Rio patch.  For more info on SDS, click here.--jtc]

For more information on MIDI and MIDI Sequencing with the GUS, see the MIDI FAQ put out by James Andrews and available on epas or the mirrors as gus-midi.faq.

More Basic Info

Table of Contents


Patchmaking Tips

(That aren't in "the Manual")

The following are general tips for Patchmaker, and patchmaking in general:

Tips on Looping

Tips on Envelope Setting

Tips on Tuning

Tips for Percussion Samples specifically


Tips on Percussion Samples

by Chris Wilkins (chrisw@popserver.stanford.edu)

One important trick:  the GUS envelopes take a while to open. Let's say it's a 1000th of a second. Then you've lost the first 30 samples of a 30khz sample. If  there was something important in there, you're in trouble. For example, analog drum sounds tend to have a big voltage spike click at the beginning of them.  If you trim the sample so there's no slack at the beginning, you'll lose this click and quite substantially change the sound. Consequently I always leave about 40 or so blank samples at the beginning of any percussion patches I make.  Otherwise, just load them into Patchmaker, choose 'Don't Sustain Notes' in the envelope window, choose 'No Pitch Shift' in the tuning window, and you're done.

The only other thing to consider is choosing the frequency at which to record the sample.  You need some program which does Fourier analysis for this really [Like GoldWave].  Record at a high frequency and see if there's anything there.  If not, don't waste high sample rates on it.  A rule of thumb: everything except cymbals and some snare drums should be fine at 32khz. Sometimes you can even go lower.

More Tips


The Joys of Looping

(or How to Quickly and Cheaply Induce Insanity)

[Maui/Rio users can skip this intro--it's a GUS specific complaint :-)  ]

One of the annoying limitations of Patchmaker Lite is the lack of a graphical representation of the waveform for the purpose of looping.  In order to loop samples in anything other than a haphazard manner, you have to be able to "see" the wave, as well as hear it.  You may ask:  Why do I need to fool around with the loops--can't Patchmaker just guess for me?  Unfortunately, no.

The fact is, Patchmaker is limited in how well it can guess the correct loop points, and most of the time (that I've found) won't choose the best ones.  If I understand the process correctly, it does a Fourier Transform to find the fundamental wave cycle, and then loops that cycle right at the end of the waveform.  Occasionally, this guess can be improved by moving the loop (without changing it's length) back several cycles, so that it's not so near the end.  Mostly though, the loop-point guesser will only get you started.

Here are some tips which will be directly useful to Maui/Rio users and will be more useful to GUSsers when the "enhanced" version of Patchmaker is released:

Tips on Forward Looping

Tips on Bi-directional Looping


Forward Looping

1.  Since the volume (amplitude) of most samples is not constant throughout, make sure that the start and end points of the loop have amplitudes as close as possible to one another. Otherwise, you'll get an annoying, repetitive sound that will slowly drive you insane.

For GUSsers: Until Patchmaker Heavy arrives (with a graphical representation of the waveform), you can use the "Loop Playback" option in GoldWave to eyeball the amplitudes and figure out your loop points.  (Or spend more money and buy Samplevision :-)  )

If you have really sharp ears and can detect amplitude changes well, you can try listening for these changes while adjusting the looping directly in Patchmaker.  I don't recommend this, though, for health reasons.  To be able to listen accurately you really have to be wearing headphones, and after several minutes of playing the sample over and over again with the wrong loop points, you'll be ready rip your GUS right out of the motherboard and toss it out the window.  Seriously, this method is slow and requires lots of patience.  All I can say is: give your ears a rest every few minutes.

2.  This is fairly basic, but make sure the start and end loop points occur in the same relative location on the waveform. (i.e. Both in the same place in the "valley" or "peak")  That way, the synth chip will loop full cycles of the waveform.  Otherwise, annoying clicks.  (Again, you can use your ears to try to adjust this, but it's much easier to "see" it.)

More on Bi-directional Looping

Table of Contents


Bi-directional Looping

Bi-directional Looping is useful for samples that have a symmetric waveform (that is, symmetric along the time axis).  For example, look at the waveform below:

Note that the wave is vertically symmetrical about point "a"--This sample is appropriate for Bi-directional looping, assuming that you can find a good point of symmetry at the other end of the loop.

On the other hand, more complicated waveforms may not have the appropriate symmetry.  This is again a matter for experimentation, preferably with a program that will give you a graphic representation of the wave.  (Unfortunately, Gold Wave 2.0 does not allow for a Bi-directional looped-playback mode.) The best placement for start and end loop points in this mode will be in symmetrical peaks and valleys.

Table of Contents


Envelope Tips

Both the GUS and the Maui/Rio implement multistage envelopes:  6-stage for the GUS and 7-stage for the TB cards.  Turtle Beach's WavePatch software is very flexible and gives complete control over the various envelope stages. Patchmaker Lite is much more limited.  The newest revision of Patchmaker Lite (1.13--part of the 3.53 disk upgrade) allows the user to alter two of the major envelope parameters.

Playing With Parameters

Once you've established a good loop on a patch, you'll want to experiment with different envelopes.  For percussion patches, the Sustain should probably be set to zero, unless you deliberately want to achieve a strange effect. Changing the Attack can be a useful way to alter the mood of something like a string ensemble:  Choose a "shallow" attack for slow strings, and a sharper one for faster "runs."

"Echo" effects can be achieved by playing around with the Decay and Sustain parameters.  Also a primitive reverb-like effect can be given to a patch by increasing the Release time.  As a matter of fact, many of the GUS' stock patches can be improved by giving them a bit longer Release.  GUSsers: for more info on the new Envelope dialog in Patchmaker Lite, click here.

Adding Responsive Dynamics

Turtle Beach's WavePatch also offers some extra options that make patches a little more professional.  "Attack Velocity" and "Level Velocity" allow control over how the velocity at which a patch is played affects the amplitude envelope.  Generally, the "harder" a key is hit to trigger the patch, the sharper will be the rate of attack and vice versa, lending more realism to the synthsized sound. For some instruments, you'll might want to eliminate the dynamics for the most realism (ie. Pipe Organs and Harpsichords). Experiment with these parameters to increase or decrease the dynamics of the instrument you're creating.

Keyboard Scaling

Yet another "perk" on the Maui/Rio is called "Keyboard scaling," which will offset the scaling of the Decay parameters that occurs when a waveform is pitch-shifted.  This is great for certain acoustic instruments, like strings and tuned percussion.

Back to Table of Contents


Envelope Setting in Patchmaker Lite

As mentioned previously, users of Patchmaker Lite (version 1.13) have the option of changing the Release time by increasing or decreasing the "Rate of Decay" under "When note is turned off" (in the envelope dialog). Decreasing the rate will cause the sound of the instrument to "linger", an effect similar to full reverberation. However, if you decrease it too far, you'll experience some residual static when the note is released.  There will be a "crackle" when the note is released.

This seems to be a consistent effect of decreasing the rate too far, and may be a bug in the drivers (or may be a limitation of the GF1).  A value of .125 is normally the minimum rate that will be static-free.   Another thing to watch out for when experimenting with this dialog is it's effect on the overall envelope.   Patchmaker Lite forces every patch that it processes into a "stock" envelope (apart from varying the Release time).  The stock envelope may not be appropriate for certain instruments.   For example, the GUS oboe seems to use a special rate for the Attack which differs from the PM Lite standard rate.   I would recommend that you test each stock patch that you want to change before making it final, just to be safe.

Another problem that I've run into is that certain patches just won't play properly in the Envelope dialog. (Flute is one)  It seems that this whole dialog is still a little buggy, so use at your own risk.

Another Option

If you want more complete control over envelope parameters, there is another option besides waiting until Patchmaker Heavy is released:  A Windows program called PED (for Patch Editor) provides a basic interface for envelope alteration (with some limitations).  Click here for more info.


Precise Envelope Setting (with PED)

by Ido Amin (iddos@math.tau.ac.il)

PED (Patch Editor) is a pre-Patchmaker Lite Windows patch editor written by Anuj Dev (anuj@fwi.uva.nl) and is available on epas. Not too stable, clear or documented, it however has one feature unavailable in Patchmaker Lite 1.1: precise envelope control.

PED has 12 quirky "pop-down menus" for numeric times & level values input. The resulting envelopes are displayed in a classic "mountain"-type graphic representation.

One problem with PED is it does not feature any immediate audio feedback for the envelope changes you make. A "work-around" for this to keep Cakewalk (or another sequencer that does patch cacheing, like Midisoft Recording Session) open with the patch in question selected in some track, and every time you make a change to the envelope in PED, save it, then switch back to your sequencer and reload the patch (REALTIME/UPDATE PATCH CACHE option in Cakewalk). You'll be able to hear your changes immediately.

Another option is to load the patch directly into Patchmanager/Bankmanager and use the onscreen keyboard (or MIDI thru) to audition your patch.  Just leave it open, make your changes in PED, Save, and then reload the patch that you were working with.

The least desirable, but still workable, option is to leave Patchmaker Lite open, change and save in PED, then close and open the same patch in Patchmaker.  This is a little slower, but it does the job--at least until we get better functionality in Patchmaker Heavy.

Back to Table of Contents


Tuning your Patches

First off, I have to confess that I wasn't able to figure out much about tuning patches with WavePatch.  I will assume that the Maui/Rio folks have the option, and can translate the following to their own platform.

Some of us have a tin ear when it comes to tuning--others can tell the difference between pitches that are a few Hertz apart.  I'm about in the middle: I can get real annoyed when instruments are playing out of tune.  Fortunately Patchmaker comes with a nice little tuning utility that will help you out immeasurably.

First off, if you haven't done so already, retune the clarinet.pat from the original Gravis set.  A few of the waves in it are noticably out of tune.  Don't rely on the "Suggest" button, because it is wrong much of the time (though it can get you close).  Rely on your ear.  You don't have to have "perfect pitch."  Here's how to do it:

1.  Load the patch and call up the tuning window.

2.  Play the Sampled tone by itself to get an idea of what it sounds like alone.

3.  Now, play both the Sampled tone and the Reference tone together and listen for the "beat frequency:"  Most patches, after the initial attack, will settle onto a single pitch during the loop.  The "Reference tone" is merely a pure sine wave at the Root note frequency.  When the Sampled tone and the Reference tone are played at the same time, the difference in their frequencies will create a "beat frequency." (i.e. If the Sampled tone is 440 Hz and the Reference tone is 445 Hz, the tones together will "beat" at a frequency of 445 minus 440:  5 times per second.

4.  You don't have to do any calculation, just listen: if you hear a beat, try adjusting the frequency one way, and then the other.  As the beat gets slower, you know that you're getting closer to the right frequency.  When the beat gets so slow that it only cycles every 2 seconds, you can be assured that your Sample is tuned to within 1/2 Hz of the right frequency.  That's enough to satisfy the most discerning ear.

Remember:  Many of the waveforms that you get off the net are sampled at odd frequencies, like 31459 Hz.  GoldWave converts these samples at 32 Khz, so you can't assume that the stated frequency (e.g. a piano sample of C3) will be exact.  Bottom line: Once you've established a good loop, tune it.

Table of Contents


Getting Started

To begin with, I assume that you have already fooled around with Patchmaker Lite (GUS) or WavePatch (Maui/Rio), perhaps working through the Help files for each.  If not, I highly recommend that you start there.  WavePatch has an informative Help section which should answer most basic questions about the WavePatch interface.

If you're using Patchmaker Lite, work through the tutorial completely, creating the Violin patch, and you'll see how deceptively easy it is.  I say deceptively, because if you come away with the impression that great sounding patches are only a few mouse clicks away, you're in for some disappointment.

This isn't intended to discourage you.  If you're willing to spend a little bit more time setting the loop points and experimenting (which I'll explain later), you can come out with some surprisingly good results.   Maui/Rio users:  You're set.  From what I've seen of WavePatch, it seems to be a versatile and professional program.  It has lots of options that I would love to see in Patchmaker.

[Note: If you don't have WavePatch, you can FTP the beta version from ftp.hawaii.edu in the directory outgoing/Maui.  The filename is mauipt.zip (it's over a Meg in size).]

But even Patchmaker Lite is a very good starting point for making patches.  What it lacks in features, such as a waveform display, it makes up for in ease of use.  Hopefully the "Heavy" version will be released soon, but until then, don't write it off, especially since it's the only program that will currently allow for using WAVs greater than 64k on the GUS.  Even if you just experiment with it a while, you will have built up enough of an experience base so that you'll be off and running when they finally release Patchmaker Heavy.

[NOTE:  If you don't have Patchmaker Lite, you can FTP it from archive.orst.edu in the directory pub/packages/gravis/gravis/util (<--not a typo).  The file is called PMAK110.zip.]

Universal Conversion Tool

For most conversions of samples, the program 2PAT (included with this reference) will be your "Universal tool."  But just in case 2PAT has trouble with that one sample that you can't do without, you also might want a waveform editor, such as the new Gold Wave 2.0 (TM).  I'll include instructions on sample conversion the "hard" way, for those times when 2PAT may have problems.

Finding some samples

Now for the nitty-gritty.  To create custom patches, both Patchmaker and WavePatch must have a sound sample (in the form of a WAV file) with which they can work.  Unfortunately, there aren't many good places to go to get WAV files on the net.  (Actually "UNIX folk" have a knee-jerk hostility to the Windows "operating system," so you're lucky to find WAVs at all).  Even if you can find some, they will probably be only 8-bit samples, which isn't sufficient quality to make a decent sounding instrument patch.

Fortunately, there is a treasure-trove of great sound samples in various places on the net.  All you have to do is find them and convert them to patches.  Let's begin with the best set that I've found--the Kurzweil K2000 archive.


The Kurzweil K2000 Archive

If you FTP to ftp.uwp.edu and go to the directory pub/music/lists/kurzweil/sounds, you'll find around 80 megs of 16-bit sampled sounds.  It has all kinds of things, from sound-effects to orchestral instruments, to Tibetan monks (no-kidding!).  This archive by itself would keep you busy for the next 2 months at least.

Click here for info on converting .krz files to GUS and Maui/Rio patches.

[Note: this list is not complete--if you don't find what you're looking for, it may be there anyway]

  File	Description

-------------------------------------------------------------

acguit.krz	Acoustic Guitar

acstguit.krz	Another one

alesisdr.krz

b3dfile.krz	B3 organ

bassoon.krz	Bassoon

bassoon2.krz	Another bassoon

basvoice.kr1

basvoice.kr2

beat.krz

bigbells.krz	Big bells

bothfrhn.krz	Two french horns

boychoir.krz	Boy's choir

brtpiano.krz	Bright piano

cello.krz	Cello

chanter.kr1

chanter.kr2

chanter.kr3

choicdrm.krz

classgtr.krz	Classical guitar

clguitar.krz	Clean guitar

cnga-tmb.krz

corea.krz

cp70.krz

cymbal.krz	Cymbal

d50strng.krz	D-50 strings

dblbass.krz	Double bass

dragster.krz

drambien.krz

dreamgtr.krz

drmfile.krz	Drums

drumkit2.krz	Drums vol.2

drumkit3.krz	Drums vol.3

drumkits.krz	Several drum kits

dulcimer.krz	Hammer dulcimer

dxepiano.krz	DX7 electric piano

dynamohm.krz	Dynamo Hum

elecdrum.krz

emusp12.krz	EMU SP1200 electronic drums

enghorn.krz	English Horn

fantasia.krz	Fantasia organ/synth sound

farfisa.krz	Farfisa organ

fastbass.krz

fenderst.kr1	Fender Strat 68

fenderst.kr2

flute.krz	Flute

flute1.krz

flute2.krz	Flute vol.2

frenchrn.kr1

frenchrn.kr2

fretless.krz	bass

glassbrk.krz	Breaking glass, maybe?

glassswp.krz

guitarj.krz

gunshots.krz

hammond.krz	Hammond organ

harpfile.krz	Classical harp

harpstrg.krz	Classical harp and strings

helicptr.krz	Helicopter maybe?

hitit.krz

m1drums.krz	Drum sounds from M1 keyboard

m1ethnic.krz	Ethnic instruments from M1 keyboard

m1univrs.krz	Universe synthesizer sounds from M1 keyboard

marimba.krz	Marimba

midilayr.kr1	Rich synthesizer tones 1/2

midilayr.kr2	Rich synthesizer tones 2/2

milisnar.krz	Military snare drum

monksvox.kr1	Tibetan Monks

monksvox.kr2	Tibetan Monks continued.

moog1.kr1	hmm, wonder what this is...

moog1.kr2

mutdfrhn.krz	Muted french horn

newages.krz

newvoice.kr1

newvoice.kr2

obmtrx12.kr1	Drums from oberheim matrix 12 1/3

obmtrx12.kr2	Drums from oberheim matrix 12 2/3

obmtrx12.kr3	Drums from oberheim matrix 12 3/3

oboe.krz	Oboe

oboe2.krz	Oboe vol.2

ocoercdr.krz	Oboe & recorder

percussi.krz	Percussion

piano.krz	Piano

pipeorgn.krz	Pipe organ

pizzacat.krz	Pizzacato strings

pizzica2.krz	Pizzacato strings vol.2

r100drum.krz	Drums from R1000 drum machine

realbass.krz	10 samples of an electric bass

recorder.krz	Classical recorder

rjs_analog_sounds.zip	Several analog sounds

rockgtr1.krz

saxbrass.krz

scoopbas.krz	Bass keyboard sound

sitar.krz	Indian sitar

speceff.kr1	Special effects 1/2

speceff.kr2	Special effects 2/2

stardust.krz	Synthesizer sounds

steeldrm.krz	Steel drum

strngsct.kr1	String section 1/2

strngsct.kr2	String section 2/2

strvoxbl.krz	Strings with voice

sy77tine.krz	Electric piano from SY77

syntbas2.krz	Synthesizer bass

synthbas.krz	Synthesizer bass vol.2

thestick.krz	Chapman stick bass

tr808727.krz	Electronic drums from TR808 & TR727

tr808909.krz	more drums, no doubt.

trumpet.krz	Single trumpet

trumpets.krz	Trumpets

tuba.krz	Tuba

tw12strg.kr1	12-string guitar 1/2

tw12strg.kr2	12-string guitar 2/2

twobsns.krz	Two bassoons

twosynbs.krz	Two synth basses

tympani.krz	Tympani

tympsnar.krz	Tympani & snare

violin.krz	Violin

vocalz.kr1	Vocal choir 1/2

vocalz.kr2	Vocal choir 2/2

Master Index of Samples


Converting Kurzweil Samples (and others)

Most of the .krz files should load right into 2PAT.  2PAT will separate them into instruments, and allow you to save the converted instrument as a GUS .PAT file (including the looping information).  Maui/Rio users aren't left out--click here to find out how to output WAV files with 2PAT.

[Note that some of the converted Kurzweil patches will be larger than 1 Meg, in which case you must load the saved GUS patch into Patchmaker, then delete some of the samples, save it, and reload into Patchmaker in order to hear it.]

Manual Conversion

If, for some reason, 2PAT can't handle a particular .krz file, you may have to resort to a "manual" conversion method, using GoldWave or another sample editor.  For this, we will need to know a little bit more about the type of file with which we're dealing. All the .krz files are 16-bit, signed, "Motorola" format.  The following procedure also applies to all other samples of this format, such as EMAX.  You need to convert them to 16-bit, signed, "Intel" format.  To do this, open up GoldWave 2.0.  Select "File|Open," then select "All (*.*)" in the "File type" list.  Double click on the .krz file and then you'll see the Raw File Dialog Box.  Choose 16-bit, Mono, Signed, and Byte Swap, and then guess at the sampling rate (44100Hz is a good starting point).  The file will then load properly into GoldWave and you should see the waveform appear in a window.  Now click on the "play" button, and you should hear some sort of recognizable sound.

If you just hear static, you've probably done something wrong at some point.  Make sure you selected all the options above.  Make sure you FTPed the sound in "Binary" format.  If all else fails, FTP a different sound just to make sure the first one you got wasn't corrupted at some point.

Listen to your .krz file again.  If the pitch sounds too high, you should probably load it at a lower Sampling Rate, such as 32000Hz.  That slight bit of static you notice in the beginning is just header data for the K2000, not sound data.  Zoom in on it and bracket it with the left and right mouse button. Then choose "delete" from the menu to get rid of it.  Now you are left with a multisampled instrument.  Choose a sample that you like and bracket it.  Make sure that the beginning bracket starts on the center-line (amplitude 0).  This will prevent clicking later on.

Once you've bracketed the desired sample, choose "Trim" from the menu to get rid of the extraneous data to the left and right of the brackets.  Now choose "File| Export" from the menu and then "WAV" and "mono, signed, 16-bit."  Give it the filename you want, and you now have a WAV file usable by Patchmaker Lite.

Note:  Another utility you may want to pick up from the Kurzweil archive is k2klist.exe.  This util will list out the waves in each .krz file, and give you the pitches at which each are sampled.


Saving as WAVs with 2PAT

2PAT can also output a set of WAVs, rather than a GUS .PAT.  If you click on the Save Patch button, and then look at the options under "Save File as Type," you'll see the option "Wave File(s) + .DES".  Select this option, then change the ".pat" extension up in the file name to ".wav" and 2PAT will save the converted instrument as a set of WAV files which WavePatch can import, plus a .DES text file which describes each .WAV and contains information on loop points.  Maui/Rio users can use 2PAT to convert Kurzweil, Roland, Yamaha, Ensoniq and other multisampled instruments to a set of WAVs and then reconstruct the instrument, adding in the loop-point info later.

[Note: this option is also useful for GUS users who want to "tweak" the individual waves of a patch, such as lower the sample rate to conserve memory]


Multisampled Instruments

Most of the Kurzweil patches (as well as many others that you'll find on the net) are "multisampled," meaning that they contain instrument samples at several different pitches.  The characteristic sound (or timbre) of an instrument changes as you play at different pitches.  The way a violin wave "looks" (on your oscilloscope) will change from the lowest note it can play to the highest.  Although the GUS and Maui/Rio can "pitch-shift" one waveform from the lowest note to the highest, the resulting patch will only sound correct for pitches nearest the original waveform.  For example, if the original violin sound was recorded at high C, and the GUS pitch-shifts that waveform down to G below middle C, the tone will not sound like an actual violin played at G below mid-C.  (For technical reasons as to why this is the case, click here). In order to get a closer representation of the true sound, you must include waveforms of various pitches across the whole range of an instrument.  Hence multisampling.

Of course there are tradeoffs.  The more samples you include, the more realistic the sound.  But more samples take up more memory.  The Maui can handle 8 Megs total, and the Rio up to 4, so memory is not as much of a constraint (unless you have less than that).  The GUS, on the other hand, has a maximum of 1 Meg. [Incidentally, if you don't have 1 Meg in your GUS right now, and you still want to play around with patches, you'll want to STRONGLY consider upgrading.  If you shop around it should cost you less than $30 (US)--If I had a Maui, I can guarantee you the SIMM slots would be filled before you could say 300 dollars :-)]

The Kurzweil folks are less worried about this--their machine can hold up to 64 Megs.  But with the GUS (and to some extent with a Maui/Rio), we must be economical.  And here lies the art of patchmaking:  to get the best possible sound with the resources we have available.  (See Minimizing the Size of Samples) For GUSsers:  Until Gravis comes out with the GF2 on a card, with 16 megs to play around in, we'll have to be satisfied with fewer multisamples per instrument.

Table of Contents


Why Does Pitch-shifting Cause Distortion?

[Note: the following explanation is by Chris Wilkins (chrisw@popserver.stanford.edu), who knows a lot more about this than me--jtc]

There are actually two problems involved when a sample is pitch-shifted. One is the change in harmonic content of the note. i.e. if you pitch shift so that any harmonic content goes up over the highest reproducible frequency, you will get an effect called "aliasing distortion." This is why the clavichord patch on the GUS sounds terrible in the top octaves, particularly if you have the number of voices set fairly high.

The second problem is that of speeding up and slowing down of the time structure of the harmonic content. For synthesizer waveforms, for example, this is often the biggest problem since the basic looped portion of the waveform may be fairly similar across the keyboard.


Minimizing the Size of Your Samples

As mentioned above, the art of patchmaking is to get the best sound while economizing on your resources.  A Maui fully-loaded with 8 Megs would be nice, but for the GUS, the bottom line is 1 Meg.  If you just want to do solo piano, solo guitar, etc. , you can get a very nice sounding patch without too much trouble (I have a 900K piano patch and a few Mozart mids that would fool anyone into thinking they were listening to a CD).  But if you have to fit several instruments in that 1 Meg, you'll have to make sacrifices right from the start.

If you know exactly which instruments you need, and have the music already in mind (or on paper), then you can plan ahead, and save some backtracking later.  In general: If an instrument or instruments will be used for solos or highlighted in some way above the others, then you'll want to allocate more memory to improve their quality.  Consider using twice the number of samples as the rest.  Get a good working version of these patches before going to the supporting instruments.

Consider the following example: If you wanted a 16-bit, 44100Hz, unlooped piano sample--assuming an average decay rate of 3.5 seconds, you would need a little over 300K per sampled note.  You could fit only three notes into a 1 Meg GUS.  That's really not sufficient multisampling for a good solo piano.

Solution:

1.  Sample (or resample) lower notes at 22KHz and mid-range notes at 33KHz, plus attempt to loop the lower notes.

2.  If you can't loop the lowest range note, substitute a higher note (with a shorter decay time) and allow the GUS' pitch-shifting to extend the decay for the lower notes.

3.  Near the end of the decay of a sample, when the amplitude has dropped sufficiently, you can generally make a very short loop and save a few hundred bytes.  Even though it might be noticeable to you as you're listening closely to just that note, it won't be obvious in an actual piece of music.  If in doubt, have someone else check it.

The point of the example is to make every effort, short of affecting the final quality of the patch, to save memory.  It will help you in the long run.

For further information, see the September 1993 issue of Electronic Musician.


"Maximizing Sample RAM"

One of the best articles to read that deals with the economic use of samples is called "Maximizing Sample RAM" by Jim Miller.  It can be found in the September 1993 issue of Electronic Musician.  The following tips are paraphrased from that article.

1.  For certain instruments, such as most brass and woodwinds, the waveform becomes steady very quickly, and they can be looped "tightly" right after the initial amplitude peak.

2.  For violins, cellos, and other bowed instruments, the waveform, instead of becoming steady, will "evolve," and can be difficult to loop convincingly.  A trick for these instruments is to loop the sample immediately after the bow has excited the string into motion.  The initial attack of the sound will help the listener to identify the type of instrument, but the early loop will keep him from hearing any further "evolution" of the sound. [This technique was used with many of the sounds already on the GUS, and is probably responsible for the ease with which Patchmaker's loop-point "guesser" finds the correct loop for the included violin sample.]

[Click to see a source of EPS samples that are optimized for short looping.]

3. Certain instruments can sound just as good, sampled at lower rates.  In particular, electric guitars and basses sound fine when sampled at 22kHz. [Note: To lower the sample rate with GoldWave, just choose the "Effects| Resample" menu option].  Most drums and percussion sound fine at 32 kHz.  French horn, oboe, and trumpet also sound fine at 32 kHz.

Table of Contents


Using Csound to Generate GUS and Maui/Rio Patches

(c) Copyright 1993 by James Andrews (james@maths.exeter.ac.uk)

[Warning:  This section is not intended as a tutorial on how to use Csound.  Please read Csound's own documentation before trying this out.  If you want to get started quickly, read Appendix 3: An Instrument Design Tutorial, in the Csound docs.  Csound for the PC and it's docs are available from ftp.bath.ac.uk in pub/jpff. --jtc]

Csound uses instrument description files called orchestras ( .orc files ) which describe what kind of sounds will be generated by the score file, which is a list of notes.   GUS and Maui/Rio patch files contain several samples spread over the length of the keyboard which are then played back under the control of midi.  So what you have to do is make a csound instrument that's groovy and write a score that will generate samples spread out nicely on the keyboard.

(Csound experts please excuse my crass generalisations this is a cookbook-type document not an academic thing.)

Designing a  Csound Orchestra File

Or, if you're experienced with Csound skip straight to:

Converting the Csound output to a GUS or Maui/Rio patch


Designing a Csound Orchestra File

Step one is to design an instrument that you like.  There are lots in the example files, but I had to be different so here's a simple one I dreamed up myself.  It doesn't sound like it's supposed to, but really who cares, it sounds wild.

[Beginning of orchestra file--cut here--]

sr=22050	; sample rate

kr=2205	; control rate

ksmps=10	; mysterious sr/kr

nchnls=1	; number of channels

instr 7

; click preventing amplitude envelope (not strictly needed?)

ampenv  linen   p5,.01,p3,.02

;  control envelope for filter, varies between fundemental and

;  4th harmonic

; p4 is the notes frequency from the score and p3 the notes overall length

k2     expseg p4,p3/2,p4*4,p3/2,p4

; tone generator

; p4 is the frequency from the score and the 2 at the end is a reference to

; the mysterious frequency table f2 in the score

a1      oscili  ampenv,p4,2

; filter sweep of tone generator a1, with control from k2

; and bandwidth from the score

; 'sweep the signal a1 with a bandpass filter centred on k2 with a width of p6

; the 1 is a flag that means 'sort out the amplitude a bit'

a2      reson a1,k2,p6,1

; keep the volume what it was before filtatration

; this helps the volume keep a sane level

ajust   balance a2, a1

out ajust

endin

;end of orchestra

Making a Score File to Play the Instrument


Making a Score File to Play the Instrument

The next stage is to decide what notes you want in the patch file.  Here is a score file that plays back the above instrument at intervals of a fifth, from a low C to the A above middle C.

[Beginning of score file--cut here--]

;frequency table for a square wave

;this means make table 2 with a size of 4096 bytes ( thats quite big,

;reduce it to 1024 or some other low multiple of 256 for mucking about)

;using generation routine 10 (gen10)

;gen 10 takes the next load of numbers as harmonic strengths, like a

;fourier transform in reverse, this gets the fundamental and all the even

;harmonics so its more or less square  (csound will draw you a nice graph of

;this)

f2 0 4096 10 8 0 4 0 2 0 1 0 .5 0 .25 0 .125 0 .0625

; The next section is numbers that get fed to instrument 7 (thats

; the i7 at the beginning of each line)

; The frequency is called p4 in the orc file

;       start   dur     freq              amp      bandpass

i7      0        .75    440             10000      50

i7      +        .      329.627        10000       .

i7      +        .      246.941        10000       .

i7      +        .      184.997        10000       .

i7      +        .      138.591        10000       .

i7      +        .      103.826        10000       .

i7      +        .       77.781         10000       .

i7      +        .       58.270         10000       .

i7      +        .       43.653         10000       .

i7      +        .       32.703         10000       .

e

;end of score file

Now save the above score orchestra as pat1.orc and pat1.sco

and type:

csound -hdopat1 pat1.orc pat1.sco

the option h means 'no header'

option d means 'supress displays'

and o is for output filename

(This process takes about 2 or 3 minutes on a 486sx 20Mhz. For experimenting with orchestras comment out some of the notes in the score file)

This creates a raw sound file which you can then convert to a GUS or Maui/Rio patch.


Converting the Csound output to a GUS or Maui/Rio patch

The score file that we just designed makes one giant, raw-sound sample (16-bit, signed, No byte-swap) that has to be broken up into parts for each sample in the wavetable that makes up the GUS or Maui/Rio patch.  Several ways of doing this spring to mind:

* Split the score file into one note scores, and run csound several times to make the individual samples--this would be slow though

* Chop the sample up with an editor (such as Gold Wave 2.0).  This works quite well for

a few well defined notes.

* Use my amazing (not) sample chopper "split.exe" or write your own dumb c/basic/pascal program that splits a binary file in arbitary sized chunks. (I haven't uploaded this)

Once split, convert to WAV files and load right into Patchmaker Lite or WavePatch.

For further information on Csound, subscribe to the Csound Mailing List.

Have fun.

James Andrews, Computer Development Officer, Exeter University Maths Dept


Master Index for Samples and Patches

Here's an index (as complete as possible for the time being) of sources for Samples and Patches:

Kurzweil K2000 Samples

EMAX Samples

SDS (Sample Dump Standard) Samples

EPS-16+ Samples

TX16W Samples

AIFF Samples (Audio Interchange File Format)

Roland Disk Images (S-550, S-50, S-330)

Yamaha SY Series (SY-85, SY-99)

"Ripping-off" Samples

EPAS has patches!

Of course you can also sample your own, if you are so inclined.  GUS users can use the 16-bit daughtercard or the GUS MAX for high quality stuff. Maui users can use one of the other 16-bit cards out on the market.  In a future revision, I hope to include more info on recording techniques for getting good quality samples.

If you have any tips on sampling--such as microphone placement, reducing ambient noise, etc.--please email me, so I can include them in the next version of this reference. Thanks!

Back to Table of Contents


Roland Disk Images

Samples for the Roland "S" series can be found on lotus.uwaterloo.ca in the directory pub/sgroup/samples.  I've only indexed the main stash of S-550 samples, so be sure to look around for the others. Most of these can be converted by 2PAT as long as they have an .SDK extension (or are "renamed" with such).

The following is an index to the directory:

pub/sgroup/samples/slab.slip.uiuc.edu/S-550/RSB-550

FILE	DESCRIPTION

--------------------------------------------------------------------------------------

RSB-5501.2	Tenor & Soprano Saxophones

RSB-5501.5	Ac.Guitars 2--Nylon-Spain-Classical & Bandolins

RSB-5501.6	Solo Cello & Duo

RSB-5501.7	Woodwinds--Mainly Traditional,Vol.1

RSB-5502.1	Conga-Monga & Bongos

RSB-5502.2	Jet Strings IN STEREO

RSB-5502.5	Mini Moog Bass' #1

RSB-5502.6	EQ Kits 1A--Seperate Outs

RSB-5502.9	FM Filtered #1

RSB-5503.10	Celesta--Professional Sound Series

RSB-5503.2	BriteTrumpts--Solo & Sect. B&K

RSB-5503.6	Pipe Organ & Choir in Stereo

RSB-5503.9	Full String Section--in Stereo

RSB-5504.1	Long Ride Bell IN STEREO

RSB-5504.10	Oriental Cymbals & Gongs

RSB-5504.3	Exotic Hand Percussion#1

RSB-5504.4	DesignerTrap--Set #1 with Sequencer BS--MKS-50+ TX

RSB-5504.5	Industrial Strength--Techno Synth Percussion

RSB-5504.6	Sports Disk1--Fitness and Health Series

RSB-5504.7	Orchestral Percussion#3--Pro Sound Series

RSB-5504.8	Mark Trees, Wind Chimes IN STEREO

RSB-5504.9	Harpsichord--Professional Sound Series

RSB-5505.16	Rock GTR--Sampled w/Distortion

RSB-5505.3	Hookmonics59--1959 Strat Oddities

RSB-5505.4	GrandPiano3W--1 Disk only

RSB-5505.5	Martin Steel String Ac. Guitar

RSB-5505.7	ET Perc 1--Assorted Hand Perc.

RSB-5506.10	Banjo Man--Open Strings

RSB-5506.2	UnderwaterFX--courtesy: Garcia Scuba Archives

RSB-5506.4	Guitar&Stick--Gate Guitar & Stick Basses+ Harmonics

RSB-5506.8	Synth Vol.2--Synthesizer and MIDI'ed Sounds

RSB-5506.9	Super Kit 16--16bit Drums--Digitally Equalized

RSB-5507.10	CLASSICAL COMPOSER SERIES

Most of these are stored with a .Z extension, so you'll have to use the program "gunzip" (on most Unix systems) to unarchive them.  Then rename them with the .SDK extension and import to 2PAT.

Back to Master Index


Yamaha SY-85 and 99

As I'm writing this, there aren't very many of these patches on the net.  Assuming that you can find some, 2PAT is able to convert the .W* wave sample format (remember to rename them with extension .SYW).  There are also .T* format files (see list below) which 2PAT doesn't support in it's current version (1.0).  These can be converted manually, though, in the same manner as Kurzweil samples.  Currently I've only found one directory with Yamaha SY-type files:  louie.udel.edu in /pub/midi/patches/SY99.

This following list is from the README in the SY99 directory:

EURODEMO.T01	Euro Collection II

Samples:	2 loops (funk & mod)

orch. hit

8 various vox

1 sfx

GREGDEMO.T01	Enigma rip-off with Gregorian choir

Samples:	1 analog drum-loop

2 vox

JAPDEMO.T01	Japaneese Collection

Samples:	8 vox

USDEMO.T01	American Collection

Samples:	4 female vocal hooks

1 ethnic loop

There is also a directory for SY-85 files as ucsd.edu in midi/patches/SY85, but it is currently empty.  Please email me if you find any other sources of SY samples.


Patches on Epas!

I know this may not be the news flash of the decade for some of you, but some people out there may not be aware that the EPAS archive has "homebrew" GUS patches.  Maui/Rio users can load these into 2PAT, output multiple WAV files, then rebuild them for their own use in Maui/Rio format.

[Note: Actually, most of these user-created patches aren't on the original epas--they're on the mirrors in archive.orst.edu (pub/packages/gravis) and wuarchive.wustl.edu (systems/ibmpc/ultrasound)]

Click here if you want to peruse them.

Or, if you knew all this already and just want to get back to the Master Index, click here.


PATs on EPAS and it's mirrors

[Note: Because patches are uploaded constantly to epas, I can guarantee you that this list is not complete--It should just give you a general idea of what's available.]

In the directory /sound/patches/files/:

    File	Description

------------------------------------------------------------------

606chris.zip

727drums.zip

808add1.zip

808chris.zip

808drums.zip

909drums.zip

accrdeon.arj

acguit.zip	Great Acoustic Guitar! (F. Dion)

anasyn1.arj

anasyn3.zip	Analog Synth Patches (F. Dion)

basses.zip	Some Basses taken from the EPS Sample--basses.gkh

bozen_l.zip	Bosendorfer Piano Patch-over 900K!

bozen_l2.zip	Alternative envelopes for Bosendorfer PAT

calliope.zip

churcho.zip	Church Organ (F. Dion)

clarpat.zip	New clarinet patch

cr78chrs.zip

d10pat0a.zip

dbeat1.pat

epspatch.zip	EPSkick.pat and EPSsnare.pat

fopsnare.zip

guns.zip	Great replacement for the "ringwhistle"

gusvox.zip	Vocal stuff (P. Tran)

harp.zip

harpsichord.zip

krzpat1b.zip

linpats0.zip

linpats1.zip

metal.zip

newchoir.zip	380K Choir Patch

newpatch.zip

patches1.arj

piano.pat	A medium-sized piano replacement

piano2.pat	filtered to reduce the "harshness"

piano2a.zip	longer sustain and decay

piano2b.zip	sustain and decay slightly shorter

polystri.pat

propats1.zip	Guitars, Pianos, Effects and more...

propats2.zip	(from J. Roscoe)

propats3.zip	"

propats4.zip	"

propats5.zip	"

ravpats1.zip	Rave!

snare3.pat

sologuit.pat	Solo Guitar

solopno2.pat	Another 1 Meg piano patch

solotrmp.pat	Large Trumpet patch

tracx.zip	Hardcore techno drums (F. Dion)

ttone.zip

wimedrms.zip	Electronic snare and kick drums (F.Dion)

winds.zip	Whooosh!

wospt1.zip	Cello and 808 Kick Drum (Wall of Sound)

wospt2.zip	Dance Percussion Patch (Wall of Sound)

These patches have been donated by GUSsers from all over the world in the continuing effort to improve and extend the GUS.  [Maui/Rio users: feel free to share in the wealth :-)]

Help out and put your custom patches here too!

Back to Master Index


"Ripping-off" Samples

If you would like to use the samples that are already in the GUS patch set, whether to play around with in MOD files, or to make funky "split-keyboard" effects, or even just use the samples in other people's patches for your own purposes, use the option in 2PAT to save as .WAVs plus .DES.

Back to the Master Index


TX16W Samples

TX16W samples can be found at ftp-ls7.informatik.uni-dortmund.de in the directory tx16w/samples (surprise, surprise! :-)  ).  2PAT does a good job with conversion of these samples, though it doesn't support conversion of an entire multisampled instrument.  If the patch that you're attempting to convert is multisampled, you must convert to a set of WAVs and then reassemble them.  This is described in the section "Saving as WAVs with 2PAT".  In case 2PAT has difficulty with conversion of a particular patch, manual conversion is described below.

Note:  If you're interested in detailed information on the TX16W header, look for pub/tx16w/mail/0FAQ.lst at the above site.

Manual Conversion

The TX16W only uses 12-bit sampling resolution, so it encodes the sample to save space.

Fortunately, an older version of the SOX sound exchange utility is able to deal with this encoding scheme, so here's what you do to make a 16-bit wave file from a 12-bit, encoded TX16W sample:

1.  FTP the older SOX.exe utility (dated June 11, 1993) from the directory tx16w/util/ibmpc.

2.  Now FTP the newer SOX7DOS.zip with its newer SOX.exe file from oak.oakland.edu in pub/msdos/sound.  Rename the newer SOX.exe to SOX7.exe and place it in the same directory as the older SOX.exe.

3.  Then create a BAT file called TX2WAV.BAT and put the following lines in it:

echo off

echo Converting %1 to %2

sox -v 1.4 -t .txw %1 -t .sf -u -w %2.sf

sox7 -t .sf -u -w %2.sf -t .wav -u -w %2.wav

del %2.sf

Now just type:

c:> TX2WAV infile outfile(no .wav extension)

and the Batch file should perform the conversion.

I know that some of the more "techie" minded will look at the above batch file, and say "Why the @#$% is he doing it that way?"  Well, the "techie"-minded folks can click here, and I'll try to explain myself.

       All the rest of you who don't care can take it on faith that this works and keep on reading :-)

Bug-Note:  There are some TX16W samples that cause SOX to give an error like:

Invalid Sample Rate Identifier....

I haven't a clue how to solve this problem, so if you have a solution, please email me.

Many samples are OK and will convert fine with 2PAT.

Back to Master Index


heck!


jtcapps@netcom.com


What a KLUDGY BAT file!

To begin with, the older SOX version is the only one that will deal with the 12-bit encoding scheme that the TX16W uses, so I had to use it. Unfortunately, this older version also screws up the WAV header royally, so that's why I chose an intermediate .sf format.  The older SOX doesn't screw up .sf, and the newest version gets everything correct.  (It just can't deal with .txw as a file type.)


TX16W Samples

(in pub/tx16w/samples)

Here are the directories that you'll be concerned with:

drums

effects

guitar

horns

house

misc

mixed

organ

piano

strings

synth

tekkno          (Nothing here currently)

yamaha  (Contains links to the Yamaha Sample Disks in other dirs)

Back to TX16W conversion info

Back to Master Index


Drums subdirectory

 Size           Date            Filename

------------------------------------------------------------------------------------------------

481102	Apr 23  1993 accdrums.zip

419543	Sep 10 14:58 d70drms.zip	Roland D-70

881315	Apr 23  1993 ddrum.zip	Dance drums, 808, 909, etc.

918706	Apr 23  1993 drum-1.zip

214784	Apr 23  1993 jazztrap.zip	Mellow drum kit

583802	Sep  6 16:29 m1drums.zip

Dir.	Dec  2 12:41 roland-r8	Whole Roland R8-mkII drum machine

224446	Sep  8 07:43 sab20rd1.zip

494948	Apr 23  1993 sd5.zip

596780	Apr 23  1993 tg33drms.zip

487805	Sep  8 07:43 tim_drum.zip

Back to Main TX16W Sample directoy

Back to TX16W conversion info

Back to Master Index


ACCDRUMS

[Info from archive index]

.title Acoustic Drum Set

Voices:

BASS DRUMS	SNARES

TOM-LOW	TOM-HIGH

HATS	RIDE&CHINA

CRASH	SYN-TOM

ALL DRUMS


Dance Drum Set

[From archive index]

Voices:

Drum Kit01	Kick Drums	Snares 7

Simm-Kick	Simm-Snare	Simm-Toms

Simm-Hats	Simm-Timps	Simm-Ride

Simm-Claps	Simm-Marac	Cbass drum

Snare IND	hi-hat	Open-H/H

Ride	Crash	El.Tom

El.tom 2	Perc Mix	Rev Tom

Tom-El.3	E.Tom 4	E.Tom 5

Tom 6	Roto

SND1	SND3	SND3


Sabian Ride Cymbal

[From archive index]

The file SAB20RD1.W04 is a stand alone wave of a Sabian 20 inch ride cymbal

close miked with a very nice condenser mic and sampled at 50k. This sample is

LONG, and eats lots of memory, but give it a couple of voices and it will do a drummer proud!

(or compress it, truncate it and loop it).

Tim Boudreau (Boudreau@titan.umass.ucs.edu)


Yamaha Drum Set 1

[From archive Index]

Voices:

KICK 3	EL.KICK 1	SNARE 5

EL.SNARE 1	EL.TOM 1	EL.TOM 2

ROTO-TOM 1	SNARE BES.	SN-BRUSH

SN-BEAT	SN-ROLL	COWBELL 2

SNIP 1	GIT.SINGLE	GIT.CHORD

BASS 1	KICK 1	KICK 2

SNARE 1	SNARE 2	SNARE 3

SNARE 4 	CL.HH 1	OP.HH 1

RIM 1	RIM 2	TRIANGEL 1

TRIANGLE 2	WOOD 1	STICK 1

SHAKER 1


Tim's Drums

[From archive index]

Tim_drum.zip is a collection of drum samples taken from some multi-track

sessions I did with a local drummer named Kevin Sharpe, a couple of years

ago when I was still learning what a pain in the butt the TX16 is!

There is a complete drum kit set up in stereo here (the mid tom sample is

a bit weak; I recommend reassigning hi and low toms and zapping it out of

the keymap).

Tim Boudreau (Boudreau@titan.umass.ucs.edu)

(Note: the file names in the archive tim_drum.zip include illegal

characters--Unzip on a UNIX machine, then rename)


Effects Subdirectory

  Size          Date	Filename                Comment

-------------------------------------------------------------------------------------------------------------------------

542828  Apr 23  1993	animals.zip	From Yamaha Sound Samples Lib.

934270  Nov 30 1993	out_fx.zip

497836  Apr 23  1993	sd6.zip

118648  Apr 23  1993	toilet1.zip

Back to Main TX16W Sample directoy

Back to TX16W conversion info

Back to Master Index


Yamaha Sound Disk Lib.--Sound Effects 1

[From archive index]

Voices:

Crowd l	Crowd II	Brok.Glass

Explosion	Pouring	Fire-Match

Glass	Shots	Shaker

Match C3	Glass-up	Fright

Fright II	Pouring up


Outdoor Effects

[From archive index]

TX16W sound effects samples donated by Pierre Gander.

Here are the details:

---WAVE------------------------SIZE---------COMMENT-----------------------

BOATSIRN.W01	163328	A distant boat siren

COLDWIND.W02	285184	A cold wind blowing

HOOFS.W03	30720	Endless horse running

JUNGLE.W04	173056	Background jungle atmosphere

RAINYDAY.W05	105984	Background outdoor atmosphere

ROWING.W06	103424	Creaky oars and water in a loop

SEAGULLS.W07	201728	Seagulls by the sea

SPCAVEFX.W08	99840	A bit like in a cave but synthesized

STREAM.W09	144384	By a sparkling spring

TXSNFX-Z.W10	20992	A space synthy sound effect


Guitar Subdirectory

  Size          Date            Filename

---------------------------------------------------------------------------------------------------

985870  Apr 23  1993 guitar-1.zip

Back to Main TX16W Sample directoy

Back to TX16W conversion info

Back to Master Index


Guitar Samples

[From archive index]

Voices:

12String	6 String	6 Str solo

Classic mf 	Slo-GroGtr	Slidevoice

E12 voice	6StE voice


Horns Subdirectory

  Size  Date            Filename	Description

------------------------------------------------------------------------------------------------------------------

930234  Apr 23  1993 brass-1.zip	Saxes, Trumpets and Flute

366649  Apr 23  1993 clar-1.zip	Bass Clarinet and Clarinet

576125  Apr 23  1993 flute-1.zip	Flute and Piccolo

214320  Apr 23  1993 hornfall.zip	Kurzweil PX1000 Trumpet Fall

440499  Apr 23  1993 oboe-1.zip	Fagotto, English Horn, Oboe

579746  Apr 23  1993 sax-1.zip	Baritone and Tenor Saxes

Back to Main TX16W Sample directoy

Back to TX16W conversion info

Back to Master Index


House Subdirectory

  Size	Date	Filename                Description

-------------------------------------------------------------------------------------------------------------

344343	May  4  1993	blckbox.zip	Bass, Piano, and Chords

847594	Apr 27  1993	fuzz.zip	Heavy Metal Guitars

1120723	Apr 27  1993	house.zip	Funk Grunts and Percussion

1055880	May  4  1993	newlin.zip

1133477	Apr 27  1993	remix.zip

523939	May  4  1993	xrated.zip	Bass and Percussion

Back to Main TX16W Sample directoy

Back to TX16W conversion info

Back to Master Index


Misc Subdirectory

  Size            Date	Filename             Description

--------------------------------------------------------------------------------------------------------

416971  Nov  2  1993	Nasa_communications.zip

418332  Sep 10 1993	etnd70.zip	Ethno Flutes, Funk Guitar, D70 Ghost-choir

563775  Apr 23  1993	scatvoic.zip	"Scat" vocals

Back to Main TX16W Sample directoy

Back to TX16W conversion info

Back to Master Index


Nasa Communications

[From archive index]

These are some samples taken from a space exploration documentary on TV.

They are radio communication voices between an Apollo spacecraft and ground.

Hallvard Tangeraas, Oslo, Norway                (Hallvart@ifi.uio.no)


Mixed Subdirectory

  Size    Date          Filename                Description

--------------------------------------------------------------------------------------------------------------

442074	Oct  6 1993	bigstuff.zip	"Waterspace," French Horn, Jazz Bass

952588	Apr 23 1993	europrf1.zip

1144508	Dec 10 1993	fairlite.zip

354797	Oct 27  1993	mirage.zip	Mirage Piano and Choir

612705	Apr 23  1993	mixsetp.zip

831530	Apr 23  1993	sd1-2.zip

941168	Apr 23  1993	sd3-4.zip

Back to Main TX16W Sample directoy

Back to TX16W conversion info

Back to Master Index


EUROPRF1.ZIP

[From Archive Index]

Voices:

MIXSTRING1	PIANOFORTE	AT-STRINGS

C3-6FCSTGS	C3-C6 PIANO	2FC-STRING

FRETLESS	FANTASIA	BRASS1

A.BASS	2BC-TRUMP	SAX SECTN.

DEEP RED	SECT.BRASS	C1CALLIOPE

LIM-BRASS	MW.BRASS	SYNTHESIS1

SLAPBASS	F3CALLIOPE	SOFTBASS

EFLASAX	NSAXSECTN.	ROCK BASE

C3SYNTHESI	LIM-SAXSCT	DIST.STROK

LYLE VOICE	LIM.FANTAS	CL.H/H

B.DRUM


Mixed Set

[From Archive Index]

Voices:

CHOIRS 1	LESLIE SQ-1	STRIN

SQ-MIX 1	JAMES BOND	HIT&BAS&FZ

SQ-MIX 1	HIT ME	FUZZ

STABBRASS	GURA SQ-1	SQ1-ORGAN


Yamaha Sound Disk Library - Set 1

[From Archive Index]

Voices:

Piano 1	Filtered	Veloc.High

Veloc.Low	Banjo	EP Attack

Low Speed	High Speed	Clavi Like

Melancholy	Vibes	Vibes 2

Vibes	BD	SN

SN-B	SN 2	SN-R

HH	Snip	Upright Piano

HH open	Ride-Cymb.	Snip-trans


Yamaha Sound Disk Library--Set 2

[From archive index]

Voices:

Strings 1	Marimba	M-Fem-Choir

Str-Attack	Str-Detune	Orch.Hit

St.Flute	Orchestra1	Groovy Str

Strg.Split	Filter Str	Flut-Split

Filter Cho	Filter-Ch2	Synth.Brs.

Synth.Brs2	Filter-Syn	Filter-S.2

Brs.Attack	Orch.Hit 2


Organ Subdirectory

  Size              Date                Filename

-------------------------------------------------------------------------------------------------

130531  Jun  9  1993	hammond.zip

990096  Apr 23  1993	piporgan.zip

226446  Apr 23  1993	pxjorgan.zip    Kurzweil PX1000 Jazz Organ

199097  Apr 23  1993	pxrorgan.zip    Kurzweil PX1000 Rock Organ

Back to Main TX16W Sample directoy

Back to TX16W conversion info

Back to Master Index


Piano Subdirectory

  Size              Date            Filename            Description

--------------------------------------------------------------------------------------------------

660261  Sep 10 14:59   d70piano.zip

910854  Apr 23  1993    piano-ss.zip	Steve Selick's home-brew piano set

892967  Apr 23  1993    pianoemx.zip	EMAX 2 Grand (11 stereo samples=22 waves)

244338  Apr 23  1993    pxepiano.zip	Kurzweil PX1000 E-Piano

Back to Main TX16W Sample directoy

Back to TX16W conversion info

Back to Master Index


D70 Piano etc.

[From Archive Index]

A nice multisampled piano, a rezo-slap-bass, and a Shoo-doon from the Roland D-70.

By Daniel Lehtihet


Strings Subdirectory

  Size     Date	      Filename	  Description

--------------------------------------------------------------------------------------------------------------------

666066 Apr 23 1993 stryng.zip	Synth Strings and Voice

513165 Apr 23 1993 violin-1.zip	Violin Ensembles (Mono and Stereo)

532515 Apr 23 1993 violin-2.zip	Violas and Stereo Violin Ensembles

543394 Apr 23 1993 violinv2.zip	Violin section

Back to Main TX16W Sample directoy

Back to TX16W conversion info

Back to Master Index


Synth Subdirectory

  Size	   Date	Filename

-----------------------------------------------------------------------------------------------------------------

417424  Apr 23  1993	ppgwave.zip

543629  Apr 23  1993	prophet5.zip

1018876 Apr 23 1993	synth-1.zip

621990  Apr 23  1993	synth-2.zip

640084  Apr 23  1993	synthsv2.zip

Back to Main TX16W Sample directoy

Back to TX16W conversion info

Back to Master Index


SYNTH-1.ZIP

[From Archive Index]

Voices:

Perc-Brass	Org  voice	Spce voice

Dual voice	Pitchvoice	Sparkvoice

Spar2voice	Spi1 voice	Spi2 voice

Mett Voice	Churchvoice	Humanvoice

SynStvoice	Moogovoice	Belltone

Prophet	MULU-Voice	Bass-Split

MULU-Split	Syn.Harp	SlowAttack

Pluk-Voice	Metal.Clav


SYNTH-2.ZIP

[From Archive Index]

Voices:

Fat	Fat 2	Trumpet

Stab voice	Octv Stab	So wie du

Hi	Tiney Hauch	Strings

Breath-Spl	Brassattak	Strg voice

Bassyvoice	Syn-Lead 1	Fat-String

Oskar


Yamaha "version 2" disk set--Synth

[From Archive Index]

Voices:

ANALOG	WATER	BRASS

SPARKLE	LEAD	BREATH

PERCUSSIVE	STRINGS	POLYSYNTH

ANALOG AT	WATER AT	BRASS AT

BREATH AT	STRINGS AT	SPARKLE AT

POLYSYNCUT	(AT=Aftertouch)


EMAX Samples

EMAX samples can be found at sweaty.palm.cri.nz in the directories emax/emax1 and emax2.  Version 1.0 of 2PAT doesn't support conversion of EMAX samples, so these will take a little more work than most others. These samples are 16-bit, signed, Motorola format and can be converted in the exact same manner as the Kurzweil samples.

Here's a directory (current at time of writing):

of emax/emax1:

  File                  Size            Description

----------------------------------------------------------------------------------------

bliss.lzh	452692

brekbeat.lzh	445323

buzuki.lzh	465887

cageperc.lzh	457781

dumbdrum.lzh428939

janham.lzh	612329

mellotro.lzh	436021

ms20.lzh	382758	Korg MS20 samples

syntho.lzh	451381

in emax/emax2:

buzuk2.lzh	895601

choirboy.lzh	502758

mandolin.lzh	478726

mellot2.lzh	1015194

piano2.lzh	928947

pro3.lzh	451952

synth2.lzh	998114

taylor1.lzh	484165	Taylor acoustic guitar (has slight hiss)

taylor2.lzh	474531	"        "       "

taylor3.lzh	484053	"        "       "

Back to Master Index


SDS Samples

SDS (Sample Dump Standard) was intended to be a standard for transferring custom samples across different platforms, but the "standard-makers" neglected to allow "System-exclusive" information to be put in the SDS headers, so it hasn't gained much popularity.

That's unfortunate, because SDS gives MIDI composers the flexibility heretofore only enjoyed by MOD composers.  Currently, many PCM RAM synths support SDS, including Yamaha SY-85, SY-99, Kurzweil K2000, and Ensonic TS-10 and TS-12.

Note: If you're interested in the format of an SDS MIDI dump, look in pub/midi/sds/doc at alf.uib.no.

The "official" site for SDS samples and utilities is alf.uib.no [129.177.30.3] in /pub/midi/sds/samples.  SDS samples can also be found at sweaty.palm.cri.nz in the directory sds/samples. (Note: FTP from the US seems to be faster to the New Zealand site than to the Norway site, for some strange reason.  I've had long lags, even in off hours at "alf"--The European folks should be fine.)

Conversion:

2PAT supports the conversion of SDX samples, which are a "compacted" form of the original SDS samples.  SDX samples are created by the SDX utility: file SDX101.zip (in sds/utils at sweaty.palm and /pub/midi/sds/programs at the official site in Norway).  Questions about this utility can be addressed to Kurt G. Gjerde (Kurt.Gjerde@student.uib.no) who wrote it.

In case 2PAT has difficulty with a particular SDX sample that you need, you should be able to convert to WAVs using the SDX utility (losing the looping info, of course).

Currently there aren't very many SDS/SDX samples at either archive, but you might give them a "browse" anyway.  (Please email me if you know of any more places to get SDS/SDX Samples)

Here's a directory (current at time of writing):

in sds/samples (at both sites):

   File            Size

---------------------------------------------------------

soundfx1.zip 362384

sdspak01.zip 338531

combina2.zip 676152

voice1.zip     134111

environ1.zip 730179

Back to Master Index


SDSPAK01.ZIP

 Length         Sound

 --------------------------------------------

 196363	CYCLE.SDS

  38121	TIGERMAN.SDS

 130196	SMASHGLA.SDS

  73728	CHRS_104.SDS

  24659	TERM1.SDS

  24659	TERM8.SDS

  24659	TERM6.SDS

  24659	TERM4.SDS

  24659	TERM3.SDS

  24659	TERM2.SDS

  24659	TERM5.SDS

  24659	TERM7.SDS


SOUNDFX1.ZIP

[From accompanying txt file]

 Sound          Description

-------------------------------------------

VASE	Breaking vase

INDUSTRY	Industry noise

PRESS	       "

TIGERMAN	Tiger/man

BANDHIT	[none]

CYCLE	Harley...

GLASS	Smashing glass


ENVIRON1.ZIP

[From accompanying txt file]

 Sound          Description

------------------------------------------

INDUSTR2	Industry noise

FOOTSTEP	Footsteps

RAIN	Singing in the ...

WIND	Wind

RIVER	River

WATER	Water

FROG	the frog

SEA	Waves?

CUCKOO	the bird


VOICE1.ZIP

[From accompanying txt file]

Sound           Description

--------------------------------------------

HUUU	[none]

OOVOX	[none]

ADVOIC	[none]

HAAA	[none]

GOTHIC	Gothic choir


COMBINA2.ZIP

[From accompanying txt file]

Name            Description

-------------------------------------------

HORNS0?	Horns (2)

STRING0?	Strings (3)

WOODWIND	[None]

PIZZ0?	Pizz (4)

SHAKU10?	Shaku 1 (2)

SHAKU20?	Shaku 2 (3)

CELLO0?	Cello (3)

TIMPROLL 	Timpani roll

ORCHITED	Orchestra hit


EPS-16+ Samples

EPS 16+ samples can be found at ftp.reed.edu in the directory eps/samples.  These are archived in .gkh files, which require you to use the epsdisk_121c.exe utility found in eps/utils.   EPSDISK will extract the individual .ins (instrument) files from the parent .gkh file (there may be several).  There are directions included with the utility, but they're somewhat sparse--remember these tips:

1.  Type "D" for a directory of the .gkh file you're using.

2.  When EPSDISK asks you for the "Volume", it means the .gkh file--be sure to type in both the file name and the .gkh extension.

3.  Decide what instrument you want to extract, then type "X" for extract.

4.  When prompted for a directory to put the extracted .ins, type a single eight character directory name, and it will be created as a branch from the current directory.

Once you have extracted the .ins file, you can convert it to a GUS patch or WAV with 2PAT.  If 2PAT doesn't load the sample properly, you can convert to a WAV manually, in exactly the same manner as the Kurzweil and Emax samples.

[Note: If you convert manually, remember that the .ins format includes header data before each sample in a multisampled instrument--remember to remove it before importing to Patchmaker.]

Note also: there exist utilities called INSTEDIT.exe and WSD2SND.exe, that you can use to break the multisampled .ins files apart.  I recommend against using them, partly because the latest version of INSTEDIT seems to have a bug  (confirmed from 3 other people), and partly because using GoldWave directly just seems easier to me.

INSTEDIT is useful, however, for decoding the header information in each .ins file:

1. Run it and enter the .ins file.

2. Press Enter at "Explode instrument to directory:" prompt.

3. Press "Y" at "Display instrument info:" prompt.

4. INSTEDIT will now give you more information than you ever wanted to know about each Wave in the .ins file, including sample rates and loop points (in Hexadecimal).

It's up to you to figure out if these loop points will give you the sound you want.

Click here for EPS directories

Back to Master Index


EPS Directories

Note: File listings are complete as of time of writing.

These are the directories in eps/samples that you'll be concerned with:

PD	Public Domain

aiff	raw samples in Audio Interchange File Format

misc	Lots of miscellaneous uploads

vfx	VFX samples, specially done to produce the shortest possible loop.

(VFX stuff should be ideal for conversion to PATs, see "Maximizing Sample RAM" article)

Also check out the eps/incoming directory.

Also check out the eps/incoming directory.

Back to EPS conversion info

Back to Master Index


EPS Public Domain Samples

Public Domain Disks are stored in the format:

pdxx.gkh.gz

[Info taken from document on the archive]

PD Disk 1--McGill Brass HR-16 Kit

PD Disk 2--Timp/Perc1/Xylo

PD Disk 3--Korg Piano 1 of 2

PD Disk 4--Korg Piano 2 of 2

PD Disk 5--Flintstones/Blues Bros. FACE Strings

PD Disk 6--Pizzicato

PD Disk 7--FZ Conga Marimba/Daves Mallet Crotales/Misc. Perc.

PD Disk 8--Indian Perc. Perc.1

PD Disk 9--6 Strings / Quartet Marimbas

PD Disk 10--Ellis Song

PD Disk 11--FZ perc 1&2 Bells&Blocks Daves Mallet

PD Disk 12--R8 Perc./VFX Drums Tour Vibe WB/Wind Chimes

PD Disk 13--African Perc. Xylo

PD Disk 14--HR-16 Perc. Conga Timp/Vibes

PD Disk 15--Timp/Vibes/Drums

PD Disk 16--E-Mu Perc/M1 Perc Indian Perc

PD Disk 17--Strait Nada Song

PD Disk 18--Other Worlds Seq.

PD Disk 19--Air Breeze

PD Disk 20--Give It Up

PD Disk 21--Firebird

PD Disk 22--Star Wars 1 of 2

PD Disk 23--Star Wars 2 of 2

PD Disk 24--Night in Tunisia

PD Disk 25--Scottish Drums & Seq.

PD Disk 26--Bob's Shorts

PD Disk 27--Delta 1

PD Disk 28--Baby Grand

PD Disk 29--EPS Demo 1

PD Disk 30--Night in Tunisia backup

PD Disk 31--Hammond B3

PD Disk 32--K5 Bass & Marimba

PD Disk 33--Conga/Tumba/Quinto African Perc.

PD Disk 34--Better E-Mu 2 D50 Gamelan

PD Disk 35--Birdsong Rain/Thunder

PD Disk 36--OK Chorale Synth String Horn Section/Bow Cym

PD Disk 37--Synclavier 1-6

PD Disk 38--Solo String Low Fiddle

PD Disk 39--Stacked Perc. Stacked 2

PD Disk 40--Stereo Drums E3 Bass

PD Disk 41--DSP 1-5

PD Disk 42--Sarod

PD Disk 43--Pop Piano English Horn

PD Disk 44--Kawai Piano New Strings

PD Disk 45--Genesis Disk Flange

PD Disk 46--Fat Synth Mellow Steel Spirits/Big Fat Organ

Back to EPS Main directory

Back to EPS conversion info

Back to Master Index


AIFF Samples

The Audio Interchange File Format was developed by Apple for storing high-quality sampled sound and musical instrument info.  It is similar to the Windows WAV format in that it can store multiple sound chunks.

Conversion:    2PAT supports 8 and 16 bit AIFF samples, including loops.  If 2PAT won't work, manual conversion is the same as with the Kurzweil samples.

These are the subdirectories in ftp.reed.edu,  directory eps/samples/aiff:

Breakbeat	Contains files bb01.aif to bb35.aif

Kick	Contains files kick_1.aif to kick_4.aif

Numbers	Contains files 001.aif to 208.aif       (Various percussion--it seems)

SecretAiff	Contains files Secret.AIFFAlloy.AIFF.1 thru .8 (?)

Snare	Contains files Snare_1.aif to Snare_4.aif

misc	Click for more

A few AIFF samples can also be found at cecelia.media.mit.edu in /pub/Csound/Samples:

  Size	     Date	Filename

---------------------------------------------------------------

4024320 Feb 28 1992	Bosendorfer.tar

2252800 Mar  9  1992	Guitar.tar

1249280 Feb 28 1992	TRUMP.tar

7229440 Mar  9  1992	Violins.tar

These tars contain multiple samples of the respective instruments.  Also check out the files sologuit.pat, solopno2.pat, and solotrmp.pat (on epas), which were derived from these AIFFs.

Click here for a reference on the AIFF sound format

Go to EPS Main Directory

Back to Master Index


AIFF REFERENCE

Mike Brindley (brindley@ece.orst.edu) writes:

"The complete AIFF spec by Steve Milne, Matt Deatherage (Apple) is available in AMIGA ROM Kernal Reference Manual: Devices (3rd Edition) 1991

 by Commodore-Amiga, Inc; Addison-Wesley Publishing Co.; ISBN 0-201-56775-X, starting on page 435 (this edition has a charcoal-grey cover).  It is available in most bookstores, and soon in many good librairies."


AIFF misc Subdirectory

These filenames are fairly descriptive:

   Size	   Date	File

-------------------------------------------------------------------

 66190	Feb 26  1993	AnalogBoatWow.aif.gz

119279	Feb 26  1993	AnalogFatness.aif.gz

340969	Feb 26  1993	AnalogWarble.aif.gz

203414	Feb 26  1993	AnalogWarble2.aif.gz

 41426	Feb 26  1993	BOOM_KICK.aif.gz

249402	Apr  6  1993	Belted_Back.aif.gz

275563	Mar 24  1993	BottleIt.aif.gz

  5998	Feb 26  1993	CL_HAT.aif.gz

  4510	Feb 26  1993	Clap.aif.gz

110055	Feb 26  1993	D50FutrPadG4.aif.gz

 54365	Feb 26  1993	DrumFill1.aif.gz

 90024	Feb 26  1993	DrumFill2.aif.gz

183159	Apr  6  1993	Elvis_Flange_mod.aif.gz

 53989	Feb 26  1993	FOP_SNARE.aif.gz

325958	Feb 26  1993	Fluxuating.aif.gz

200701	Feb 26  1993	FunkGuitar.aif.gz

329736	Feb 26  1993	FunkyMix.aif.gz

 65229	Feb 26  1993	Harsh_Snare.aif.gz

 79534	Mar 24  1993	NixBreath.aif.gz

122925	Mar 24  1993	OberheimChoir.aif.gz

 28092	Mar 24  1993	Pad_C7.aif.gz

 78931	Mar 24  1993	Pad_G4.aif.gz

 74194	Mar 24  1993	Pad_G5.aif.gz

 48945	Mar 24  1993	PolyStrike.aif.gz

306746	Mar 24  1993	Rezing.aif.gz

147721	Feb 26  1993	Rhythm_of_Time.aif.gz

 45437	Feb 26  1993	Swirly_S_B4.aif.gz

181389	Feb 26  1993	TechnoBass.aif.gz

Return to Main AIFF directory


EPS Misc Directory

(ftp.reed.edu in eps/samples/misc)

Size       Date                 File	  Description

---------------------------------------------------------------------------------------------------------------------

 93174 May 24  1992	280perc.gkh.gz	Yamaha PSS-280 Percussions

 53962 Sep 27  1992	accordn.gkh.gz

603173 May 17  1992	ajs.gkh.gz

496813 Nov  3  1992	analog1.gkh.gz

647738 Mar 27  1992	b3.gkh.gz

476485 Apr  4  1993	basses.gkh.gz	See BASSES.ZIP patches on epas

655666 May 21  1992	bbking.gkh.gz

351393 May 14  1992	bells.gkh.gz

505115 Nov 15  1992	blankets.gkh.gz

669955 May 19  1992	brgucl.gkh.gz

739233 Apr 20  1992	ccdem1.gkh.gz	EPS Demo Seq. of Gonna Make You Sweat

632054 Apr 20  1992	ccdem2.gkh.gz	"

663176 May 26  1992	disco1.gkh.gz

417228 May 26  1992	disco2.gkh.gz

174687 Feb 14  1993	drumkita.gkh.gz

462382 Nov 29  1992	ecm1.gkh.gz

484099 Apr  1  1992	eps14.gkh.gz	El.Bass Strat/Stab Brass Mute Tr.

389437 Mar 30  1992	eps15.gkh.gz	Strings Solo Vln/Pizz Solo Cello/5x Strings

472468 Mar 30  1992	eps31.gkh.gz	Odyssey/ Solina/ Prophet/ Moog/ Reunion

292306 Mar 30  1992	eps9.gkh.gz	TR 808 M1 Drum 3

501188 Sep 13  1992	flush1.gkh.gz

401381 Oct 22  1992	flut2ann.gkh.gz

236400 Oct 22  1992	flut2eve.gkh.gz

322422 May 17  1992	fx1fix.gkh.gz

665153 Feb  3  1992	george.gkh.gz

501141 Feb  3  1992	grunguit.gkh.gz	Electric Guitar with Effects

654541 Apr  4  1993	heavy1.gkh.gz

715041 Apr  4  1993	heavy2.gkh.gz

254602 Apr  4  1993	heavy3.gkh.gz

619466 Mar 27  1992	hornbass.gkh.gz

631226 Sep 22  1992	krcperx.gkh.gz	Miscellaneous Percussion and Effects

790613 Sep 22  1992	krcstr1.gkh.gz	Huge String Ensemble

791630 Sep 22  1992	krcstr2.gkh.gz	"

248811 Sep 22  1992	krcstr3.gkh.gz	"

698564 Sep 22  1992	krcsyn1.gkh.gz	Digital Synths & Misc. includ.

719647 Sep 22  1992	krcsyn2.gkh.gz	harpsichord, gregorian chant

599398 Sep 22  1992	krcsyn3.gkh.gz	"

728658 Mar  9  1993	krz002.gkh.gz

446174 May 18  1992	loop-x.gkh.gz	Bass and "scat" vocal

630301 Mar 27  1992	oboe+eh.gkh.gz

506421 Aug 18  1992	pocket.gkh.gz

700485 Nov 23  1992	ruready2.gkh.gz

597772 Oct 29  1992	schubat.gkh.gz

  6931  Aug 15  1992	short.gkh.gz

495217 Feb  3  1992	sickvox.gkh.gz

239649 Nov 17  1992	sleighbl.gkh.gz

279256 Sep  9  1992	smpcalc1.gkh.gz

466987 Oct 26  1992	smpcalc2.gkh.gz

342514 Nov  2  1992	smpcalc3.gkh.gz

402124 Apr 22  1993	strings.gkh.gz

588086 Mar 27  1992	synclavi.gkh.gz

506415 May 15  1992	t3-kit1.gkh.gz	Korg T3 EX Percussions

369620 May 15  1992	t3-kit2.gkh.gz	"

419336 Apr 22  1993	tb303.gkh.gz

251035 May 25  1992	tekperc.gkh.gz	Techno-percussions

231688 Nov 29  1992	tekperc2.gkh.gz	"

226056 Nov 28  1992	tekperc3.gkh.gz	"

417920 Jan 25  1993	tr-x0x.gkh.gz

583458 May 18  1992	various.gkh.gz

487915 Mar 27  1992	wildhorn.gkh.gz

706047 Aug 12  1992	xroads.gkh.gz

Back to EPS Main directory

Back to EPS conversion info

Back to Master Index


BRUGCL.GKH

[From accompanying txt]

(BRass GUitar CLarinet)

  Name          Type            Description

--------------------------------------------------------------------------------------------------

Miami Brass	Brass	Nice sound. A LITTLE synthy.

LA Guitar	Guitar	Not so great. OK.

Jazz Clarinet	Woodwind	Good clarinet.  Best I've heard on EPS.


RUREADY2.GKH

[From Accompanying txt]

   Instruments

-------------------------

CHEW-BRASS

RC HORNS *

RAYO SAX 1

MULTI CHEW*2

FM CLAV

SYNTH STRING

MM-SLAP BASS

RAYZ DRUMZ


POCKET.GKH

[From accompnying txt]

Instruments

--------------------------

RADIOKIT

ELEC PIANO

PHILS BRASS

PERC FX

ROUND*WOUND

GUITAR PICK


AJS.GKH

[From accompnying txt]

Sound                   Description

-------------------------------------------------------------------------------------------------------

Analog B	The Vangelis "horn" sound. Mod wheel opens the filters,

aftertouch increases vibrato slightly, velocity

increases detune slightly. Aliases badly in top octave.

Originally a D50 triangle wave sample

Breathy Str	Synthesised loop "pad" from D50 transient sample

Flute Str	Same again, but a different sample

Searing Lead	Well, I think it "sears". Classic only (uses loop mod)

Radio Noise	Good in the octave below middle C. Classic only

Nasty Bass	Classic only. Actually, these last three sounds use the

same sample, but sound quite different.

Hiss Pad	Classic only. Uses loop mod on a piano sample. Good

for big power chords.

Widor	Synth loop of Widor's "toccata", 1st bar.

Atm	Ambient + spacey. Play with lotsa reverb

Shim Flute	Another synth loop pad, this time a real flute

Shim Tone	And another. Can't remember the "source " sound

An Str Mod	Nice analog string pad. Mod wheel sweeps filters.

Sweet Pad	More a dinky "wierd electric piano" sound.

Elec Piano	Only loosely, but I've found this suprisingly useful

The last two layer well on other pianos.


SICKVOX.GKH

[From accompanying txt]

These sounds began as small samples produced by holding a microphone to various pats of my neck and face and making noises.  They were processed in Alchemy and Turbosynth software on the Macintosh.


VARIOUS.GKH

[From accompanying txt]

Instrument                      Description

-----------------------------------------------------

ESQ-1 STRING	Classic ESQ-1 string sound.

GAMALAN	Indonesian gongy-instrument-thingies

BASKET	One bounce of a basket-ball in an ambient room

SLIDE WHISTLE	Do I have to tell you?

OBER BASYNTH	Bass from Oberhim Matrix 1000

D-50 DIGITAL	D-50 digital sound :-)

SYNJAR	Forget what it is now...

GONG	Fairly obvious.

FACE ME MOOG 1	Forget what this sounds like too :-(


WILDHORN.GKH

[From accompanying txt]

AUTHOR: Brian Adamson <adamson@itd.nrl.navy.mil>

DESCRIPTION:

   Wildehorn was created using Digidesign's SoftSynth program on

a Macintosh computer.  The sound has a complex sustained timbre

through use of fairly long loops, hence the large blocksize.  The attack

contains harmonics with several independent pitch envelopes.  Although

it originally struck me as a horn-like timbre (albeit exotic), it can

make an interesting pad particularly when using liberal amounts of the

EPS 16+ chorus effect.  The loop for the sample in the upper third

of the keyboard can be tweaked for a little better sound (eliminates a

subtle loop 'click').


BELLS.GKH

[From accompanying txt]

Sent by:  Jonathan Greene (greenejl@mentor.cc.purdue.edu)

Name	Type	  Description

----------------------------------------------------------------------------------------------------

Metal Xylophone	bell	Sounds like a metal xylophone.

Wood  Xylophone	bell	Sounds like a wood xylophone.

Marimba	bell	Good marimba sound.

Vibes	bell	Good Vibraphone sound.

Short Solo Trumpet	horn	Not bad, not great, but not bad trumpet sound.

Caliope	bell	sounds like a caliope.

Vocal Voices	voice	Not-so-good voices sound.

Bassman	bass	Electric, Twangy, Barney Miller type Bass.


VFX Subdirectory

[ftp.reed.edu in eps/samples/vfx]

(Note from the uploader of these patches:

"Here is a listing of what is on the disks VFX-1 thru VFX-10. What I did was sample the waveforms of the VFX without any envelope, effects, LFO or anything that creates vibrato. This way I could get the smallest possible loop and conserve memory. The plan is to be able to create the same patches that the VFX has by combining the wave forms, duplicating the envelope settings and, for those using the EPS 16+, the effects settings. In theory any sound that the VFX can do the EPS should be able to duplicate and not use a whole lot of memory." )

  Size          Date            File            Contains [From accompanying txt]

-------------------------------------------------------------------------------------------------------------------

660325  Jul  9  1992    vfx01.gkh.gz	Strings	Pizzi-str	Grand-pno

Piano Var	Digipiano	Clavpiano

531371  Jul  9  1992    vfx02.gkh.gz	Acous-gtr	Guit Var1	Guit Var2

Gtr-harmo	El-guitar	Pluck-gtr

Chukka-gt	Crunch-gt	Crunch-lp

609994  Jul  9  1992    vfx03.gkh.gz	Uni-brass	Trumpet	Trump Var

French Horn	Fhorn Var	Saxaphone

Sax Var-1

405899  Jul  9  1992    vfx04.gkh.gz	Sax Var-2	Pick-bass	Pop-bass

Pluck-bass	Doublbass	Synbass-1

Synbass-2

449140  Jul  9  1992    vfx05.gkh.gz	Woodflute	Chifflute	Ocarina

Vox-ooohs	Vocal-pad

475042  Jul  9  1992    vfx06.gkh.gz	Organ-V 1	Organ-V 2	Organ-V3

Organ-V4	Sawtooth	Square

Sine-wave	Triangle	1+2 Harmonics

2 Harm saw	Fretless	Dpno-tine

Bubbawave	Clav-wave	Clav Var

Woodwind	Wwind Var	Pipe-organ

Brass-org	Vocal-bel	Synth-bel

Digi-vox	Clarinet

339534  Jul  9  1992    vfx07.gkh.gz	Spectral-x	Digital-x	Vocal-x

Doctor-x	Inharm-x	Synchro-x

Omega-x	Esqbell-x	Formant-x

Planet-x	Electro-x	Pulse 1-x

Pulse 2-x	Resonant-1	Resonant-2

Resonant-3	Resonant-4

277774  Jul  9  1992    vfx08.gkh.gz	Woody-hit	Woodblock	Templ-blk

Dinky-hit	Toyhammer	Agogo Bell

Slinkypop	Duct-Tape	Steamdrum

Spraycan	Anvil-hit	Metaldink

Vocalperc	Kick-drum	Snaredrum

599053  Jul  9  1992    vfx09.gkh.gz	Bigblast	Marimba	Kalimba

Steeldrum	Doorbell	Potlid-hit

Syn-pluck	Plickhorn	Flutedrum

Pno-ping	Orch-hit	Kagong

Rack-bell	Crash-cym

432171  Jul  9  1992    vfx10.gkh.gz	Triang-lp	Anvil-lp	Cluster-lp

Tubular-lp	Noise-lp

Back to EPS Main directory

Back to EPS conversion info

Back to Master Index


Your Contributions

I created this document because this is the type of information that I would have liked to have had when I first got started with this patchmaking stuff.  I'm still learning even as I write this, and it's possible that I missed some glaring mistake. Furthermore, it's probable that I have left out important parts of the patchmaking process--parts that you may have questions about, or may prefer to see described in greater detail.  Please email me with questions that I should have addressed. If you would like to see your name and ideas in this document, again, email me and we'll see what we can put together.  I would like for this tutorial/reference to become much better than it is right now.

Improvements I would like to see:

-More sources of samples on the Internet (particularly SDS, SY-85, and SY-99, of which I was only able to locate a few)

-More tips and info relating to the Maui and Rio specifically.

-Explanation of the "legal" issues surrounding sampling and using samples recreationally and commercially.  (Most of the samples that I've pointed to in this document are in the Public Domain, and thus freely usable, but this would be a great topic to add to the reference--not that it would necessarily carry "legal weight" [I know I'd get _no_ answers if I asked for that :-) ]  But it would be great if someone could give a short description of the questions one must ask, and the procedures for getting legal permission from the sample "owners.")

-Further tips on finding correct loop points

-More suggestions on economizing RAM (minimizing patch size)

-When it is released, tips for using Patchmaker Heavy.

If you can contribute in any of these areas, or others that I didn't mention, drop me a line. Also, even if you don't have anything to contribute, drop me a note anyway if you found this information useful to you. Thanks!

E-Mail Address:  jtcapps@netcom.com

If you want to make the Postal Service richer, and guarantee yourself a slow reply:

John Capps

5661 Lake Park Way, Apt.1

La Mesa, CA 91942-4255

USA

Much thanks goes out to:

James Andrews (james@maths.exeter.ac.uk)

Ido Amin (iddos@math.tau.ac.il)

Gavin Scarman (scarman@hfrd.dsto.gov.au)

Chris Wilkins (chrisw@popserver.stanford.edu)

for their contributions and suggestions,

to Phat Tran (ptran@sciborg.uwaterloo.ca)

for his correction and help in general,

and to F. Markus Jonsson (f93-maj@nada.kth.se)

for writing 2PAT and thus making a lot of my reference obsolete :-).

My only condition on distribution of this document is that this information remain free to all.


Csound Mailing List

To subscribe, send "subscribe Csound" to majordomo@maths.ex.ac.uk


SOX

SOX is "The Universal Sound Utility"

If it can't convert the more obscure sound formats that you find on the net, it's likely that nothing else will either.  With all the one and two letter parameters it isn't very straightforward to use, but it gets the job done.

Note: It can only convert the first block of sound from an AIFF file.


GF2

The GF2 is the follow-on chip to the GF1, which the GUS currently uses.  It's supposed to be able to address 16 Megs of memory, plus do lots of other wonderful things, but it's still in the "vaporware" stage.

Gravis won't confirm or deny that they're working on a system based around it, but even if they are, don't look for it before next year (at the earliest).


The Problem of Clicking

Any large amplitude change in a sample results in an audible "click."  A large gap between data points is bad form when it comes to reproducing sound.

The GUS' GF-1 synth chip can't be expected to pick up the slack through interpolation.   Samples should always start out on the center-line for the sake of consistency.

Another cause of GUS clicks when playing back WAVs is a bug in the current Windows drivers.  This bug causes a regular click every 8000 samples or so.  Fortunately this bug doesn't affect the GUS's patches, only Windows WAV playback.


GoldWave 2.0

You can pick it up from epas or from oak.oakland.edu in the directory pub/msdos/sound.  The file is GLDWAV20.zip.  It will be a great help to you later, both in file conversion and for extracting waveforms.

It also has real-time FFT spectrum analysis and a host of other functions.


ARCHIE

Archie is a file-search system on the Internet.  Here's one way to do it:

1. TELNET to archie.sura.net

2. At the login prompt, enter "qarchie"

3. Enter "set search substring"

4. Enter "prog foo" (Where "foo" is a partial filename of the program you want)


RTF?  RTFM!

Rich Text Format allows word processors to store Hypertext information in a compilable form.  It's also impossible for the normal Joe S'More to write in RTF.

[Though I think Computer Science Professors punish their Teaching Assistants by making them write 5-page essays in RTF ;-) ]


Windows Hypertext Creation (for Dummies)

I included this section for 2 reasons:

1. I've been asked more than once for the information.

2. Hypertext is probably the way of the future, and it would be good if people start using it more extensively.

Also, I'll give the whole story, partly for the entertainment value, and mostly to dispel any illusions that I'm some sort of Hypertext expert :-)

I'm not a programmer, though I did take one Pascal class in college.  What follows should get you started, and won't require that you learn any arcane programming languages [like C++ ;-) ].

Evolution of a Hypertext Document


Evolution of a Hypertext Document

Jan 26: I am clueless.

Jan 26(evening):  James Andrews suggests that the Patchmaking Reference be in Windows Help form.

Me:  Well, that sounds cool,  I wonder if there's a Windows utility to make those HLP files.

I search vainly through my pitiful Introduction to Windows manual.  Oh well, time to check out the Computer section at the local bookstore.

I find out that "Windows has one of the most powerful hypertext interfaces around," but that "making Windows hypertext documents can be a laborious and time-consuming process."

Oh, oh...maybe I'm getting in over my head.

I do manage to snag two file names from the book I picked up:  HAG.ZIP (a Windows Help File on how to make Windows Help Files) and HCP.ZIP (The Windows SDK Help Compiler).  The book says they're available on Compuserve.

Heck, anything that's available on Compuserve ought to be available on the net!

The Search for Help Info


The Search for Help Info

I go home and do a quick archie search--nothing.  Oh well, guess I'll check some FTP sites just to make sure.  Bingo!  at gatekeeper.dec.com there's hag.zip in .f/micro/msdos/win3/programr

Right below it in the directory listing are files called hdk110a.zip, hdk110b.zip.  Help Development Kit?  It's worth a shot.  Sure enough!

Jan 27 (6:15 AM--12 hours after total cluelessness): I have a (rough) final product.

Well, the above is just to show you just how haphazard the process was.

Here's what you do to get started:

Grab the above files (hag.zip, hdk110a.zip, hdk110b.zip) and also a huge file called what.zip (in the same directory).

WHAT (Windows Help Authoring Template) is a 1.3 Meg file when it's zipped, but you need it, because it contains the file HC31.EXE which is the Windows 3.1 Help Compiler.

More on WHAT  (What?)


WHAT?

In addition to the Help Compiler, WHAT also contains templates for Word for Windows(tm), so that you can use that word processor to make your HLP utility.

Unfortunately, these templates only work with Word, so if you want to use their system, you have to buy Word, shelling out a few hundred bucks (a blatant attempt to increase sales of their word-processor).

Well I don't have Word, (and I'm sure not going to spend a few hundred when I already have $35 Windows Word Processor that does the job quite well).

If you have Word already, you can try it out, but fortunately there's a less expensive way--The Help Engine Development Kit that was alluded to earlier.

Note that the HLP document in HAG is specifically for the WHAT system, but it still has some good general info on HLP files.


The Help Engine Development Kit(HDK)

The HDK is contained in the files hdk110a.zip, hdk110b.zip, and hdk110l.zip.  It is a shareware kit from HyperAct, Inc, which can be registered for 50$ (US).

Basically this kit allows you to use a (relatively) straightforward format (.HDF) for writing help files, then you run HELPC.exe (in the hdk) on your .HDF file, which converts it to RTF (Rich Text Format).

RTF is used by the Windows Help Compiler (HC31.EXE) to make the actual HLP file.  Read the file helpc.doc to learn how to use this kit.

A quick and dirty way to jump right into it is to open up two windows side-by-side (HELPDEMO.HDF and HELPDEMO.HLP):  The HELPDEMO.HDF is the code that's eventually turned into a HLP file, and it's instructive to see them both side-by-side.

("Top and Bottom" may be easier).

If you're a programmer, it shouldn't take you very long to figure it out.  I took me twelve hours from being clueless to having the finished product (albeit very rough) including the time that I spent trying to find the infomation.

(Of course I had the document already written out in .txt form and ready to go.)

A total non-programmer (as long as they're somewhat computer-literate) can probably teach him/herself the system, just by looking at the examples.

Good Luck!

Back to Table of Contents