Audiosignalverarbeitungsmodi

Treiber deklarieren die unterstützten Audiosignalverarbeitungsmodi für jedes Gerät.

Verfügbare Signalverarbeitungsmodi

Audiokategorien (von Anwendungen ausgewählt) werden audiomodi zugeordnet (von Treibern definiert). Windows definiert sieben Audiosignalverarbeitungsmodi. OEMs und IHVs können bestimmen, welche Modi sie implementieren möchten. Es wird empfohlen, dass IHVs/OEMs die neuen Modi verwenden, um Audioeffekte hinzuzufügen, die das Audiosignal optimieren, um die beste Benutzererfahrung zu bieten. Die Modi sind in der unten gezeigten Tabelle zusammengefasst.

Mode Rendern/Erfassen BESCHREIBUNG
Raw Beide Der Rohmodus gibt an, dass keine Signalverarbeitung auf den Stream angewendet werden soll. Eine Anwendung kann einen rohen Datenstrom anfordern, der vollständig unberührt ist, und eine eigene Signalverarbeitung durchführen.
Standard Beide Dieser Modus definiert die Standardaudioverarbeitung.
Filme* Rendern Wiedergabe von Filmaudio
Medien* Beide Musikaudiowiedergabe (Standard für die meisten Medienstreams)
Rede* Erfassung Menschliche Spracherfassung (z. B. Eingabe an Cortana)
Kommunikation* Beide VOIP-Render und -Erfassung (z. B. Skype, Lync)
Benachrichtigung* Rendern Klingeltöne, Alarme, Warnungen usw.

* Neu in Windows 10.

Anforderungen des Signalverarbeitungsmodustreibers

Audiogerätetreiber müssen mindestens den Raw - oder Standardmodus unterstützen. Die Unterstützung zusätzlicher Modi ist optional.

Es ist möglich, dass nicht alle Modi für ein bestimmtes System verfügbar sind. Treiber definieren, welche Signalverarbeitungsmodi sie unterstützen (d. h. welche Arten von APOs als Teil des Treibers installiert werden) und informieren das Betriebssystem entsprechend. Wenn ein bestimmter Modus vom Treiber nicht unterstützt wird, verwendet Windows den nächstbesten Abgleichsmodus.

Das folgende Diagramm zeigt ein System, das mehrere Modi unterstützt:

Diagramm, das ein System zeigt, das mehrere Audiomodi mit mehreren SFX- und MFX-Effekten unterstützt.

Windows-Audiostreamkategorien

Um das System über die Verwendung eines Audiodatenstroms zu informieren, haben Anwendungen die Möglichkeit, den Stream mit einer bestimmten Audiostreamkategorie zu markieren. Anwendungen können die Audiokategorie mithilfe einer der Audio-APIs direkt nach dem Erstellen des Audiodatenstroms festlegen. In Windows 10 gibt es neun Audiostreamkategorien.

Category BESCHREIBUNG
Film Filme, Video mit Dialogfeld (Ersetzt ForegroundOnlyMedia)
Medien Standardkategorie für die Medienwiedergabe (ersetzt BackgroundCapableMedia)
Spielechat In-Game-Kommunikation zwischen Benutzern (Neue Kategorie in Windows 10)
Spracheingabe/-ausgabe Spracheingabe (z. B. persönliche Assistent) und Ausgabe (z. B. Navigations-Apps) (Neue Kategorie in Windows 10)
Kommunikation VOIP, Echtzeit-Chat
Alerts Alarm, Klingelton, Benachrichtigungen
Soundeffekte Pieptöne, Dings usw.
Spielemedien In Der Spielmusik
Spieleffekte Kugeln springen, Automotorgeräusche, Aufzählungszeichen usw.
Sonstiges Nicht kategorisierte Streams

Wie bereits erwähnt, werden Audiokategorien (von Anwendungen ausgewählt) Audiomodi (durch Treiber definiert) zugeordnet. Anwendungen können jeden ihrer Streams mit einer der 10 Audiokategorien markieren.

Anwendungen haben keine Möglichkeit, die Zuordnung zwischen einer Audiokategorie und einem Signalverarbeitungsmodus zu ändern. Anwendungen haben kein Bewusstsein für das Konzept eines "Audioverarbeitungsmodus". Sie können nicht herausfinden, welcher Modus für jeden ihrer Streams verwendet wird.

WASAPI-Codebeispiel

Der folgende WASAPI-Code aus dem WASAPIAudio-Beispiel zeigt, wie verschiedene Audiokategorien festgelegt werden.

