|
DirectSound-Grundlagen
|
|
DirectSound
ist die Soundkomponente von DirectX und bietet die
Unterstützung von effizienter Hardware-Mischung,
direktem Zugriff auf die Soundhardware und die Fähigkeit,
3D-Sound zu realisieren. Sie können sich DirectSound
als Soundpuffer-Manager vorstellen. Das primäre
Ziel beim Design von DirectSound ist die Implementierung
einer effizienten und geräteunabhängigen
Schnittstelle zu der Soundhardware, die Hardware-Beschleunigung
bietet. DirectSound bietet eine standardisierte Software-Funktionalität,
die nach Möglichkeit von Hardware-Funktionen
übernommen wird. Dieses offene Design erlaubt
es DirectSound, auch die Vorteile zukünftiger
Soundhardware zu nutzen.
Audiomischung
mit geringer Latenz
|
Das wichtigste
Feature von DirectSound ist die Audiomischung mit
geringer Latenz. Latenz ist die Verzögerung zwischen
dem programmgesteuerten Abspielen und dem eigentlichen
Hören eines Sounds. Geringe Latenz bedeutet,
dass die Verzögerung sehr klein ist, was eine
gute Sache ist. Ideal wäre eine so kurze Verzögerung,
dass der Hörer sie überhaupt nicht wahrnehmen
würde. In DirectSound ist die Latenz nie größer
als 20 Millisekunden, was für die menschliche
Wahrnehmung so gut wie nichts ist.
|
Mischung
mit geringer Latenz ist für Spiele und andere
Multimedia-Anwendungen sehr wichtig, da sie oft einen
Sound in Zusammenhang mit einem grafischen Ereignis
abspielen möchten. Stellen Sie sich vor,
Sie möchten in einem Spiel eine Explosion darstellen,
bei der der Sound mit der grafischen Darstellung gleichzeitig
zu hören ist. Der Knall sollte dabei nicht eine
halbe Sekunde nach dem Verwehen des Rauchs ertönen,
sondern genau dann, wenn die Explosion beginnt. DirectSound
bietet eine brauchbare Performance für die Lösung
dieses Problems.
|
DirectSound
ist jedoch nicht perfekt, wenn es um Mischung mit geringer
Latenz geht. Hat der Anwender keinen brauchbaren
DirectSound-Treiber, muss sich DirectSound auf die
HAL-Emulation verlassen, was eine höhere Latenz
verursacht. Hat der Anwender also keinen DirectSound-Treiber,
ist die hörbare Verzögerung mehr als wahrscheinlich.
Glücklicherweise unterstützen jedoch die
meisten Windows-98-Soundkartentreiber DirectSound,
so dass dies selten ein Problem ist.
Hardware-Beschleunigung
|
Ein
weiteres wichtiges Feature von DirectSound ist,
dass es eine Hardware-Beschleunigung nutzen kann.
DirectSound ist zur Ausführung aller Funktionen
in der Software ausgelegt, versucht jedoch immer,
nach Möglichkeit eine Hardware-Beschleunigung
zu nutzen. Dies bedeutet, dass das eigentliche Mischen
der Soundpuffer im Soundpufferspeicher der Hardware
stattfindet, anstatt von der Software durchgeführt
zu werden. Da Hardware wesentlich schneller als Software
ist, erhöhen alle in der Hardware ausgeführten
Funktionen die Performance.
|
Das
Schöne an der Hardware-Beschleunigung unter
DirectSound ist, dass sie völlig automatisch
stattfindet. Sie müssen keinen speziellen Code
schreiben, der die Hardware abfragt und ggf. die Hardware-Beschleunigung
implementiert. Sollten Sie das Besondere daran nicht
erkennen, lassen Sie sich versichern, dass dies ein
großer Vorteil für Entwickler ist. Wenn
Sie Ihre Software einfach für DirectSound entwickeln,
können Sie sicher sein, dass sie eine Hardware-Beschleunigung
vollständig unterstützt.
3D Audio
|
Vor
Jahren dachten die meisten 3D Audio wäre
ein Gimmick. Wie könnte man wohl einen 3D-Effekt
mit nur zwei Lautsprechern erzeugen ? Nun, die Idee
hinter 3D Audio hat nicht so viel mit den Lautsprechern
zu tun als mit dem Kontext eines Spiels oder einer
Multimedia-Anwendung. 3D Audio hat mit der Zuordnung
eines Sounds zu einer räumlichen Position zu
tun, damit dessen Attribute (Lautstärke, Balance,
Frequenz und so weiter) entsprechend gesetzt werden
können. Dies beinhaltet das Verändern der
Soundattribute je nach Verhältnis der Position
des Sounds und derjenigen des Hörers im Spiel.
Findet eine Explosion zu Ihrer Rechten statt, sollte
der Sound auch primär aus dem rechten Lautsprecher
kommen.
|
DirectSound
3D ergänzt Audio um eine räumliche
Dimension, die die Art der menschlichen Wahrnehmung
von Sound berücksichtigt. Der wichtigste räumliche
Hinweis bei Sound ist dessen Lautstärke, die
je nach Abstand vom Hörer variiert. Ein subtiler
Hinweis ist die leichte Dämpfung, wenn ein Sound
von hinten ertönt. DirectSound berücksichtigt
diese Hinweise, um dem Anwender das Gefühl zu
geben, der Sound käme aus einer bestimmten Richtung.
DirectSound und Windows-Waveformate
|
DirectSound
unterstützt nicht nur alle Standard-Waveformate
von Windows,
sondern ermöglicht auch das Mischen verschiedener
Formate, wobei die entsprechende Konvertierung automatisch
stattfindet. Dennoch ist es klüger, alle Ihre
Sounds in demselben Format zu halten, damit DirectSound
so wenig Konvertierung wie möglich vornehmen
muss.
|
Unterstützt werden folgenden Waveformate:
8
oder 16 Bit pro Sample
11KHz,
22KHz oder 44KHz
Mono
oder Stereo
|
|
|