Partager via


Modes de traitement de signal audio

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

Modes de traitement des signaux 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 de signal audio. Les oem et les IHD peuvent déterminer les modes qu’ils souhaitent implémenter. Il est recommandé que les IHVS/OEM utilisent les nouveaux modes pour ajouter des effets audio qui optimisent le signal audio pour offrir la meilleure expérience utilisateur. Les modes sont résumés dans le tableau ci-dessous.

mode de fonctionnement Rendu/Capture Descriptif
Cru Les deux Le mode brut spécifie qu’il ne doit y avoir aucun traitement de signal appliqué au flux. Une application peut demander un flux brut qui n’est pas entièrement touché et effectuer son propre traitement de signal.
Par défaut Les deux Ce mode définit le traitement audio par défaut.
Films* Rendu Lecture audio de film
Média* Les deux Lecture audio de musique (par défaut pour la plupart des flux multimédias)
Discours* Capturer Capture vocale humaine (par exemple, entrée à l’assistant personnel)
Communications* Les deux Rendu et capture VOIP (par exemple, Teams, Skype, Lync)
Notification* Rendu Sonneries, alarmes, alertes, etc.

* Nouveautés de Windows 10.

Important

Les flux de capture brutes ne doivent inclure aucun traitement variable ou adaptatif, tel que le contrôle d’écho, le contrôle de gain automatique ou la suppression du bruit. Le seul traitement audio autorisé dans la capture brute est l’égalisation linéaire pour aplatir la réponse de fréquence.

Exigences du pilote du mode de traitement du signal

Les pilotes de périphérique audio doivent prendre en charge au moins le mode Brut ou Par défaut . La prise en charge des modes supplémentaires est facultative.

