SB AWE32 Developer's Information Pack
PART V 3D Positional Audio API
••
96
Copyright
Creative Technology Ltd., 1994-1996
Version 3.00
This phenomenon has been well-documented in the research literature on all spatial perception. We
evolved to sense change, and static perceptual cues are usually unimportant, and hence tend to be
ignored.
What sounds are best suited for spatialization?
Sound sources that have a broad spectrum and that have significant time domain amplitude envelope
features are best suited for parametric 3D audio. Smooth steady state tones will localize very poorly.
For example, with the new electronic telephones, it is often hard to figure out whose office their rings
are coming from. The old fashioned bell ringers have sharp transients and broad spectral features,
making then much easier to localize.
Typical sounds that will localize well include explosions, airplane and helicopter sounds, cracks, snaps
and other game style sound effects.
Typical sounds that will localize poorly include pure steady tones and simple waveforms.
SB AWE32 DOS 3D Positional Audio Library
The SB AWE32 implementation of the 3D Positional Audio Library imposes some limits because of its
tight integration with the MIDI engine.
•
The sound samples (wave files) have to be preloaded in a form of SoundFont
It is recommended that users create SoundFonts using our Vienna SoundFont editor so that
loop points of sound samples are marked properly. The loop length must be a least 256
samples. Note that the envelope and LFO parameters set in the SoundFonts are ignored.
Once a SoundFont is loaded, multiple emitters can be created out of a sound sample in the
SoundFont using c3daSetEmitterMIDISource.
•
Multi-layering in the SoundFont is not supported
Note that if multi-layering is present in a SoundFont, only the sound sample in the first
layer is used.
•
Only a maximum of MAX_EMITTER number of emitters can be created
Emitters share the polyphonies with the MIDI engine. As more emitters are created, more
polyphonies are taken away from the MIDI engine. When the MIDI engine has not enough
polyphonies, note stealing will occur. This means that old notes will be turned off to make
room for new notes. If you plan to play a dense piece of music, try to release some of the
emitters first by calling c3daDestroyEmitter.
•
Set emitter position update frequency to about 20Hz
Update the emitter positions 20 times per second. At this rate, the library could provide the
optimum spatialization effects.
Types and Structures
The types and structures used by the 3D Positional Audio Library are:
•
c3daEmitter - an emitter object.