[vorbis-dev] Re: [vorbis] Finally, it can be told!

Moritz Grimm gtgbr at gmx.net
Sat Sep 1 03:25:02 PDT 2001



Hongli Lai wrote:
> What's the difference between waveOut() and DirectSound (except
> that the latter is included in DirectX)?

For I am a lame user and no coder, regard this worth us$.2 - this is
just the way I understand it: waveOut means that you send an already
mixed audiostream with up to two channels (stereo) to the soundcard.
Imagine you have a game that wants to play 10 sound effects at once - if
it uses waveOut, the CPU has to mix all those effects first. DirectSound
provides a more powerful API where the game tells DirectX something like
"here, play these 10 samples at the following 3D-coordinates with this
and that volume...". DirectX now decides whether to use any fancy 3D
functions and hardware accelerations like EAX etc. or just make a
downmix and play it (with either hard- or software mixing). I believe
waveOut is similar to sending data to /dev/dsp, which makes it easy to
port to almost any OS, while DirectSound apps are harder to port to
non-win32 platforms (because the functions would have to be rewritten to
use an entirely different API like ALSA or ESound or whatever). Another
advantage of DirectSound is its relatively low latency.

> Does "hardware accelerated soundcards" exists?

Sure! Among the first hardware accelerated soundcards was the Gravis
Ultrasound. It has its own memory where you could upload samples to and
then tell the card when to play what sample at what pitch. The GUS then
mixed the samples by itself and your 386SX/20 was able to do more
important stuff meanwhile ... this was a great advantage compared to the
dumb Soundblasters where everything had to be done by the CPU.

The first hardware accelerated soundcard from Creative Labs was the
AWE32, that also comes with an own memory where SoundFonts could be
uploaded to. The AWE32 was more MIDI oriented, while the GUS was
module/tracking oriented.

Today, most soundcards make use of the plenty available main memory and
do additional things like adding reverb and 3D effects etc. (SB Live!,
Terratec DMX Xfire, ...)

Corrections welcome. :)

Moritz

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Vorbis-dev mailing list