Il est possible que tous les modes ne soient pas disponibles pour un système particulier. Les pilotes définissent les modes de traitement des signaux qu’ils prennent en charge (c’est-à-dire les types d’API 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 utilise le prochain mode correspondant le mieux adapté.

Le diagramme suivant montre un système qui prend 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é d’étiqueter le flux avec une catégorie de flux audio spécifique. Les applications peuvent définir la catégorie audio, à l’aide de l’une des API audio, juste après avoir créé le flux audio. Dans Windows, il existe neuf catégories de flux audio.

Catégorie Descriptif
Film Films, vidéo avec boîte de dialogue (Remplace ForegroundOnlyMedia)
Média Catégorie par défaut pour la lecture multimédia (remplace BackgroundCapableMedia)
Conversation de jeu Communication in-game entre les utilisateurs (Nouvelle catégorie dans Windows 10)
Discours Entrée vocale (par exemple, Assistant personnel) et sortie (par exemple, applications de navigation) (nouvelle catégorie dans Windows 10)
Communication VoIP, conversation en temps réel
Alertes Alarme, sonnerie, notifications
Effets sonores Bips, dings, etc.
Média de jeu Dans la musique de jeu
Effets de jeu Ballons qui rebondissent, sons de moteur de voiture, balles, etc.
Autres Flux non catégorisés

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

Les applications n’ont pas la possibilité de modifier le mappage entre une catégorie audio et un mode de traitement de signal. Les applications ne sont pas conscients du concept de « mode de traitement audio ». Ils 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 et effets de traitement des signaux

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

Pour plus d’informations sur l’association d’API aux modes, consultez Implémentation d’objets de traitement audio.

Il est possible que les applications demandent quels effets seraient appliqués à un flux spécifique pour le traitement RAW ou non RAW. Les applications peuvent également demander à être averties lorsque les effets ou le changement d’état de traitement brut sont modifiés. L’application peut utiliser ces informations pour déterminer si un effet de diffusion en continu spécifique tel que l'« annulation d’écho acoustique » est disponible ou si aucun effet n’est utilisé. Si aucun effet n'est utilisé, l'application peut déterminer la quantité de traitement audio qu'elle souhaite ajouter elle-même.

Si System.Devices.AudioDevice.RawProcessingSupported a la valeur true, les applications ont également la possibilité de définir un indicateur « use RAW » sur certains flux. Si System.Devices.AudioDevice.RawProcessingSupported a la valeur false, les applications ne peuvent pas définir l’indicateur « use 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 de l’effet audio, quelle que soit la configuration matérielle audio. Par exemple, l’étiquetage d’un flux en tant que Communications permet à Windows de suspendre la musique d’arrière-plan.

Pour plus d’informations sur les catégories de flux audio statiques, consultez l’énumération AudioCategory et la propriété MediaElement.AudioCategory.

CLSID pour les effets système

FX_DISCOVER_EFFECTS_APO_CLSID

Il s’agit du CLSID pour l'MsApoFxProxy.dll « effet proxy », 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 identificateur du streaming de noyau qui identifie que l’attribut spécifique référencé est l’attribut du mode de traitement du signal.

Les instructions #define présenté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 compatibles avec le mode avec une structure KSDATARANGE qui contient un KSATTRIBUTE_LIST. Cette liste comporte un élément unique, 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 Descriptif
Annulation de l'écho acoustique (AEC) Acoustic Echo Cancellation (AEC) améliore la qualité audio en supprimant l’écho, une fois qu’il est déjà présent dans le flux audio.
Suppression du bruit (NS) Simple Noise Suppression (NS) supprime le bruit tel que le bourdonnement et le vrombissement, quand il est présent dans le flux audio.
Suppression de bruit profond La suppression de bruit profond utilise des techniques avancées ia/machine learning pour supprimer le bruit en particulier dans les appels vocaux.
Contrôle de gain automatique (AGC) Contrôle de gain automatique (AGC) : est conçu pour fournir une amplitude de signal contrôlée à sa sortie, malgré la variation de l’amplitude dans le signal d’entrée. Le niveau moyen ou maximal du signal de sortie est utilisé pour ajuster dynamiquement le gain d’entrée à sortie à une valeur appropriée, ce qui permet un niveau stable de sortie, même avec un large éventail de niveaux de signal d’entrée.
Formation de faisceau (BF) La formation de faisceau (BF) est une technique de traitement de signal utilisée pour la transmission ou la réception du signal directionnel. Cela est réalisé en combinant des éléments dans un tableau par phases de telle sorte que les signaux à des angles particuliers subissent des interférences constructives tandis que d’autres connaissent des interférences destructrices. L’amélioration par rapport à la réception/transmission omnidirectionnelle est appelée gain de réception/transmission (ou perte).
Suppression de tonalité constante La suppression des bruits de fond constants est utilisée pour atténuer le bruit d'arrière-plan constant, comme le sifflement de bande, les ventilateurs électriques ou les bourdonnements.
Égaliseur L’effet Equalizer est utilisé pour modifier la réponse de fréquence d’un système audio à l’aide de filtres linéaires. Cela permet à différentes parties du signal d’être boostées, similaires à un paramètre de treble ou de basse.
Égaliseur de voix L'effet d'égaliseur de son réduit les différences de volume perçues en uniformisant la sortie audio afin que les sons plus forts et plus silencieux soient plus proches d'un niveau moyen de volume sonore.
Amplification des basses Dans les systèmes tels que les ordinateurs portables qui ont des haut-parleurs avec une capacité de basse limitée, il est parfois possible d’augmenter la qualité perçue de l’audio en augmentant la réponse de basse dans la plage de fréquences prise en charge par le haut-parleur. Bass boost améliore le son sur les appareils mobiles avec des haut-parleurs très petits en augmentant le gain dans la plage de basse moyenne.
Entoure virtuel Le son surround virtuel utilise des méthodes numériques simples pour combiner un signal multicanal en deux canaux. Cette opération est effectuée de manière à permettre la restauration du signal transformé sur le signal multicanal d’origine, à l’aide des décodeurs Pro Logic disponibles dans la plupart des récepteurs audio modernes. Le son surround virtuel est idéal pour un système doté d’un matériel audio à deux canaux et d’un récepteur doté d’un mécanisme d’amélioration du son surround.
Casque virtuel Le son surround virtualisé permet aux utilisateurs portant des écouteurs de distinguer le son de l'avant vers l'arrière, ainsi que d'un côté à l'autre. Cela est fait en transmettant des signaux spatiaux qui aident le cerveau à localiser les sons et à les intégrer dans un champ sonore. Cela a l’effet de faire sentir le son comme il transcende les écouteurs, créant une expérience d’écoute « en dehors de la tête ». Cet effet est obtenu à l’aide d’une technologie avancée appelée Fonctions de transfert liées à la tête (HRTF). HRTF génère des signaux acoustiques basés sur la forme de la tête humaine. Ces signaux aident non seulement les écouteurs à localiser la direction et la source du son, mais aussi à améliorer le type d’environnement acoustique qui entoure l’écouteur.
Remplissage de 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 audio ou vidéo. Ainsi, avoir la musique qui émane uniquement des haut-parleurs front-gauche et front-droit est une expérience audio moins qu'idéale. Le remplissage des haut-parleurs simule une configuration de haut-parleurs multicanaux. Il permet à la musique qui serait autrement entendue sur seulement deux haut-parleurs d'être jouée sur tous les haut-parleurs de la salle, améliorant ainsi la sensation spatiale.
Correction de salle La correction de salle optimise l’expérience d’écoute d’un emplacement particulier dans la pièce, par exemple, le coussin central de votre canapé, en calculant automatiquement la combinaison optimale de paramètres tels que le retard, la réponse de fréquence, et les ajustements de gain. La fonctionnalité de correction de salle correspond mieux au 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 acoustique est une amélioration par rapport aux fonctionnalités similaires dans les récepteurs haut de gamme, car il prend mieux en compte la manière 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 multicanal. L’utilisateur place le microphone à son emplacement prévu, puis active un assistant qui mesure la réponse de la salle. L’Assistant joue un ensemble de tonalités spécialement conçues à partir de chaque haut-parleur à son tour, et mesure la distance, la réponse de fréquence et le gain global de chaque haut-parleur à partir de l’emplacement du microphone.
Gestion des basses Il existe deux modes de gestion des basses : la gestion des basses directe et la gestion des basses inversée. La gestion des bass avant filtre le contenu à faible fréquence du flux de données audio. L’algorithme de gestion des bass avant redirige la sortie filtrée vers le subwoofer ou vers les canaux haut-parleurs front-gauche et front-droit, en fonction des canaux qui peuvent gérer les fréquences de basse profonde. Cette décision est basée sur le paramétrage du drapeau LRBig. Pour définir l’indicateur LRBig, l’utilisateur utilise l’applet sound dans le Panneau de configuration pour accéder à la boîte de dialogue Paramètres de gestion de bass. L’utilisateur sélectionne une case à cocher pour indiquer, par exemple, que les haut-parleurs front-droit et front gauche sont à portée complète et que cette action définit l’indicateur LRBig. Pour effacer cet indicateur, activez la case à cocher. La gestion des bass inverse distribue le signal du canal subwoofer aux autres canaux de sortie. Le signal est dirigé vers tous les canaux ou vers les canaux front-gauche et front-droit, en fonction du paramètre de l’indicateur LRBig. Ce processus utilise une réduction substantielle des gains lors du mélange du signal subwoofer dans les autres canaux. Le mode de gestion des bass utilisé dépend de la disponibilité d’un subwoofer et de la fonctionnalité de gestion des bass des haut-parleurs principaux. Dans Windows, l’utilisateur fournit ces informations via l’applet audio dans le Panneau de configuration.
Effets environnementaux Les effets environnementaux permettent d’augmenter la réalité de la lecture audio en simulant plus précisément des environnements audio réels. Il existe un certain nombre d’environnements différents que vous pouvez sélectionner, par exemple « stade » simule l’acoustique d’un stade sportif.
Protection de l’orateur L’objectif de la protection de l’orateur est de supprimer les fréquences résonantes qui entraîneraient des dommages physiques à l’un des composants système des PC. Par exemple, certains disques durs physiques peuvent être endommagés en jouant un son fort à la fréquence appropriée. Deuxièmement, la protection de l’orateur fonctionne pour réduire les dommages aux haut-parleurs, en atténuant le signal, lorsqu’il dépasse certaines valeurs.
Compensation de l’orateur Certains haut-parleurs sont mieux à reproduire le son que d’autres. Par exemple, un haut-parleur particulier peut atténuer les sons inférieurs à 100 Hz. Parfois, les pilotes audio et les solutions DSP du firmware ont une connaissance des caractéristiques de performance spécifiques des haut-parleurs pour lesquels ils jouent, et ils peuvent ajouter un traitement conçu pour compenser les limitations des haut-parleurs. Par exemple, un effet de point de terminaison (EFX) qui s'applique aux fréquences inférieures à 100 Hz peut être créé. Cet effet, lorsqu’il est combiné à l’atténuation dans le haut-parleur physique, entraîne une fidélité audio améliorée.
Compression de plage dynamique La compression de plage dynamique amplifie les sons silencieux en rétrécissant ou en « compressant » la plage dynamique d’un signal audio. La compression audio amplifie les sons silencieux qui sont inférieurs à un certain seuil, tandis que les sons forts restent inaffectés.

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

DÉFAUT

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

CRU

#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 D’É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 faisceaux

#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 DE TONALITÉ CONSTANTE

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

ÉGALISEUR

#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 NIVEAU SONORE

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

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

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)

CASQUE VIRTUEL

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

#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 DE L’ORATEUR

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

RÉMUNÉRATION DE L’ORATEUR

#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 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 de bruit profond

À compter de Windows 11, version 24H2, un nouveau GUID est disponible pour activer la suppression de bruit profond.

Il existe deux identificateurs pour les effets de suppression du bruit. Il existe un identificateur existant pour la suppression du bruit et le nouvel identificateur ajouté pour la suppression de bruit profond. L’ancien est destiné à la suppression du bruit faible (simple), tandis que celui-ci est « élevé » et est implémenté en tant que solution IA/Machine Learning. Comme pour tous les effets audio disponibles, il incombe à l’application de choisir celle qu’elle peut 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 de bruit profond, 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 si elle va exposer des effets dont l’état peut être activé ou désactivé dynamiquement. Pour plus d’informations, consultez l’interface IAudioSystemEffects3 (audioengineextensionapo.h).