Gravis Ultrasound
From Free net encyclopedia
Current revision
Image:Gravis GF1.jpg Gravis Ultrasound or GUS is a sound card for the IBM PC compatible system platform, made by Canadian-based Advanced Gravis Computer Technology Ltd. It was very popular in the demo scene in the 1990s, due to its superior sound quality compared to similarly-priced soundcards of its time.
The Gravis Ultrasound was unique at the time of its 1992 launch with its use of 'wavetable' sample-based music synthesis technology on the IBM PC platform - the ability to use real-world sound recordings rather than artificial computer-generated waveforms to base a musical instrument on; so a piano sounds like an actual real piano, a trumpet a trumpet etc. The GUS was remarkable for MIDI playback quality with a large set of instrument patches that could be stored in its own RAM, having up to 32 hardware audio channels of audio.
The cards were very agreeably priced, although a little more expensive than Creative cards; they undercut many equivalent professional cards aimed at musicians by a huge margin, and brought CD quality audio reproduction within the grasp of home PC users.
Contents |
Versions
Ultrasound Classic
Image:Ultrasound classic.jpg The first UltraSound was made into production in Summer 1992. The initial card didn't fully conform to the Multimedia PC requirement, due to absence of 16-bit audio recording and onboard analog mixer (used to control volume of analog CD, line-in etc. inputs). The final revision (v3.73) of the GUS Classic featured 256 KB of onboard RAM (upgradeable to 1024 KB through DIPP sockets), hardware analog mixer, and support for 16-bit recording through a separate daughterboard based on Crystal Semiconductors CS4231 codec.
Ultrasound MAX
A version of GUS with CS4231 codec on board, 512 KB of RAM on board (upgradeable to 1024 KB with a single SOJ chip) and Panasonic/Sony/Mitsumi CD-ROM interface slots. CS4231 provided support for Windows Sound System specs and could be used for SoundBlaster emulation. The software CD included a demo that featured "3D holographic sound" through the use of software HRTF fileters.
Ultrasound Extreme
3rd party OEM solution that combined Ultrasound MAX with ESS1688 sound chip for Sound Blaster 16 and AdLib emulation.
Ultrasound PnP
New card based on AMD InterWave technology with a completely different sound set. Featured 1 MB of sound ROM, no onboard RAM (although it could be expanded with 30-pin SIMMs), and ATAPI CD-ROM interface. A 'Pro' version added 512 KB of on-board RAM required for compatibility with GUS Classic.
Ultrasound Ace
A budget version of Ultrasound Classic with 512 KB of RAM; had no game port, RAM expansion or recording. Marketed as a competitor to Wave Blaster-compatible cards, it was supposed to be installed alongside a SoundBlaster Pro/16 card as a 'wavetable synthesis' upgrade.
GF1
The GF1 was co-developed by Advanced Gravis and Forte Technologies and produced by ICS under ICS11614 moniker. The chip was actually derived from the Ensoniq OTTO (ES5506) chip, a next-generation version of the music-synthesizer chip found in Ensoniq ESQ-1 and Mirage), as well as the Apple IIGS.
The GF1 was purely sample-based synthesis chip with the polyphony of 32 oscillators, so it could manage mixing of up to 32 mono PCM samples (or 16 stereo samples) entirely in hardware. The chip had no codec, so the sounds had to be downloaded to onboard RAM before they could be played back. Sound compression such as IMA ADPCM was not supported, so compressed samples had to be decompressed prior to loading.
The sound-quality of the GF1 was not constant, and depended on the selected level of polyphony. A CD-quality 44.1 kHz sample rate was maintainable up to 14-voice polyphony; the sample rate progressively deteriorated until 19.2 kHz at the maximum 32-voice polyphony. The polyphony level was software programmable, so the programmer could choose the appropriate value to best match the application. Advanced sound effects such as reverb and chorus were not supported in hardware, although software simulation was possible through clever use of additional voices to perform time-based shifting, and basic "echo" effect could be simulated with additional tracks.
Sample RAM
The Ultrasound offered more than just stereo channel support - it could play MIDI by loading instrument patches into RAM, not unlike how instruments are stored in ROM on sample-based 'wavetable' cards. The card came with a 5.6 MB set of .PAT files; most the patches were sampled at 16-bit resolution and looped to save space. The patch files were continuously tweaked and updated in each software release.
The card used various .INI files to describe what patches should be loaded for each program change event. This architecture allowed Gravis to incorporate General MIDI-compatible mapping scheme into later Windows drivers. Windows drivers used Ultrasound.INI to load the patch files on demand. In DOS, the loading of the patches could be handled by UltraMID, a middleware TSR solution that avoided the need to handle the hardware directly, but programmers were free to include the static version on the UltraMID library in their applications, elimitation the need for the TSR. The application could choose to preload all the patches from disk or have the middleware track the patch change events and dynamically loaded them on demand, but disk loading would introduce a noticeable delay, so most applications just preloaded a predefined set.
Each application could have their own UltraMID.INI which contained a set of patch substitutions for every possible amount of sample RAM (256/512/768/1024 KB), so that similar intruments were used when there was not enough RAM to hold all of the patches needed, and unused instruments were never loaded. This concept was very similar to the handling of sample banks in digital samplers, and many top games, including Doom/Doom II and Duke Nukem 3D, came with their own optimised UltraMID.INI.
The Ultrasound cards also gained a great popularity in the PC tracker music community. The tracker format had existed on the Commodore Amiga since the late 80s but due to the PC becoming more capable of producing high quality graphics and sound, the demo scene spilled out onto the platform in droves and took the tracker format with it. Typical tracker formats of the era included MOD, S3M and, later, XM. The format stores the notes and the instruments digitally in the file instead of relying on a sound card to reproduce the instruments. A tracker song, when saved to disk, typically incorporates all the sequencing data plus samples, and typically the composer would incorporate his or her assumed name into the list of samples.
This primitive precursor to the modern sampler opened the way for Gravis to enter the market, because the requirements matched the capabilities of the GF1 chip ideally. The problem with the other sound cards playing this format was that they had to downmix voices into one or both of its output channels in software, further deteriorating the quality of 8-bit samples in process. An Ultrasound card was able to download the samples to its RAM and mix them using fast and high-quality hardware implementation, offloading the CPU from the task. Gravis realized early on that the demo scene support could be a sales booster and they gave away 6000 cards for free to the most famous scene groups and persons, which very well paid itself off.
See also: Tracker
Compatibility
Because the GF1 chip missed the AdLib-compatible OPL2 circuirty and a codec chip, Soundblaster compatibility was difficult to achieve at best. Consumers were expected to learn how to tweak the emulation software used to emulate other standards, an activity not necessary with many other cards that emulated the Soundblaster. The emulation software ran as a huge TSR that was difficult to manage in pre-Windows days of complicated DOS extenders.
Although there was native support for many popular games which used middleware sound libraries like HMI Sound Operating System, Miles Sound System and the likes, the user had to patch the games by replacing the existing sound drivers with Ultrasound version provided on the installation CD. Also, the GUS required two DMA channels for full-duplex operation, and 16-bit channels were generally faster so many users chose to use them, but this lead to errors for games that used DOS4GW DOS extender.
The two principal sound emulators included with software package were:
- SBOS, Sound Board OS - SB Pro 8-bit Stereo emulation and AdLib FM synthesis. It was a real-mode software emulation that recreated the OPL 2-operator synthesis and required at least i286 processor. There were special versions for GUS MAX (MAXSBOS) and AMD InterWave (IWSBOS), which made use of the CS4231 codec chip.
- Mega-Em - advanced emulation software that required an i386 processor and EMM manager with DPMI/VCPI support. Emulated 8-bit Sound Blaster for sound effects and MT-32/LAPC-1, Roland Sound Canvas/MPU-401 for music synthesis. Supported UltraMID TSR functionality.
Developer support
The GF1's sample-based architecture was both a blessing and a curse. On the one hand, it gave it the potential to produce arcade-class music and sound (with proper application support.) In stark contrast to the competing Creative Labs Soundblaster, which generated music through FM-synthesis, the GF1 produced music through playback of digitized audio samples. PC gamers and amateur musicians (such as demoscene coders) who heard the Gravis in action, immediately fell in love with it. Compared to the Creative Labs Soundblaster, the Gravis could produce more far more acoustic complex game audio, while the sample-RAM opened the doors to near unlimited compositional creativity. Unfortunately, most PC software had audio-engines architected and implemented for Sound Blaster programming model: which is to say: FM-synthesis for frequent music and sound effects, with an occasional PCM sample for rare high-value effects. At this time, many DOS game developers had already adopted Middleware audio packages (such as Miles Audio Design), to remove them from the burden of writing low-level audio routines. For most developers, exploiting the Gravis's PCM capabilities would have required a switch to complete rewrite or additional, dedicated codebase. Regrettably, application support for the GF1 was slow in coming, and sparse. Most adhered to the Soundblaster programming model, using the Gravis for improved MIDI playback, while retaining the occasional PCM audio effect Only a handful of games supported the Gravis native-mode for 'freeform' PCM playback, and to great effect (such as Star Control 2.)
The GF1 was also very easy to program for after the initial learning phase. Since the GF1 played samples from sample-RAM, once the samples were uploaded, the PC could free the system memory for other tasks. Programming for the GF1 was pretty much a case of fire-and-forget - upload your samples, tell it what to do, and off it went without much further administration from the programmer (a viewpoint disputed by some sound engineers from various game publishers). In principle, authoring software for the Gravis required minimal (PC) conventional-memory overhead (without resorting to EMS, XMS, Protected Mode.)
AMD InterWave
The great potential of the original Ultrasound enabled Advanced Gravis to license the new GFA1 chip and software to AMD, who were trying to make it into sound chip market at the time. The chip, released in 1995, was named Am78C201 and was marketed as InterWave. It was enhanced to handle up to 16 MB of onboard memory, IMA ADPCM-compressed samples, have no sample rate drop at full 32 voices, and featured aditional logic to support hardware emulation of FM synthesis and simple delay-based digital sound effects such as reverb and chorus. It was compatible with CS4231 codec installed in the Ultrasound MAX or 16-bit recording daughterboard for the Ultrasound Classic.
The sound "patch set" was reworked from a collection of individual instrument .PAT files to a unified .FFF/.DAT sound bank format, resembling SoundFont, which could be either ROM or RAM based. There were 4 versions of the sound bank: a full 16-bit 4 MB with 8-bit downsampled 2 MB version, and 16-bit 2 MB (different sample looping) with 8-bit downsampled 1 MB version. A coverter utility, GIPC, was provided for making .FFF/.DAT banks out of .PAT/.INI collections.
The reference card contained 1 MB μ-law ADPCM compressed sound ROM, which contained basic General MIDI voices and sound samples to help FM emulation, and 2 slots for RAM expansion through 30-pin SIMMs. The IWSBOS emulator was reworked to include Mega-Em features such as General MIDI emulation, and the SBOS kernel was included in Windows 95 drivers to provide emulation in a DOS Box window.
The GFA1 featured a GUS/MAX compatibility mode, but base card was not compatible with Ultrasound Classic unless some memory was installed.
The InterWave technology was used in Gravis Ultrasound PnP line of cards. It was also licensed to various OEMs such as STB Systems, Dynasonic and ExpertColor, but their cards lacked RAM expansion so they were not compatible with GUS Classic. Some hi-end OEM variants contained full-blown 4 MB patch set in ROM and proprietary hardware DSPs to enable features like additional sound effect algorythms and graphic equalizer.
Demise
Despite the groundbreaking features, the Gravis's unique sample-RAM architecture proved too much for the industry. Some game developers of the time noted problems with the software development kit and the product's hardware design. On the user-side, the Sound Blaster emulation was especially hard to get right out of the box, and this resulted in a substantially high number of product returns at the store level and thus soured the retail channel on the product. Bundled software was refined over time, but Gravis could not distribute updates effectively.
The company itself also created its own trouble. When Gravis's list of promised titles failed to materialize, the company lost credibility with consumers and commercial developers. Several publishers and developers threatened to sue the company over misrepresentation of their products -- pointing to outright fabrication of Gravis's list.
The shareware games industry embraced the Gravis more than the commercial games industry. Famous companies which did this in an early stage were publisher Apogee and developers id software and Epic Megagames. Gravis can also claim victory in the demo scene, which had taken the GUS to its heart, ensuring a dedicated, cult following for a number of years. But without the marketing and developer presence of Creative Labs, Gravis could not generate either the sales or support required for the Gravis soundcard to compete in the mainstream market against the de-facto standard Soundblaster.
If Advanced Gravis had been able to hold out for a few more years, until Windows 95 finally supplanted DOS as a platform for gaming, then the story would have had a happy ending, because the burden of supporting it would have been carried by its Windows driver alone. However, it did not happen. Althought the InterWave chip was a substantially version of the GF1 chip, this new design was not able to hold up with the Sound Blaster AWE32. More than that, AMD was facing financial troubles at the time so it was forced to close many projects, including the InterWave.
Due to dwindling sales, Gravis was eventually forced out of the soundcard business. As it turned out, however, the Ultrasound's failure nearly took the entire company down with it. Advanced Gravis, once one of the dominant players in the PC peripherals marketplace, had bet much of the future of the company on the Ultrasound and paid the price for its demise. Shareholders sued the company charging gross incompetence by its management, in regards to the entire Ultrasound effort. After significant restructuring, the company retreated to its core-market, the one which had made it a success - joysticks and gamepads.
Sources
External links
- Gravis.com
- The History of PC Game MIDI by Eric Wing
- GUS Emulator
- FreePats – a free collection of GUS-compatible patches by Eric A. Welsh
- TiMidity++ – a software MIDI synthesizer which can use GUS patchesde:Gravis Ultrasound