Gravis Ultrasound audio synthesis --------------------------------- It is easier to find the Holy Grail than to find a text describing precisely what synthesis method the GUS uses, so it's time i take a shot at it. The GUS uses the third generation of wavetable synthesis, so before i start explaining it, i'll talk about the first two generations first. The first generation of wavetable synthesis was actually a digitally controlled analog oscillator(s) where parameters controlling the waveform were kept in memory. The MT-32 (and lots of Roland synths), the curtis based synths and some others are directly derived from this concept. The second generation of wavetable synthesis uses a digital oscillator, with the waveform held in memory in it's basic form (one period usually). Para- meters to alter the oscillator behaviour are also in memory. I use the general term "memory" instead of RAM, because in some case it's actually ROM, FlashROM, PROM, EPROM, switches, buffers etc... The third generation of wavetable synthesis which can be found in two flavors (RAM or ROM) is based on the second generation, but uses bigger wavetables to hold the waveform (either in single period or multi period format) including this time the attack and release. In this section, i will focus only on the GUS implementation, which basically encompass all other implementations. Basically, what you have are 32 oscillators which can do the exact same thing, and be programmed separately and/or simultaneously. What the hardware can do without the operating system is not important here since we are looking at what the GUS can presently do (with some modifications to the OS, the GUS can do pretty much any synthesis method one can dream up), not what it would have done if the OS wasn't available. So in the GUS, you have some RAM (up to 1Mb) that holds 1, 2, 3, etc, wavetables which consist of a sampled (or soft-synthesised) waveform, some parameters and optionally a sampled attack and release. The GF1 chip (an asic based on the Ensoniq DOC-II chip) will then playback a waveform when triggered based on some parameters it is given, and on others it will fetch form the wavetable. I dont know if all parameters can be fetched from RAM by the GF1, nor if the GF1 can fetch some instructions from RAM, but by using the current OS built in the windows drivers or in the DOS library, this is what the GUS can use to synthesise music: sampled or envelopped attack in 8/16 bit, signed/unsigned format sampled waveform (anything! a period, or a several seconds sample) sampled or envelopped release with: velocity (volume) panning (balance) precise frequency playback rates (with frequency based antialiasing and oversampling) Up to here, it's sample playback. But there is more: Full vibrato (FM, depth, rate, sweep) full tremolo (AM, depth, rate, sweep) LFO forward, reverse, dual direction looping or no looping 6 point enveloppe tuning fractional endpoint And more recently: 3D (focal point 3D positioning) Also, reverb, flanger, phasing etc... could be easily implemented within the drivers (it can be done with a little work on the patches and/or midi time- stamp presently). Another thing that could be implemented is dynamic patch loading since the card supports it (i have done it). Last, it is far better to have a RAM wavetable synth than a ROM one, since you can upload your samples. Even sound canvas owners (and other synths too) complain that their ROM based GS synth lacks interesting drum and bass sounds, cannot play sound effects, and is not usable for dance and techno. Also you can have more space for each samples, because you always have only the samples you need in memory, so you can have better sampling rates and better waveforms. Ciao, -- Francois Dion ' _ _ _ CISM (_) (_) _) FM Montreal , Canada Email: CISM@ERE.UMontreal.CA (_) / . _) 10000 Watts Telephone no: (514) 343-7511 _______________________________________________________________________________ Audio-C-DJ-Fractals-Future-Label-Multimedia-Music-Radio-Rave-Video-VR-Volvo-...