Modes de traitement du signal audio

Les pilotes déclarent les modes de traitement du signal audio pris en charge pour chaque appareil.

Modes de traitement du signal disponibles

Les catégories audio (sélectionnées par les applications) sont mappées aux modes audio (définis par les pilotes). Windows définit sept modes de traitement du signal audio. Les OEM et les IHV peuvent déterminer les modes qu’ils souhaitent implémenter. Il est recommandé que les IHVs/OEMs utilisent les nouveaux modes pour ajouter des effets audio qui optimisent le signal audio afin de fournir la meilleure expérience utilisateur. Les modes sont résumés dans le tableau ci-dessous.

Mode Afficher/Capture Description
Brut Les deux Le mode brut spécifie qu’aucun traitement du signal ne doit être appliqué au flux. Une application peut demander un flux brut complètement non traité et effectuer son propre traitement du signal.
Par défaut Les deux Ce mode définit le traitement audio par défaut.
- Films* Rendu Lecture audio de films
Média* Les deux Lecture audio de musique (par défaut pour la plupart des flux multimédias)
Speech* Capture Capture de voix humaine (par ex. entrée pour assistant personnel)
Communications* Les deux Rendu et capture VOIP (par exemple, Teams, Skype, Lync)
Notifications Rendu Sonneries, alarmes, alertes, etc.

* Nouveautés dans Windows 10.

Exigences des pilotes pour les modes de traitement du signal

Les pilotes de périphériques audio doivent prendre en charge au moins le mode Brut ou Défaut. La prise en charge de modes supplémentaires est optionnelle.

Il est possible que tous les modes ne soient pas disponibles pour un système particulier. Les pilotes définissent les modes de traitement du signal qu’ils prennent en charge (c’est-à-dire quels types d’APO sont installés dans le cadre du pilote) et informent le système d’exploitation en conséquence. Si un mode particulier n’est pas pris en charge par le pilote, Windows utilisera le mode correspondant le plus proche.

Le schéma suivant montre un système prenant en charge plusieurs modes :

Diagramme montrant un système prenant en charge plusieurs modes audio, avec plusieurs effets SFX et MFX.

Catégories de flux audio Windows

Pour informer le système de l’utilisation d’un flux audio, les applications ont la possibilité de marquer le flux avec une catégorie de flux audio spécifique. Les applications peuvent définir la catégorie audio, en utilisant n’importe quelle API audio, juste après la création du flux audio. Dans Windows, il existe neuf catégories de flux audio.

Category Description
Film Films, vidéo avec dialogue (remplace ForegroundOnlyMedia)
Média Catégorie par défaut pour la lecture multimédia (remplace BackgroundCapableMedia)
Chat de jeu Communication entre utilisateurs pendant un jeu (nouvelle catégorie dans Windows 10)
Speech Entrée vocale (par exemple, assistant personnel) et sortie (par exemple, applications de navigation) (nouvelle catégorie dans Windows 10)
Communications VOIP, chat en temps réel
Alertes Alarme, sonnerie, notifications
Effets sonores Bip, ding, etc.
Média de jeu Musique des jeux
Effets de jeu Bruits de balle, moteur de voiture, etc.
Autres Flux non catégorisés

Comme mentionné précédemment, les catégories audio (sélectionnées par les applications) sont associées à des modes audio (définis par les pilotes). Les applications peuvent marquer chacun de leurs flux avec l’une des 10 catégories audio.

Les applications n’ont pas la possibilité de modifier l’association entre une catégorie audio et un mode de traitement du signal. Les applications ne sont pas conscientes du concept de « mode de traitement audio ». Elles ne peuvent pas savoir quel mode est utilisé pour chacun de leurs flux.

Exemple de code WASAPI

Le code WASAPI suivant de l’exemple WASAPIAudio montre comment définir différentes catégories audio.

// 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 ) ) { … }

    …

Modes de traitement du signal et effets

Les OEMs définissent quels effets seront utilisés pour chaque mode. Windows définit une liste de dix-sept types d’effets audio.

Pour plus d’informations sur la façon d’associer les APO aux modes, veuillez consulter la section Implémentation des objets de traitement audio.

