Delen via


Audio-signaalverwerkingsmodi

Stuurprogramma's declareren de ondersteunde audiosignaalverwerkingsmodi voor elk apparaat.

Beschikbare signaalverwerkingsmodi

Audiocategorieën (geselecteerd door toepassingen) worden toegewezen aan audiomodi (gedefinieerd door stuurprogramma's). Windows definieert zeven audiosignaalverwerkingsmodi. OEM's en IHD's kunnen bepalen welke modi ze willen implementeren. Het wordt aanbevolen dat IHDV's/OEM's gebruikmaken van de nieuwe modi om audio-effecten toe te voegen die het audiosignaal optimaliseren om de beste gebruikerservaring te bieden. De modi worden samengevat in de onderstaande tabel.

Wijze Render/Capture Beschrijving
Rauw Beide De onbewerkte modus geeft aan dat er geen signaalverwerking moet worden toegepast op de stroom. Een toepassing kan een onbewerkte stroom aanvragen die volledig ongewijzigd is en een eigen signaalverwerking uitvoeren.
Verstek Beide Deze modus definieert de standaardaudioverwerking.
Films* Weergeven Afspelen van filmaudio
Media* Beide Afspelen van muziekaudio (standaard voor de meeste mediastreams)
Spraak* Vangen Menselijke spraakopname (bijvoorbeeld invoer voor persoonlijke assistent)
Communicatie* Beide VOIP-weergave en -opname (bijvoorbeeld Teams, Skype, Lync)
Melding* Weergeven Beltonen, alarmen, waarschuwingen, enzovoort.

* Nieuw in Windows 10.

Belangrijk

Onbewerkte opnamestromen mogen geen tijdsafhankelijke of adaptieve verwerking bevatten, zoals echobesturing, automatische versterkingsbesturing of ruisonderdrukking. De enige audioverwerking die is toegestaan in onbewerkte opname, is lineaire equalisatie voor afvlakkende frequentierespons.

Stuurprogrammavereisten voor signaalverwerkingsmodus

Stuurprogramma's voor audioapparaten moeten ten minste de raw - of standaardmodus ondersteunen. Het ondersteunen van extra modi is optioneel.

Het is mogelijk dat niet alle modi beschikbaar zijn voor een bepaald systeem. Stuurprogramma's definiëren welke signaalverwerkingsmodi ze ondersteunen (dat wil zeggen welke typen API's worden geïnstalleerd als onderdeel van het stuurprogramma) en informeren het besturingssysteem dienovereenkomstig. Als een bepaalde modus niet wordt ondersteund door het stuurprogramma, gebruikt Windows de volgende best overeenkomende modus.

In het volgende diagram ziet u een systeem dat ondersteuning biedt voor meerdere modi:

Diagram met een systeem dat meerdere audiomodi ondersteunt, met meerdere SFX- en MFX-effecten.

Categorieën voor Windows Audio Stream

Om het systeem te informeren over het gebruik van een audiostream, hebben toepassingen de mogelijkheid om de stream te taggen met een specifieke categorie voor audiostreams. Toepassingen kunnen de audiocategorie instellen met behulp van een van de audio-API's, net na het maken van de audiostream. In Windows zijn er negen audiostreamcategorieën.

Categorie Beschrijving
Film Films, video met dialoogvenster (Vervangt ForegroundOnlyMedia)
Media Standaardcategorie voor het afspelen van media (vervangt BackgroundCapableMedia)
GameChat In-game communicatie tussen gebruikers (nieuwe categorie in Windows 10)
Spraak Spraakinvoer (bijvoorbeeld persoonlijke assistent) en uitvoer (bijvoorbeeld navigatie-apps) (nieuwe categorie in Windows 10)
Communicatie VOIP, realtime chat
Waarschuwingen Alarm, beltoon, meldingen
Geluidseffecten Piepjes, dings, enz.
Gamemedia In game muziek
Spel Effecten Ballen die stuiteren, motorgeluiden, geluiden van kogels, enz.
Overige Niet-gecategoriseerde streams

