Neuer PC-Standard: High Definition Audio - Teil 1

22.07.2004
In Intels aktuellen Chipsätzen sorgt erstmalig HD-Audio mit Dolby Digital EX, 7.1 Surround-Sound und parallelen Streams für ein neues Hörerlebnis. Wir erläutern die Details und die Programmierung des neuen Standards. Von Jim Huang und Matt Mc Clellan

Geräusche aus dem PC wurden erstmals 1983 vorgestellt und waren zunächst nicht viel mehr als ein Pfeifton aus dem Lautsprecher. Er vermittelte dem Anwender lediglich einen einfachen akustischen Feedback. Mitte der achtziger Jahre nutzten dann Spiele-Entwickler die Lautsprecher. Sie spielten verschiedene Töne abhängig von der Handlung ein und gestalteten damit PC-Spiele aufregender.

Mit der ersten Mono-Sound-Karte von 1988 verbesserte sich der PC-Klang erheblich, und die Spiele-Entwickler schufen ein viel intensiveres Tonerlebnis für ihre Spiele. Aber die Software-Entwicklung für Sound-Karten war eine zeitaufwändige und schwierige Aufgabe. Es gab noch keine standardisierten APIs, mit denen Spiele- und Sound-Entwickler problemlos alle Sound-Karten ansprechen konnten. Die Entwickler mussten entweder mehrere Pfade in ihre Applikationen einbauen und so alle Sound-Karten bedienen. Oder sie unterstützten von vornherein nur die auf dem Markt gängigsten Sound-Karten und hofften, dass dies genügen würde.

1996 stellte Microsoft DirectSound vor und gab den Entwicklern damit ein Set von APIs an die Hand, mit dem sie ihre Applikationen für einen standardisierten Audio-Support ausrüsten konnten. Die Hersteller von Sound-Karten entwickelten zeitgleich passende DirectSound-Treiber, über die das DirectSound-API mit der Karte kommunizierte.

Anfang 1998 führte Intel eine Audio- und Modem-Codec-Spezifikation ein, um auch die Features von Audio-Geräten zu standardisieren, den so genannten Audio Codec?97 oder kurz AC?97. Seit ihrer Einführung wurde die Spezifikation mehrfach überarbeitet und den Entwicklungen im PC-Audio-Bereich angepasst. Weitere Informationen zur AC?97-Audio-Spezifikation finden Sie bei Intel im Bereich AC?97 Audio Specification (www.intel.com/labs/media/audio/index.htm) und in unserem Grundlagenbericht Onboard-Sound vs. Sound-Karte (Webcode: p520).

Die nächste Generation

Intels High Definition Audio (HD-Audio) ist die Spezifikation für die nächste Generation integrierter Audio-Lösungen. Auf dem Intel Developer Forum im Frühjahr 2003 wurde sie noch unter dem Codenamen "Azalia" vorgestellt und hat seither großen Anklang bei der PC-Audio-Gemeinde gefunden.

HD-Audio soll eine vollständige Audio-Spezifikation liefern, von den Steckverbindungen bis hin zur Treiberebene des Betriebssystems. HD-Audio wird erstmals von den im Juni 2004 vorgestellten Chipsätzen Intel 915 "Grantsdale" (Webcode: a1399) und 925 "Alderwood" (Webcode: a1399) unterstützt und ist eine konsequente Weiterentwicklung von AC?97.

High Definition Audio bietet dem interessierten Anwender zahlreiche Features und unterstützt eine Vielzahl von neuen Audio-Spezifikationen:

- Genügend Bandbreite für DVD-Audio

- Dolby Digital EX und 7.1 Surround-Sound

- Hohe Bandbreite mit bis zu 192 kHz, 32-Bit Multichannel-Audio

- Spielraum für zukünftige hochqualitative Audio-Formate

- Verbesserte Unterstützung von Multichannel-Array-Mikrofonen für eine hochqualitative Eingabe

- Dynamisch zugewiesene Bandbreiten

- Multistream-Fähigkeit

- Dynamische Konfiguration von Steckverbindungen und vollständig automatische Erkennung angeschlossener Geräte

Neuerungen von HD-Audio

Die unten stehende Tabelle gibt einen Überblick über die Vorteile der HD-Audio-Spezifikation gegenüber der gegenwärtigen AC'97-Audio-Spezifikation.

Microsofts Universal Audio Architecture

Die HD-Audio-Spezifikation ist darüber hinaus vollständig kompatibel zu Microsofts Universal Audio Architecture (www.microsoft.com/whdc/device/audio/uaa.mspx) (UAA). Eine erste Implementierung für UAA existiert für Windows XP, vollständig wird es ab dem nächsten Windows-Betriebssystem "Longhorn" unterstützt.

UAA ist eine von Microsoft angeführte Initiative der Industrie mit dem Ziel, auf jedem Windows-basierten PC-System hochqualitatives Audio bereitzustellen. Die UAA-Initiative setzt einen neuen Standard für die Audio-Verarbeitung unter Windows und soll so einen qualitativ hochwertigen Basissatz an Audio-Funktionalität garantieren. Zudem definiert UAA die zugehörigen Standardschnittstellen für die Hardware-Treiber. Dies soll die Zuverlässigkeit und Sicherheit von PC-Audio erheblich verbessern und das von Consumer-Geräten gewohnte "Anstecken und es geht" auch für Audio mit dem PC ermöglichen.