Il est possible pour les applications de demander quels effets seraient appliqués à un flux spécifique pour un traitement RAW ou non RAW. Les applications peuvent également demander à être notifiées lorsque les effets ou l’état de traitement brut changent. L’application peut utiliser ces informations pour déterminer si une catégorie de flux spécifique comme la communication est disponible, ou si seul le mode RAW est utilisé. Si seul le mode RAW est disponible, l’application peut déterminer combien de traitement audio elle doit ajouter.

Si System.Devices.AudioDevice.RawProcessingSupported est vrai, les applications ont également la possibilité de définir un indicateur « utiliser RAW » sur certains flux. Si System.Devices.AudioDevice.RawProcessingSupported est faux, les applications ne peuvent pas définir l’indicateur « utiliser RAW ».

Les applications n’ont aucune visibilité sur le nombre de modes présents, à l’exception de RAW/non-RAW.

Les applications doivent demander le traitement optimal des effets audio, quelle que soit la configuration matérielle audio. Par exemple, marquer un flux comme Communications permettra à Windows de savoir qu’il doit mettre en pause la musique de fond.

Pour plus d’informations sur les catégories de flux audio statiques, veuillez consulter les sections énumération AudioCategory et propriété MediaElement.AudioCategory.

CLSIDs pour les effets système

FX_DISCOVER_EFFECTS_APO_CLSID

Il s’agit du CLSID pour le « proxy effect » MsApoFxProxy.dll, qui interroge le pilote pour obtenir la liste des effets actifs ;

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

KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE

KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE est un identifiant pour Kernel Streaming qui identifie que l’attribut spécifique référencé est l’attribut du mode de traitement du signal.

Les déclarations #define montrées ici sont disponibles dans le fichier d’en-tête 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 est utilisé par les pilotes conscients des modes avec une structure KSDATARANGE qui contient une KSATTRIBUTE_LIST. Cette liste contient un seul élément, qui est un KSATTRIBUTE. Le membre Attribute de la structure KSATTRIBUTE est défini sur KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE.

Effets audio

Les effets audio suivants sont disponibles pour une utilisation dans Windows 10.