// The ActivateAudioInterfaceAsync is a replacment for IMMDevice::Activate
IActivateAudioInterfaceAsyncOperation *asyncOp = nullptr;
HRESULT hr = S_OK;

String ^defaultRender = Windows::Media::Devices::MediaDevice::GetDefaultAudioRenderId( Windows::Media::Devices::AudioDeviceRole::Default );

hr = ActivateAudioInterfaceAsync( defaultRender->Data(), __uuidof( IAudioClient3 ), nullptr, this, &asyncOp );
if ( FAILED( hr ) ) { … }
…

// the app’s implementation of IActivateAudioInterfaceCompetionHandler is invoked asynchronously
HRESULT ActivateAudioInterfaceCompletionHandler::ActivateCompleted( IActivateAudioInterfaceAsyncOperation *activateOperation ) {
    HRESULT hr = S_OK;
    HRESULT hrActivateResult = S_OK;
    IUnknown *pUnknown = nullptr;
    IAudioClient3 *pAudioClient3 = nullptr;

    hr = activateOperation->GetActivateResult( &hrActivateResult, &pUnknown );
    if ( FAILED( hr ) )  { … }
    if ( FAILED( hrActivateResult ) ) { … }

    hr = pUnknown->QueryInterface( IID_PPV_ARGS( &pAudioClient3 ) );
    if ( FAILED( hr ) ) { … }

    // The IAudioClient3::SetClientProperties call needs to happen after activation completes,
    // but before the call to IAudioClient3::Initialize or IAudioClient3::InitializeSharedAudioStream.
    AudioClientProperties props = {};
    props.cbSize = sizeof(props);
    props.eCategory = AudioCategory_GameEffects;
    pAudioClient3->SetClientProperties( &props );
    if ( FAILED( hr ) ) { … }

    hr = pAudioClient3->InitializeSharedAudioStream( … );
    if ( FAILED( hr ) ) { … }

    …

Signalverarbeitungsmodi und -effekte

OEMs definieren, welche Effekte für jeden Modus verwendet werden sollen. Windows definiert eine Liste von siebzehn Arten von Audioeffekten.

Informationen zum Zuordnen von APOs zu Modi finden Sie unter Implementieren von Audioverarbeitungsobjekten.

Es ist möglich, dass Anwendungen fragen, welche Auswirkungen auf einen bestimmten Stream für die RAW- oder Nicht-RAW-Verarbeitung angewendet werden. Anwendungen können auch darum bitten, benachrichtigt zu werden, wenn sich die Auswirkungen oder der Rohverarbeitungszustand ändern. Die Anwendung kann diese Informationen verwenden, um zu bestimmen, ob eine bestimmte Streamingkategorie wie Kommunikation verfügbar ist oder ob nur der RAW-Modus verwendet wird. Wenn nur der RAW-Modus verfügbar ist, kann die Anwendung selbst bestimmen, wie viel Audioverarbeitung hinzugefügt werden soll.

Wenn System.Devices.AudioDevice.RawProcessingSupported true ist, haben Anwendungen auch die Möglichkeit, ein Flag "RAW verwenden" für bestimmte Streams festzulegen. Wenn System.Devices.AudioDevice.RawProcessingSupported auf false festgelegt ist, können Anwendungen das Flag "RAW verwenden" nicht festlegen.

Anwendungen haben keinen Einblick in die Anzahl vorhandener Modi, mit Ausnahme von RAW/Non-RAW.

Anwendungen sollten unabhängig von der Audiohardwarekonfiguration die optimale Audioeffektverarbeitung anfordern. Wenn Sie z. B. einen Stream als Kommunikation markieren, wird Windows informiert, dass Hintergrundmusik angehalten wird.

Weitere Informationen zu den Kategorien statischer Audiostreams finden Sie unter AudioCategory-Enumeration und MediaElement.AudioCategory-Eigenschaft.

CLSIDs für Systemeffekte

FX_DISCOVER_EFFECTS_APO_CLSID

Dies ist die CLSID für den MsApoFxProxy.dll "Proxyeffekt", der den Treiber abfragt, um die Liste der aktiven Effekte abzurufen.

FX_DISCOVER_EFFECTS_APO_CLSID  = "{889C03C8-ABAD-4004-BF0A-BC7BB825E166}"

KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE

KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE ist ein Bezeichner für Kernelstreaming, der angibt, dass das spezifische Attribut, auf das verwiesen wird, das Attribut des Signalverarbeitungsmodus ist.

Die hier gezeigten #define-Anweisungen sind in der Headerdatei KSMedia.h verfügbar.

#define STATIC_KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE 0xe1f89eb5, 0x5f46, 0x419b, 0x96, 0x7b, 0xff, 0x67, 0x70, 0xb9, 0x84, 0x1
DEFINE_GUIDSTRUCT("E1F89EB5-5F46-419B-967B-FF6770B98401", KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE);
#define KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE DEFINE_GUIDNAMED(KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE)

KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE wird von modusfähigen Treibern mit einer KSDATARANGE-Struktur verwendet, die eine KSATTRIBUTE_LIST enthält. Diese Liste enthält ein einzelnes Element, das ein KSATTRIBUTE ist. Das Attributelement der KSATTRIBUTE-Struktur ist auf KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE festgelegt.

Audioeffekte

Die folgenden Audioeffekte stehen zur Verwendung in Windows 10 zur Verfügung.

Audioeffekt BESCHREIBUNG
Akustische Echounterdrückung (AEC) Die akustische Echounterdrückung (Acoustic Echo Cancellation, AEC) verbessert die Audioqualität, indem Echo entfernt wird, nachdem es bereits im Audiodatenstrom vorhanden ist.
Rauschunterdrückung (NS) Die Rauschunterdrückung (NS) unterdrückt Rauschen wie Summen und Summen, wenn sie im Audiodatenstrom vorhanden sind.
Automatische Verstärkungssteuerung (AGC) Automatische Verstärkungssteuerung (AGC) – wurde entwickelt, um eine kontrollierte Signalamplitude am Ausgang bereitzustellen, trotz Variation der Amplitude im Eingangssignal. Der durchschnittliche oder spitzen Ausgangssignalpegel wird verwendet, um den Input-to-Output-Gain dynamisch auf einen geeigneten Wert anzupassen, wodurch ein stabiles Ausgabeniveau auch bei einem breiten Bereich von Eingangssignalpegeln ermöglicht wird.
Strahlformung (BF) Beam Forming (BF) ist eine Signalverarbeitungstechnik, die für die direktionale Signalübertragung oder den Empfang verwendet wird. Dies wird erreicht, indem Elemente in einem phasenweisen Array so kombiniert werden, dass Signale in bestimmten Winkeln konstruktive Störungen erfahren, während andere destruktive Störungen erfahren. Die Verbesserung im Vergleich zum omnidirektionalen Empfang/Übertragung wird als Empfangs-/Übertragungsgewinn (oder Verlust) bezeichnet.
Konstante Tonentfernung Konstante Tonentfernung wird verwendet, um konstante Hintergrundgeräusche wie Bandrauschen, elektrische Lüfter oder Summen zu dämpfungen.
Equalizer Der Equalizer-Effekt wird verwendet, um den Frequenzgang eines Audiosystems mithilfe linearer Filter zu ändern. Dies ermöglicht es, verschiedene Teile des Signals zu verstärken, ähnlich wie bei einer Höhen- oder Basseinstellung.
Lautheitsentsprechung Der Lautstärkeausgleichseffekt reduziert die wahrgenommenen Lautstärkeunterschiede, indem der Audioausgang abgleicht, sodass lautere und leisere Sounds näher an einem durchschnittlichen Lautstärkepegel liegen.
Bass-Boost In Systemen wie Laptops, die über Lautsprecher mit eingeschränkter Bassfunktion verfügen, ist es manchmal möglich, die wahrgenommene Qualität des Audios zu erhöhen, indem die Basswiedergabe im Frequenzbereich erhöht wird, der vom Lautsprecher unterstützt wird. Die Bassverstärkung verbessert den Sound auf mobilen Geräten mit sehr kleinen Lautsprechern, indem sie den Gewinn im Mittleren Bassbereich erhöht.
Virtuelle Umgebung Virtual Surround verwendet einfache digitale Methoden, um ein Mehrkanalsignal in zwei Kanälen zu kombinieren. Dies erfolgt so, dass das transformierte Signal mithilfe der Pro Logic-Decoder, die in den meisten modernen Audioempfängern verfügbar sind, im ursprünglichen Multichannel-Signal wiederhergestellt werden kann. Virtual Surround ist ideal für ein System mit einer Zweikanal-Soundhardware und einem Empfänger, der über einen Surround-Sound-Optimierungsmechanismus verfügt.
Virtuelle Kopfhörer Virtualisierter Surround-Sound ermöglicht Es Benutzern, die Kopfhörer tragen, sound von vorne nach hinten sowie von Seite zu Seite zu unterscheiden. Dies erfolgt durch die Übertragung räumlicher Hinweise, die dem Gehirn helfen, die Sounds zu lokalisieren und in ein Klangfeld zu integrieren. Dies hat den Effekt, dass sich der Sound so anfühlt, als ob er den Kopfhörer übersteigt und ein "Outside-the-Head"-Hörerlebnis erzeugt. Dieser Effekt wird durch die Verwendung einer fortschrittlichen Technologie namens Head Related Transfer Functions (HRTF) erreicht. HRTF generiert akustische Hinweise, die auf der Form des menschlichen Kopfes basieren. Diese Hinweise helfen den Zuhörern nicht nur, die Richtung und Quelle des Klangs zu ermitteln, sondern verbessern auch die Art der akustischen Umgebung, die den Hörer umgibt.
Sprecherfüllung Die meisten Musik wird mit nur zwei Kanälen produziert und ist daher nicht für die Multichannel-Audiogeräte des typischen Audio- oder Video-Enthusiasten optimiert. Es ist also nicht ideal, wenn Musik nur von den Lautsprechern links vorne und rechts vorn ausgegeben wird. Die Lautsprecherfüllung simuliert ein Mehrkanallautsprecher-Setup. Es ermöglicht, Musik, die sonst nur auf zwei Lautsprechern zu hören wäre, auf allen Lautsprechern im Raum wiedergegeben zu werden, was das räumliche Gefühl erhöht.
Raumkorrektur Die Raumkorrektur optimiert das Hörerlebnis für einen bestimmten Ort im Raum, z. B. das mittlere Kissen Ihrer Couch, indem automatisch die optimale Kombination aus Verzögerung, Frequenzgang und Verstärkungsanpassungen berechnet wird. Die Raumkorrekturfunktion passt den Sound besser mit dem Bild auf dem Videobildschirm ab und ist auch nützlich, wenn Desktoplautsprecher an nicht standardmäßigen Orten platziert werden. Die Verarbeitung von Raumkorrekturen ist eine Verbesserung gegenüber ähnlichen Merkmalen in High-End-Empfängern, da sie die Art und Weise, wie das menschliche Ohr Schall verarbeitet, besser rechnung. Die Kalibrierung erfolgt mit Hilfe eines Mikrofons, und das Verfahren kann sowohl mit Stereo- als auch Multichannel-Systemen verwendet werden. Der Benutzer platziert das Mikrofon an der Stelle, an der der Benutzer sitzen möchte, und aktiviert dann einen Assistenten, der die Raumantwort misst. Der Assistent spielt wiederum einen Satz speziell entworfener Töne von jedem Lautsprecher und misst den Abstand, den Frequenzgang und den Gesamtgewinn jedes Lautsprechers vom Standort des Mikrofons.
Bassverwaltung Es gibt zwei Bassverwaltungsmodi: Vorwärtsbassverwaltung und Umgekehrte Bassverwaltung. Forward Bass Management filtert den Niedrigfrequenzinhalt des Audiodatenstroms heraus. Der Forward Bass Management-Algorithmus leitet die gefilterte Ausgabe an den Subwoofer oder an die Lautsprecherkanäle vorne links und vorne rechts um, abhängig von den Kanälen, die tiefe Bassfrequenzen verarbeiten können. Diese Entscheidung basiert auf der Einstellung des LRBig-Flags. Um das LRBig-Flag festzulegen, verwendet der Benutzer das Sound-Applet in Systemsteuerung, um auf das Dialogfeld Bassverwaltungseinstellungen zuzugreifen. Der Benutzer aktiviert ein Kontrollkästchen, um z. B. anzugeben, dass die Front-Rechts- und front-links-Lautsprecher den vollen Bereich aufweisen, und diese Aktion legt das LRBig-Flag fest. Um dieses Flag zu deaktivieren, aktivieren Sie das Kontrollkästchen. Reverse Bass Management verteilt das Signal vom Subwooferkanal auf die anderen Ausgabekanäle. Das Signal wird je nach Einstellung des LRBig-Flags entweder an alle Kanäle oder an die Kanäle vorne links und vorne rechts weitergeleitet. Dieser Prozess nutzt eine erhebliche Verstärkungsreduzierung, wenn das Subwoofersignal in die anderen Kanäle gemischt wird. Der verwendete Bassverwaltungsmodus hängt von der Verfügbarkeit eines Subwoofers und der Bassbehandlungsfähigkeit der Standard Lautsprechern ab. Unter Windows stellt der Benutzer diese Informationen über das Sound-Applet in Systemsteuerung bereit.
Umweltauswirkungen Umwelteffekte erhöhen die Realität der Audiowiedergabe, indem sie reale Audioumgebungen genauer simulieren. Es gibt eine Reihe verschiedener Umgebungen, die Sie auswählen können, z. B. simuliert "Stadion" die Akustik eines Sportstadions.
Lautsprecherschutz Der Zweck des Lautsprecherschutzes besteht darin, Resonanzfrequenzen zu unterdrücken, die den Lautsprechern physische Schäden an den Systemkomponenten des PCs zufügen würden. Beispielsweise können einige physische Festplatten beschädigt werden, indem ein lauter Sound mit der richtigen Frequenz wiedergegeben wird. Zweitens funktioniert der Lautsprecherschutz, um Schäden an Lautsprechern zu minimieren, indem das Signal abgeschwächt wird, wenn es bestimmte Werte überschreitet.
Sprecherentschädigung Einige Lautsprecher sind besser in der Wiedergabe von Sound als andere. Beispielsweise kann ein bestimmter Lautsprecher Töne unter 100 Hz dämpfungen. Manchmal verfügen Audiotreiber und Firmware-DSP-Lösungen über Kenntnisse über die spezifischen Leistungsmerkmale der Lautsprecher, mit denen sie wiedergegeben werden, und sie können eine Verarbeitung hinzufügen, die entwickelt wurde, um die Sprecherbeschränkungen zu kompensieren. Beispielsweise könnte ein Endpunkteffekt (EFX) erstellt werden, der die Verstärkung auf Frequenzen unter 100 Hz anwendet. Dieser Effekt führt in Kombination mit der Dämpfung im physischen Lautsprecher zu einer verbesserten Audiowiedergabe.
Dynamische Bereichskomprimierung Die Dynamische Bereichskomprimierung verstärkt leise Sounds, indem sie den dynamischen Bereich eines Audiosignals einschränkt oder "komprimiert". Die Audiokomprimierung verstärkt leise Töne, die unterhalb einer bestimmten Schwelle liegen, während laute Töne nicht beeinträchtigt werden.

Die hier gezeigten #define-Anweisungen sind in der Headerdatei KSMedia.h verfügbar.

DEFAULT

#define STATIC_AUDIO_SIGNALPROCESSINGMODE_DEFAULT 0xc18e2f7e, 0x933d, 0x4965, 0xb7, 0xd1, 0x1e, 0xef, 0x22, 0x8d, 0x2a, 0xf3
DEFINE_GUIDSTRUCT("C18E2F7E-933D-4965-B7D1-1EEF228D2AF3", AUDIO_SIGNALPROCESSINGMODE_DEFAULT);
#define AUDIO_SIGNALPROCESSINGMODE_DEFAULT DEFINE_GUIDNAMED(AUDIO_SIGNALPROCESSINGMODE_DEFAULT)

RAW

#define STATIC_AUDIO_SIGNALPROCESSINGMODE_RAW 0x9e90ea20, 0xb493, 0x4fd1, 0xa1, 0xa8, 0x7e, 0x13, 0x61, 0xa9, 0x56, 0xcf
DEFINE_GUIDSTRUCT("9E90EA20-B493-4FD1-A1A8-7E1361A956CF", AUDIO_SIGNALPROCESSINGMODE_RAW);
#define AUDIO_SIGNALPROCESSINGMODE_RAW DEFINE_GUIDNAMED(AUDIO_SIGNALPROCESSINGMODE_RAW)

AKUSTISCHE ECHOUNTERDRÜCKUNG

#define STATIC_AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION 0x6f64adbe, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adbe-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION);
#define AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION)

RAUSCHUNTERDRÜCKUNG

#define STATIC_AUDIO_EFFECT_TYPE_NOISE_SUPPRESSION          0x6f64adbf, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adbf-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_NOISE_SUPPRESSION);
#define AUDIO_EFFECT_TYPE_NOISE_SUPPRESSION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_NOISE_SUPPRESSION)

AUTOMATISCHE VERSTÄRKUNGSSTEUERUNG

#define STATIC_AUDIO_EFFECT_TYPE_AUTOMATIC_GAIN_CONTROL     0x6f64adc0, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc0-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_AUTOMATIC_GAIN_CONTROL);
#define AUDIO_EFFECT_TYPE_AUTOMATIC_GAIN_CONTROL DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_AUTOMATIC_GAIN_CONTROL)

BEAMFORMING

#define STATIC_AUDIO_EFFECT_TYPE_BEAMFORMING                0x6f64adc1, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc1-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_BEAMFORMING);
#define AUDIO_EFFECT_TYPE_BEAMFORMING DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_BEAMFORMING)

KONSTANTE TONENTFERNUNG

#define STATIC_AUDIO_EFFECT_TYPE_CONSTANT_TONE_REMOVAL      0x6f64adc2, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc2-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_CONSTANT_TONE_REMOVAL);
#define AUDIO_EFFECT_TYPE_CONSTANT_TONE_REMOVAL DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_CONSTANT_TONE_REMOVAL)

EQUALIZER

#define STATIC_AUDIO_EFFECT_TYPE_EQUALIZER                  0x6f64adc3, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc3-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_EQUALIZER);
#define AUDIO_EFFECT_TYPE_EQUALIZER DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_EQUALIZER)

LAUTHEITSENTSPRECHER

#define STATIC_AUDIO_EFFECT_TYPE_LOUDNESS_EQUALIZER         0x6f64adc4, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc4-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_LOUDNESS_EQUALIZER);
#define AUDIO_EFFECT_TYPE_LOUDNESS_EQUALIZER DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_LOUDNESS_EQUALIZER)

BASS BOOST

#define STATIC_AUDIO_EFFECT_TYPE_BASS_BOOST                 0x6f64adc5, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc5-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_BASS_BOOST);
#define AUDIO_EFFECT_TYPE_BASS_BOOST DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_BASS_BOOST)

VIRTUAL SURROUND

#define STATIC_AUDIO_EFFECT_TYPE_VIRTUAL_SURROUND           0x6f64adc6, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc6-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_VIRTUAL_SURROUND);
#define AUDIO_EFFECT_TYPE_VIRTUAL_SURROUND DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_VIRTUAL_SURROUND)

VIRTUELLER KOPFHÖRER

#define STATIC_AUDIO_EFFECT_TYPE_VIRTUAL_HEADPHONES         0x6f64adc7, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc7-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_VIRTUAL_HEADPHONES);
#define AUDIO_EFFECT_TYPE_VIRTUAL_HEADPHONES DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_VIRTUAL_HEADPHONES)

RAUMKORREKTUR

#define STATIC_AUDIO_EFFECT_TYPE_ROOM_CORRECTION            0x6f64adc9, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc9-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_ROOM_CORRECTION);
#define AUDIO_EFFECT_TYPE_ROOM_CORRECTION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_ROOM_CORRECTION)

BASSVERWALTUNG

#define STATIC_AUDIO_EFFECT_TYPE_BASS_MANAGEMENT            0x6f64adca, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adca-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_BASS_MANAGEMENT);
#define AUDIO_EFFECT_TYPE_BASS_MANAGEMENT DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_BASS_MANAGEMENT)

UMWELTAUSWIRKUNGEN

#define STATIC_AUDIO_EFFECT_TYPE_ENVIRONMENTAL_EFFECTS      0x6f64adcb, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adcb-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_ENVIRONMENTAL_EFFECTS);
#define AUDIO_EFFECT_TYPE_ENVIRONMENTAL_EFFECTS DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_ENVIRONMENTAL_EFFECTS)

LAUTSPRECHERSCHUTZ

#define STATIC_AUDIO_EFFECT_TYPE_SPEAKER_PROTECTION         0x6f64adcc, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adcc-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_SPEAKER_PROTECTION);
#define AUDIO_EFFECT_TYPE_SPEAKER_PROTECTION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_SPEAKER_PROTECTION)

SPRECHERENTSCHÄDIGUNG

#define STATIC_AUDIO_EFFECT_TYPE_SPEAKER_COMPENSATION       0x6f64adcd, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adcd-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_SPEAKER_COMPENSATION);
#define AUDIO_EFFECT_TYPE_SPEAKER_COMPENSATION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_SPEAKER_COMPENSATION)

DYNAMISCHE BEREICHSKOMPRIMIERUNG

#define STATIC_AUDIO_EFFECT_TYPE_DYNAMIC_RANGE_COMPRESSION  0x6f64adce, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adce-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_DYNAMIC_RANGE_COMPRESSION);
#define AUDIO_EFFECT_TYPE_DYNAMIC_RANGE_COMPRESSION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_DYNAMIC_RANGE_COMPRESSION)