Neue Möglichkeiten für Entertainment und Spiele

Die HD-Audio-Architektur von Intel eröffnet PC-basiertem Heim-Entertainment, Gaming und Kommunikation neue Einsatzgebiete. Mit dem Multistreaming-Feature kann ein PC beispielsweise Audio-Inhalte aus dem Internet ins Wohnzimmer streamen und zugleich einen Kinofilm mit Dolby-Digital-Sound auf den Fernseher im Esszimmer übertragen. Doch nicht nur das Heim-Entertainment soll von der Flexibilität und den Features der HD-Audio-Architektur profitieren. Auch für Windows-basierte PC-Spiele ergeben sich durch das Multistreaming vollkommen neue Möglichkeiten.

Um Echtzeit-Chats zu ermöglichen und zeitgleich Sound-Effekte abzuspielen, müssen Spiele heutzutage alle Audio-Streams mischen und den Klang über ein Lautsprechersystem wiedergeben. Zwar können sich mit einem Headset ausgestattete Spieler mit anderen Online-Spielern unterhalten. Aber hierbei werden die Sound-Effekte und das von den anderen Spielern Gesagte in einen einzigen Stream gemischt und über die Kopfhörer ausgegeben.

Ist ein PC jedoch mit High Definition Audio ausgestattet, können die Sound-Effekte der Spiele von der Unterhaltung getrennt über verschiedene Audio-Output-Ports ausgegeben werden. Der Chat läuft stielecht über den Kopfhörer, die Sound-Ausgabe effektvoll über die Surround-Anlage.

Die Möglichkeit, Sound-Effekte von der Unterhaltung der Spieler zu trennen, ist nicht ganz neu. Aber mithilfe von HD-Audio müssen die Applikationsentwickler zur Trennung der verschiedenen Streams nicht länger proprietäre APIs und teure Spezial-Hardware benutzen, sondern können auf einen allgemein akzeptierten Standard aufsetzen.

Vorteil der parallelen Streams im Office

Im beruflichen Einsatz führen die parallelen Streams zu einer höheren Qualität der Spracheingabe und so zu optimierter Spracherkennung und verbessertem Voice over IP. Mithilfe der in der HD-Audio-Spezifikation erweiterten Bandbreite und Array-Mikrofonen eröffnet sich eine Vielzahl von Möglichkeiten, um Konferenzschaltungen und Spracherkennung zu verbessern.

Durch eine phasenrichtige Verschaltung der Audio-Streams mehrerer Mikrofone lässt sich beispielsweise die Richtcharakteristik eines Mirofon-Arrays per Software steuern. Richtet man so die virtuelle empfindliche Keule des Mirofons auf den Sprecher, werden störende Nebengeräusche stark unterdrückt.

Dies sind nur einige wenige der verschiedenen Möglichkeiten. Die in den folgenden Codebeispielen gezeigten Lösungen richten sich vor allem an Entwickler. Die in den Vorbetrachtungen erwähnten Punkte lassen aber auch den normalen Anwender erahnen, wie zukünftige Programme aussehen werden.

Voraussetzungen für High Definition Audio

Auch Anwendungen und Spiele, die bereits die DirectSound- und DirectMedia-API nutzen, benötigen einige kleinere Änderungen für HD-Audio. Die Änderungen betreffen vor allem die Stellen, die die vorhandenen Input- und Output-Quellen abfragen und den Sound darauf wiedergeben. Denn die Applikationsentwickler werden es zukünftig sicher dem Anwender überlassen wollen, welches Wiedergabegerät er einsetzen möchte. Folgende Punkte sollten Entwickler einer HD-Audio-Anwendung immer vor Augen haben:

- Audio-PCs können keine oder auch mehrere Output-Geräte angeschlossen haben. Beim Öffnen muss die Applikation daher alle Input- und Output-Geräte prüfen und auflisten.

- Die Nutzung von Default-Geräten wird vom Windows-Betriebssystem weiterhin unterstützt. Die Applikation sollte dem Anwender aber möglichst alle Output-Geräte und nicht nur die Default-Geräte anbieten. Ist eine Anwendung nicht nur auf das Default-Device festgelegt, kann sie problemlos sowohl auf älteren PCs als auch auf HD-Audio-Systemen alle Möglichkeiten der Hardware ausnutzen.

- Wenn keine Audio-Settings von einer früheren Benutzung vorhanden sind, sollte die Applikation das erste verfügbare Gerät als Default-Gerät nutzen, das DirectX zurückliefert.

- Wenn die Applikation mehrere Input- und Output-Geräte unterstützt, sollte sie dem Anwender auch alle verfügbaren Input- und Output-Geräte zur Auswahl präsentieren. Das erlaubt dem Anwender, selbst zu konfigurieren, welche Geräte welche Audio-Inhalte wiedergeben.