Effet audio Description
Annulation d’écho acoustique (AEC) L’annulation de l’écho acoustique (AEC) améliore la qualité audio en supprimant l’écho, après qu’il soit déjà présent dans le flux audio.
Suppression du bruit (NS) La suppression simple du bruit (NS) supprime les bruits tels que les bourdonnements et les bourdonnements lorsqu’ils sont présents dans le flux audio.
Suppression complète du bruit La suppression complète du bruit utilise des techniques avancées d’IA / apprentissage automatique pour supprimer le bruit, en particulier dans les appels vocaux.
Automatic Gain Control (AGC) La commande automatique de gain (AGC) est conçue pour fournir une amplitude de signal contrôlée à sa sortie, malgré la variation de l’amplitude du signal d’entrée. Le niveau de signal de sortie moyen ou de crête est utilisé pour ajuster dynamiquement le gain entrée-sortie à une valeur appropriée, permettant un niveau de sortie stable, même avec une large gamme de niveaux de signal d’entrée.
Formation de faisceau (BF) La formation de faisceau (BF) est une technique de traitement du signal utilisée pour la transmission ou la réception directionnelle du signal. Cela est réalisé en combinant des éléments dans un réseau phasé de telle manière que les signaux à des angles particuliers subissent une interférence constructive tandis que d’autres subissent une interférence destructive. L’amélioration par rapport à la réception/transmission omnidirectionnelle est connue sous le nom de gain (ou perte) de réception/transmission.
Suppression des bruits de fond La suppression des bruits de fond est utilisée pour atténuer les bruits de fond constants tels que le sifflement de bande, les ventilateurs électriques ou les bourdonnements.
Equalizer L’effet d’égalisation est utilisé pour modifier la réponse en fréquence d’un système audio à l’aide de filtres linéaires. Cela permet de renforcer différentes parties du signal, similaire à un réglage des aigus ou des basses.
Égaliseur de volume L’effet d’égalisation du volume réduit les différences de volume perçues en nivelant la sortie audio de sorte que les sons plus forts et plus faibles soient plus proches d’un niveau moyen de volume.
Renforcement des basses Dans les systèmes tels que les ordinateurs portables qui ont des haut-parleurs avec une capacité de basses limitée, il est parfois possible d’augmenter la qualité perçue de l’audio en renforçant la réponse des basses dans la plage de fréquences prise en charge par le haut-parleur. L’augmentation des basses améliore le son sur les appareils mobiles avec des haut-parleurs très petits en augmentant le gain dans la plage des basses moyennes.
Surround virtuel Le son surround virtuel utilise des méthodes numériques simples pour combiner un signal multicanal en deux canaux. Cela se fait de manière à permettre au signal transformé d’être restauré au signal multicanal d’origine, en utilisant les décodeurs Pro Logic disponibles dans la plupart des récepteurs audio modernes. Le son surround virtuel est idéal pour un système avec un matériel audio à deux canaux et un récepteur qui possède un mécanisme d’amélioration du son surround.
Casques virtuels Le son surround virtualisé permet aux utilisateurs portant des écouteurs de distinguer le son de l’avant vers l’arrière ainsi que de chaque côté. Cela se fait en transmettant des repères spatiaux qui aident le cerveau à localiser les sons et à les intégrer dans un champ sonore. Cela a pour effet de faire en sorte que le son semble transcender les écouteurs, créant une expérience d’écoute « hors de la tête ». Cet effet est obtenu en utilisant une technologie avancée appelée fonctions de transfert liées à la tête (HRTF). HRTF génère des repères acoustiques basés sur la forme de la tête humaine. Ces repères aident non seulement les auditeurs à localiser la direction et la source du son, mais ils améliorent également le type d’environnement acoustique qui entoure l’auditeur.
Remplissage haut-parleur La plupart de la musique est produite avec seulement deux canaux et n’est donc pas optimisée pour l’équipement audio multicanal de l’amateur typique de musique ou de vidéo. Ainsi, avoir de la musique émanant uniquement des haut-parleurs avant gauche et avant droit est une expérience audio moins qu’idéale. Le remplissage des haut-parleurs simule une configuration de haut-parleurs multicanal. Il permet à la musique qui serait autrement entendue sur seulement deux haut-parleurs d’être jouée sur tous les haut-parleurs de la pièce, améliorant ainsi la sensation spatiale.
Correction de pièce La correction de pièce optimise l’expérience d’écoute pour un emplacement particulier dans la pièce, par exemple, le coussin central de votre canapé, en calculant automatiquement la combinaison optimale de retard, de réponse en fréquence et de réglages de gain. La fonction de correction de pièce ajuste mieux le son à l’image sur l’écran vidéo et est également utile dans les cas où les haut-parleurs de bureau sont placés dans des emplacements non standard. Le traitement de correction de pièce est une amélioration par rapport aux fonctionnalités similaires dans les récepteurs haut de gamme car il tient mieux compte de la façon dont l’oreille humaine traite le son. L’étalonnage est effectué à l’aide d’un microphone et la procédure peut être utilisée avec des systèmes stéréo et multicanaux. L’utilisateur place le microphone à l’endroit où il souhaite s’asseoir, puis active un assistant qui mesure la réponse de la pièce. L’assistant joue une série de tons spécialement conçus à partir de chaque haut-parleur à son tour et mesure la distance, la réponse en fréquence et le gain global de chaque haut-parleur depuis l’emplacement du microphone.
Gestion des basses Il existe deux modes de gestion des basses : forward bass management et reverse bass management. Forward bass management filtre le contenu basse fréquence du flux de données audio. L’algorithme de gestion des basses en avant redirige la sortie filtrée vers le subwoofer ou vers les canaux des haut-parleurs avant gauche et avant droit, selon les canaux capables de gérer les basses fréquences. Cette décision est basée sur le réglage de l’indicateur LRBig. Pour définir le drapeau LRBig, l’utilisateur utilise l’applet Son dans le Panneau de configuration pour accéder à la boîte de dialogue des paramètres de gestion des basses. L’utilisateur coche une case pour indiquer, par exemple, que les haut-parleurs avant droit et avant gauche sont de gamme complète et cette action définit l’indicateur LRBig. Pour effacer ce drapeau, décochez la case. Reverse bass management distribue le signal du canal subwoofer aux autres canaux de sortie. Le signal est dirigé soit vers tous les canaux soit vers les canaux avant gauche et avant droit, selon le réglage de l’indicateur LRBig. Ce processus utilise une réduction de gain substantielle lors du mélange du signal du subwoofer dans les autres canaux. Le mode de gestion des basses utilisé dépend de la disponibilité d’un subwoofer et de la capacité de gestion des basses des haut-parleurs principaux. Dans Windows, l’utilisateur fournit cette information via l’applet Son dans le Panneau de configuration.
Effets environnementaux Les effets environnementaux augmentent la réalité de la lecture audio en simulant plus précisément les environnements audio réels. Il existe plusieurs environnements différents que vous pouvez sélectionner, par exemple « stade » simule l’acoustique d’un stade de sports.
Protection des haut-parleurs Le but de la protection des haut-parleurs est de supprimer les fréquences résonantes qui pourraient causer des dommages physiques aux composants du système PC. Par exemple, certains disques durs physiques peuvent être endommagés en jouant un son fort à la bonne fréquence. En second lieu, la protection des haut-parleurs fonctionne pour minimiser les dommages aux haut-parleurs, en atténuant le signal lorsqu’il dépasse certaines valeurs.
Compensation des haut-parleurs Certains haut-parleurs sont meilleurs pour reproduire le son que d’autres. Par exemple, un haut-parleur particulier peut atténuer les sons en dessous de 100 Hz. Parfois, les pilotes audio et les solutions DSP de firmware ont des connaissances sur les caractéristiques de performance spécifiques des haut-parleurs auxquels ils jouent, et ils peuvent ajouter un traitement conçu pour compenser les limitations des haut-parleurs. Par exemple, un effet de point d’extrémité (EFX) pourrait être créé pour appliquer un gain aux fréquences inférieures à 100 Hz. Cet effet, lorsqu’il est combiné avec l’atténuation dans le haut-parleur physique, donne une fidélité audio améliorée.
Compression de la plage dynamique La compression de la plage dynamique amplifie les sons faibles en rétrécissant ou en « compressant » la plage dynamique d’un signal audio. La compression audio amplifie les sons faibles qui sont en dessous d’un certain seuil tandis que les sons forts restent inchangés.