Zoals eerder vermeld, worden audiocategorieën (geselecteerd door toepassingen) toegewezen aan audiomodi (gedefinieerd door stuurprogramma's). Toepassingen kunnen elk van hun streams taggen met een van de 10 audiocategorieën.

Toepassingen hebben niet de mogelijkheid om de toewijzing tussen een audiocategorie en een signaalverwerkingsmodus te wijzigen. Toepassingen hebben geen inzicht in het concept van een 'audioverwerkingsmodus'. Ze kunnen niet achterhalen welke modus wordt gebruikt voor elk van hun streams.

VOORBEELD VAN WASAPI-code

De volgende WASAPI-code uit het WASAPIAudio-voorbeeld laat zien hoe u verschillende audiocategorieën instelt.

// The ActivateAudioInterfaceAsync is a replacement 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 ) ) { … }

    …

Signaalverwerkingsmodi en -effecten

OEM's definiëren welke effecten voor elke modus worden gebruikt. Windows definieert een lijst van zeventien typen audio-effecten.

Zie Audioverwerkingsobjecten implementeren voor informatie over het koppelen van API's aan modi.

Het is mogelijk voor toepassingen om te vragen welke effecten worden toegepast op een specifieke datastroom voor onbewerkte of niet-onbewerkte verwerking. Toepassingen kunnen ook vragen om een melding te ontvangen wanneer de effecten of onbewerkte verwerkingsstatus veranderen. De toepassing kan deze informatie gebruiken om te bepalen of een specifiek streaming-effect, zoals 'akoestische echo-annulering', beschikbaar is of als er geen effecten in gebruik zijn. Als er geen effecten in gebruik zijn, kan de toepassing bepalen hoeveel audioverwerking er zelf moet worden toegevoegd.

Als System.Devices.AudioDevice.RawProcessingSupported waar is, kunnen toepassingen ook een vlag 'RAW gebruiken' instellen op bepaalde streams. Als System.Devices.AudioDevice.RawProcessingSupported onwaar is, kunnen toepassingen de vlag 'gebruik RAW' niet instellen.

Toepassingen hebben geen inzicht in het aantal modi, met uitzondering van RAW/niet-RAW.

Toepassingen moeten de optimale audio-effectverwerking aanvragen, ongeacht de configuratie van de audiohardware. Als u bijvoorbeeld een stream tagt als Communicatie, laat dit Windows weten dat het de achtergrondmuziek moet pauzeren.

Zie voor meer informatie over de categorieën voor statische audiostromen AudioCategory-enumeratie en MediaElement.AudioCategory-eigenschap.

CLSID's voor systeemeffecten

FX_DISCOVER_EFFECTS_APO_CLSID

Dit is de CLSID voor het MsApoFxProxy.dll 'proxy-effect', waarmee het stuurprogramma wordt opgevraagd om de lijst met actieve effecten op te halen;

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

KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE

KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE is een id voor Kernel Streaming waarmee wordt aangegeven dat het specifieke kenmerk waarnaar wordt verwezen, het kenmerk signaalverwerkingsmodus is.

De #define instructies die hier worden weergegeven, zijn beschikbaar in het headerbestand KSMedia.h.

#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 wordt gebruikt door modusbewuste stuurprogramma's met een KSDATARANGE-structuur die een KSATTRIBUTE_LIST bevatten. Deze lijst bevat één element, een KSATTRIBUTE. Het kenmerklid van de KSATTRIBUTE-structuur is ingesteld op KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE.

Audio-effecten

De volgende audio-effecten zijn beschikbaar voor gebruik in Windows 10.

Audio-effect Beschrijving
Acoustic Echo Cancellation (AEC) Acoustic Echo Cancellation (AEC) verbetert de audiokwaliteit door echo te verwijderen, nadat deze al aanwezig is in de audiostream.
Ruisonderdrukking (NS) Simple Noise Suppression (NS) onderdrukt ruis, zoals humming en buzzing, wanneer deze aanwezig is in de audiostream.
Diepe geluidsonderdrukking Deep Noise Suppression maakt gebruik van geavanceerde AI-/machine learning-technieken om ruis te onderdrukken, met name in spraakoproepen.
Automatic Gain Control (AGC, Automatische Versterkingsregeling) Automatic Gain Control (AGC) - is ontworpen om een gecontroleerde signaal amplitude te bieden bij de uitvoer, ondanks variatie van de amplitude in het invoersignaal. Het gemiddelde of piekniveau van het uitgangssignaal wordt gebruikt om de ingang-naar-uitgangsversterking dynamisch aan te passen naar een geschikte waarde, waardoor een stabiel uitvoerniveau wordt bereikt, zelfs bij een breed scala aan ingangssignaalniveaus.
Straalvorming (BF) Beam Forming (BF) is een signaalverwerkingstechniek die wordt gebruikt voor directionele signaaltransmissie of ontvangst. Dit wordt bereikt door elementen in een gefaseerde matrix zodanig te combineren dat signalen bij bepaalde hoeken constructieve interferentie ervaren terwijl anderen destructieve interferentie ervaren. De verbetering in vergelijking met omnidirectionele ontvangst/transmissie staat bekend als de ontvangst-/overdrachtswinst (of verlies).
Constante toonverwijdering Constante toonverwijdering wordt gebruikt om constant achtergrondgeluid zoals bandsuis, elektrische ventilatoren of gezoem te verzwakken.
Equalizer Het Equalizer-effect wordt gebruikt om de frequentierespons van een audiosysteem te wijzigen met behulp van lineaire filters. Hierdoor kunnen verschillende delen van het signaal worden versterkt, vergelijkbaar met een treble- of basinstelling.
Luidheid equalisator Het effect van de luidheid equalizer vermindert waargenomen volumeverschillen door de audio-uitvoer te effenen, zodat luider en stiller geluiden dichter bij een gemiddeld volumeniveau liggen.
Basversterking In systemen zoals laptops met luidsprekers met beperkte basfunctionaliteit is het soms mogelijk om de waargenomen kwaliteit van de audio te verhogen door het basantwoord te stimuleren in het frequentiebereik dat wordt ondersteund door de luidspreker. Bass boost verbetert het geluid op mobiele apparaten met zeer kleine luidsprekers door de toename in het midden-basbereik te vergroten.
Virtuele surround Virtuele surround maakt gebruik van eenvoudige digitale methoden om een signaal met meerdere kanalen te combineren in twee kanalen. Dit gebeurt op een manier waarmee het getransformeerde signaal kan worden hersteld naar het oorspronkelijke multichannelsignaal, met behulp van de Pro Logic-decoders die beschikbaar zijn in de meeste moderne audioontvangers. Virtuele surround is ideaal voor een systeem met een tweekanaals geluidshardware en een ontvanger met een surroundgeluidsverbeteringsmechanisme.
Virtuele hoofdtelefoons Met gevirtualiseerd surround-geluid kunnen gebruikers die een hoofdtelefoon dragen, geluid onderscheiden van voor naar achter en van kant naar zijkant. Dit gebeurt door ruimtelijke aanwijzingen te verzenden die de hersenen helpen de geluiden te lokaliseren en te integreren in een geluidsveld. Dit heeft als effect dat het geluid de indruk wekt de hoofdtelefoon te overstijgen, waardoor een luisterervaring buiten-het-hoofd ontstaat. Dit effect wordt bereikt met behulp van een geavanceerde technologie genaamd Head Related Transfer Functions (HRTF). HRTF genereert akoestische aanwijzingen die zijn gebaseerd op de vorm van het menselijk hoofd. Deze aanwijzingen helpen niet alleen listeners om de richting en bron van geluid te vinden, maar het verbetert ook het type akoestische omgeving dat de listener omringen.
Luidsprekervulling De meeste muziek wordt geproduceerd met slechts twee kanalen en is daarom niet geoptimaliseerd voor de multichannel audioapparatuur van de typische audio- of videoliefhebber. Dus muziek die alleen uit de voor-linkse en voor-rechts luidsprekers komt, is een minder dan ideale audio-ervaring. De luidsprekeropvulling simuleert een luidsprekerinstallatie met meerdere kanalen. Het staat toe dat muziek die anders op slechts twee luidsprekers zou worden afgespeeld op alle luidsprekers in de kamer, waardoor het ruimtelijke gevoel wordt verbeterd.
Ruimtecorrectie Ruimtecorrectie optimaliseert de luisterervaring voor een specifieke locatie in de ruimte, bijvoorbeeld het middelste kussen van uw bank, door automatisch de optimale combinatie van vertraging, frequentierespons en versterkingsaanpassingen te berekenen. De functie voor ruimtecorrectie komt beter overeen met het geluid van de afbeelding op het videoscherm en is ook handig in gevallen waarin bureaubladluidsprekers op niet-standaardlocaties worden geplaatst. verwerking van ruimtecorrectie is een verbetering ten opzichte van vergelijkbare functies in high-end ontvangers, omdat het beter rekening houdt met de manier waarop het menselijke oor geluid verwerkt. Kalibratie wordt uitgevoerd met behulp van een microfoon en de procedure kan worden gebruikt met zowel stereo- als multichannelsystemen. De gebruiker plaatst de microfoon waar de gebruiker van plan is te zitten en activeert vervolgens een wizard die het antwoord van de ruimte meet. De wizard speelt een set speciaal ontworpen tonen van elke luidspreker om de beurt en meet de afstand, de frequentierespons en de totale versterking van elke luidspreker vanaf de locatie van de microfoon.
Basbeheer Er zijn twee basbeheermodi: forward bass management en reverse bass management. Doorstuurbaar basbeheer filtert de lage frequentie-inhoud van de audiogegevensstroom. Het algoritme voor basbeheer stuurt de gefilterde uitvoer om naar de subwoofer of naar de voorste linker- en rechter luidsprekerkanalen, afhankelijk van welke kanalen diepe basfrequenties kunnen verwerken. Deze beslissing is gebaseerd op de instelling van de LRBig-vlag. Om de vlag LRBig in te stellen, gebruikt de gebruiker de geluidsapplet in het Configuratiescherm om het dialoogvenster Bass Management Settings te openen. De gebruiker selecteert een selectievakje om bijvoorbeeld aan te geven dat de luidsprekers vóór rechts en vóór links volledig bereik hebben, en met deze actie wordt de vlag LRBig ingesteld. Om deze vlag te wissen, vinkt u het selectievakje aan. Omgekeerd basbeheer verdeelt het signaal van het subwooferkanaal naar de andere uitvoerkanalen. Het signaal wordt omgeleid naar alle kanalen of naar de kanalen links en rechts vooraan, afhankelijk van de instelling van de LRBig-vlag. Dit proces maakt gebruik van een aanzienlijke versterkingsreductie tijdens het mengen van het subwoofersignaal in de andere kanalen. De basbeheermodus die wordt gebruikt, is afhankelijk van de beschikbaarheid van een subwoofer en de basbeheermogelijkheden van de hoofdluidsprekers. In Windows verstrekt de gebruiker deze informatie via de sound-applet in het Configuratiescherm.
Milieueffecten Omgevingseffecten werken om de realiteit van het afspelen van audio te vergroten door nauwkeuriger echte audioomgevingen te simuleren. Er zijn een aantal verschillende omgevingen die u kunt selecteren, bijvoorbeeld 'stadion' simuleert de akoestiek van een sportstadion.
Luidsprekerbeveiliging Het doel van sprekerbescherming is om resonante frequenties te onderdrukken die ervoor zorgen dat de luidsprekers fysieke schade toebrengen aan de systeemonderdelen van de pc's. Sommige fysieke harde schijven kunnen bijvoorbeeld worden beschadigd door een luid geluid met precies de juiste frequentie af te spelen. Daarnaast werkt sprekerbescherming om schade aan sprekers te minimaliseren door het signaal te dempen wanneer het bepaalde waarden overschrijdt.
Sprekercompensatie Sommige luidsprekers zijn beter bij het reproduceren van geluid dan andere. Een bepaalde luidspreker kan bijvoorbeeld geluiden van minder dan 100 Hz attenuate. Soms beschikken audiostuurprogramma's en firmware-DSP-oplossingen over de specifieke prestatiekenmerken van de luidsprekers die ze afspelen en kunnen ze verwerking toevoegen die is ontworpen om de beperkingen van de spreker te compenseren. Er kan bijvoorbeeld een eindpunteffect (EFX) worden gemaakt dat toename toepast op frequenties van minder dan 100 Hz. Dit effect, in combinatie met de attenuatie in de fysieke luidspreker, resulteert in verbeterde geluidskwaliteit.
Dynamische omvangcompressie Dynamische bereikcompressie versterkt stille geluiden door het dynamische bereik van een audiosignaal te smalen of te comprimeren. Audiocompressie versterkt stille geluiden die onder een bepaalde drempelwaarde liggen, terwijl luide geluiden niet worden beïnvloed.

De #define instructies die hier worden weergegeven, zijn beschikbaar in het headerbestand KSMedia.h.

VERSTEK

#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)

RAUW

#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)

AKOESTISCHE ECHO-ONDERDRUKKING

#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)

RUISONDERDRUKKING

#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 VERSTERKINGSCONTROLE

#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)

bundelvorming

#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)

CONSTANTE TONENVERWIJDERING

#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)

LUIDHEID EQUALIZER

#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)

Basversterking

#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)

VIRTUELE 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)