- Die Applikation muss eine Speicherung der Settings erlauben, damit der Anwender bei erneutem Aufruf des Programms auf seine vorherigen Audio-Einstellungen zurückgreifen kann. Die Speicherung sollte sich sowohl auf die Ebene der Anwender- als auch auf die der System-Settings erstrecken. Das ermöglicht es bei mehreren Anwendern, für jeden seine individuellen Einstellungen zu speichern.

- Die Applikationen müssen beim Start die Konfiguration der Audio-Geräte prüfen, um zu gewährleisten, dass sich die Gerätekonfiguration seit dem Abspeichern der Settings nicht geändert hat.

- Die neue HD-Audio-Spezifikation liefert eine Audio-Qualität, die auf älteren PC-Systemen mit AC'97 eventuell nicht verfügbar ist. Es ist daher wichtig, die zur Verfügung stehende Audio-Leistung zu prüfen und dem Anwender das Maximum anzubieten.

- Die Möglichkeit, mehrere Lautsprecher einzusetzen, kann für den Anwender verwirrend werden. Daher sollten Applikationsentwickler immer eine individuelle Benennung der Output-Geräte ermöglichen, beispielsweise abhängig von der Lage des Geräts (vorderer Lautsprecher, rückwärtiger Lautsprecher, Headset).

- Die Entwickler müssen Fehlerquellen von Anfang an mit berücksichtigen, weil PC-Systeme mit HD-Audio dynamische Umgebungen schaffen, in denen ein Gerät verfügbar oder eben auch einmal nicht verfügbar sein kann. So kann es vorkommen, dass ein PC-System in einer Session drei, in der nächsten aber nur noch zwei Lautsprecher angeschlossen hat.

- Sobald ein Output-Port genutzt wird, kann der Port nicht verändert werden, solange der Audio-Stream nicht abgeschlossen ist.

Weitere Aufgaben bei der Entwicklung

Da die aktuelle DirectX-API nicht alle notwendigen Features für HD-Audio abdeckt, muss man sich noch ein paar zusätzliche Gedanken bei der Entwicklung machen:

- Ein vorhandenes Output-Gerät kann bereits von einer anderen Anwendung belegt sein. Wenn es mehrere Output-Geräte gibt, sollte die Applikation in diesem Fall dem Anwender eine Liste aller verfügbaren Output-Geräte liefern, damit er einen anderen Output-Port wählen kann.

- DirectSound kennt derzeit keine Mechanismen, um eine Applikation aktiv zu informieren, wenn ein bislang vorhandenes Gerät entfernt oder ein neues Gerät an einem Audio-Port angeschlossen wurde. Die Applikation sollte daher mit einem Timer ausgestattet werden und in bestimmten Zeitabständen die verfügbaren Geräte abfragen. Sie kann aber auch einen eigenen Thread für diese Aufgabe schaffen. Beide Methoden führen zum gleichen Ergebnis. Für einige Anwendungen kann es aber auch ausreichend sein, die verfügbaren Audio-Geräte nur dann abzufragen, wenn der Anwender aktiv ein anderes Output-Gerät auswählen möchte.

Die Fortsetzung dieses Artikels lesen Sie nächste Woche in der ComputerPartner-Ausgabe 31/04.

Über die Autoren: Jim Huang ist Senior Technical Marketing Engineer, Matt McClellan Senior Application Engineer bei Intel.

Dieser Artikel wurde erstmals im Intel Developer Service (www.intel.com/IDS) veröffentlicht. Die deutsche Zweitverwertung erfolgt mit Genehmigung von Intel.

(Übersetzt von Britta Mümmler, überarbeitet und aktualisiert von Albert Lauchner)

tecchannel-Compact "ITechnologie-Ratgeber 2004"

tecChannel.de ist die Nummer eins der Online-Fachmedien in Deutschland (IVW 1/04). Auf www.tecChannel.de finden Sie mehr als 1.700 Beiträge und über 14.000 News zu allen Themen der IT. Das kostenlose Online-Programm wird ergänzt durch das noch umfangreichere kostenpflichtige tecCHANNEL-Premium- und die tecCHANNEL-Compact-Buchreihe.

Im neuen tecCHANNEL-Compact "ITechnologie-Ratgeber 2004" finden professionelle Anwender auf über 220 Seiten Grundlagen, Know-how-, Ratgeber- und Praxisbeiträge.

Insbesondere im Server-, Desktop- und Mobile-Bereich steht ein Generationswechsel bevor. Die Einführung von PCI Express und neuen CPUs, wie Pentium 4 "Prescott" und Pentium M "Centrino", 64-Bit-Computing, sowie der DDR2-Speichertechnologie und Serial Attached SCSI verunsichert die IT-Branche. Die tecCHANNEL-Redaktion beantwortet die Fragen, welche Technologien zukunftssicher sind und die bevorstehenden Investitionen schützen und was beim Umstieg zu beachten ist.

Die Ausgabe ist ab sofort im Handel zu haben oder direkt im Online-Shop unter www.tecChannel.de/shop für 9,90 Euro (gegen Rechnung) inklusive Versandkosten zu bestellen.

Zur Startseite