Les déclarations #define montrées ici sont disponibles dans le fichier d’en-tête KSMedia.h.

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)

ANNULATION DE L’ÉCHO ACOUSTIQUE

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

SUPPRESSION DU BRUIT

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

CONTRÔLE AUTOMATIQUE DU GAIN

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

FORMATION DE FAISCEAU (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)

SUPPRESSION DES BRUITS DE FOND

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

ÉGALISEUR DE VOLUME

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

RENFORCEMENT DES BASSES

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

SURROUND VIRTUEL

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

CASQUES VIRTUELS

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

CORRECTION DE PIÈCE

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

GESTION DES BASSES

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

EFFETS ENVIRONNEMENTAUX

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

PROTECTION DES HAUT-PARLEURS

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

COMPENSATION DES HAUT-PARLEURS

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

COMPRESSION DE LA PLAGE DYNAMIQUE

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

Suppression complète du bruit

À partir de Windows 11, version 24H2, un nouveau GUID est disponible pour activer la suppression complète du bruit.

Il existe deux identifiants pour les effets de suppression du bruit. Il existe un identifiant existant pour la suppression du bruit et le nouvel identifiant ajouté pour la suppression complète du bruit. Le premier est pour la suppression du bruit « faible » (simple) tandis que le second est « élevé » et est implémenté comme une solution d’IA/machine learning. Comme pour tous les effets audio disponibles, il appartient à l’application de choisir celui qu’elle souhaite utiliser, en fonction de ses besoins et des scénarios particuliers.

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

Les effets audio, tels que la suppression profonde du bruit, sont implémentés en tant qu’Objet de Traitement Audio - APO. Pour plus d’informations, veuillez consulter la section Objets de traitement audio Windows.

L’APO doit implémenter l’interface IAudioSystemEffects3 s’il veut exposer des effets dont l’état peut être activé ou désactivé dynamiquement. Pour plus d’informations, veuillez consulter la section IAudioSystemEffects3 interface (audioengineextensionapo.h).