VIRTUELE KOPTELEFOONS

#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)

KAMERCORRECTIE

#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)

Basbeheer

#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)

MILIEUEFFECTEN

#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)

LUIDSPREKERBEVEILIGING

#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)

SPREKERCOMPENSATIE

#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 BEREIKCOMPRESSIE

#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)

Diepe geluidsonderdrukking

Vanaf Windows 11 versie 24H2 is een nieuwe GUID beschikbaar om Deep Noise Suppression in te schakelen.

Er zijn twee identificaties voor ruisonderdrukkingseffecten. Er is een bestaande identificatie voor ruisonderdrukking en een nieuwe identificatie die wordt toegevoegd voor Deep Noise Suppression. De eerste is voor 'lage' (eenvoudige) ruisonderdrukking, terwijl de laatste 'hoog' is en wordt geïmplementeerd als een AI/machine learning-oplossing. Net als bij alle beschikbare audio-effecten is het aan de toepassing om te kiezen welke ze mogelijk willen gebruiken, afhankelijk van hun behoeften en specifieke scenario's.

#define STATIC_AUDIO_EFFECT_TYPE_DEEP_NOISE_SUPPRESSION 0x6f64add0, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa

DEFINE_GUIDSTRUCT("6f64add0-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_DEEP_NOISE_SUPPRESSION);

#define AUDIO_EFFECT_TYPE_DEEP_NOISE_SUPPRESSION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_DEEP_NOISE_SUPPRESSION)

Audio-effecten, zoals Deep Noise Suppression, worden geïmplementeerd als een audioverwerkingsobject - APO. Zie Windows Audio Processing Objectsvoor meer informatie.

De APO moet de interface implementeren als deze effecten beschikbaar maakt waarvan de IAudioSystemEffects3 status dynamisch kan worden ingeschakeld of uitgeschakeld. Zie de interface IAudioSystemEffects3 (audioengineextensionapo.h) voor meer informatie.