Kernel-Mode composants audio WDM
Les composants audio du modèle de pilote Microsoft Windows (WDM) en mode noyau sont les suivants :
WDMAud System Driver
Pilote système SysAudio
Pilote système KMixer
Pilote système Redbook
Pilote système SBEmul
SWMidi System Driver
Pilote système DMusic
Pilote système AEC
Pilote système DRMK
Pilote système Splitter
Pilote d’adaptateur de classe de port et pilote système PortCls
Pilote système de classe audio USB (Usbaudio.sys)
Pilote système de classe AVCAudio
WDMAud System Driver
Le pilote système WDMAud en mode noyau (Wdmaud.sys) est associé au pilote système WDMAud en mode utilisateur (Wdmaud.drv). La paire de pilotes WDMAud se traduit entre les appels du système multimédia Microsoft Windows en mode utilisateur et les demandes d’E/S de streaming de noyau. WDMAud effectue des E/S pour les API suivantes : waveIn, waveOut, midiIn, midiOut, mixer et aux (décrits dans la documentation Microsoft Windows SDK). Le pilote WDMAud en mode noyau est un filtre de diffusion en continu du noyau (KS) et un client du pilote système SysAudio.
Pilote système SysAudio
Le pilote système SysAudio (Sysaudio.sys) génère les graphiques de filtre qui restituent et capturent le contenu audio. Le pilote SysAudio représente des graphiques de filtre audio en tant que périphériques audio virtuels et inscrit chaque périphérique audio virtuel en tant que instance d’une interface de périphérique KSCATEGORY_AUDIO_DEVICE. (Les pilotes d’adaptateur ne doivent pas s’inscrire dans cette catégorie, qui est réservée exclusivement à SysAudio.) Par exemple, un périphérique MIDI virtuel peut représenter un graphique de filtre créé en connectant le pilote SWMidi, le pilote KMixer et un pilote de port/miniport. Le client communique uniquement avec l’appareil audio virtuel plutôt qu’avec les appareils individuels qui composent l’appareil audio virtuel. Transparent pour le client, le pilote SysAudio configure tous les filtres KS dans le graphique de filtre qui sont connectés ensemble pour former le périphérique audio virtuel. Les sources de flux audio suivantes utilisent les graphiques générés par SysAudio :
DirectSound (voir la documentation Microsoft Windows SDK.)
API multimédia Windows waveIn, waveOut, midiIn, midiOut, mixer et aux (voir la documentation du KIT DE DÉVELOPPEMENT LOGICIEL Windows.)
Audio numérique CD Redbook (voir Redbook System Driver.)
Émulateur Sound Blaster (voir Pilote système SBEmul.)
Synthétiseurs logiciels en mode noyau (voir SWMidi System Driver et DMusic System Driver.)
Pilote système DRMK
Pilote système KMixer
Le pilote système KMixer (Kmixer.sys) est le filtre KS qui effectue les opérations suivantes :
Mélange de plusieurs flux audio PCM
Conversion de format de haute qualité
Conversion de profondeur de bits
Configuration de l’orateur et mappage de canal
En plus des formats de données simples 8 et 16 bits, mono et stéréo, le pilote KMixer prend en charge :
Données à virgule flottante PCM et IEEE
Profondeurs de bits supérieures à 16 bits et formats multicanaux avec plus de deux canaux
Traitement 3D de la fonction de transfert liée à la tête (HRTF)
Pour plus d’informations sur les plages de volumes et les niveaux de volume par défaut dans les différentes versions de Windows, consultez Paramètres de volume audio par défaut.
Pilote système Redbook
Le pilote système Redbook (Redbook.sys) est le filtre KS qui gère le rendu de l’audio numérique CD. Le pilote Redbook est un client du pilote système SysAudio. Le système achemine l’audio numérique CD via le système de fichiers vers le pilote Redbook, puis vers le pilote SysAudio. L’audio numérique CD est rendu sur le périphérique de sortie d’onde préféré (comme défini dans les pages de propriétés Multimédia dans Panneau de configuration).
Pilote système SBEmul
Le pilote système SBEmul (Sbemul.sys) fournit l’émulation Sound Blaster pour les applications MS-DOS. Le pilote SBEmul est un client du pilote système SysAudio. Pour afficher et capturer du contenu, le pilote SysAudio utilise les périphériques d’onde et MIDI préférés (comme défini dans les pages de propriétés Multimédia dans Panneau de configuration).
L’émulation sound Blaster est prise en charge uniquement dans Windows 98/Me.
SWMidi System Driver
Le pilote système SWMidi (Swmidi.sys) est le filtre KS qui fournit une synthèse ondulée midi général (GM) émulée par logiciel et une synthèse ondulation Roland GS de haute qualité. Une application midiOutXxx utilise SWMidi lorsqu’un synthétiseur matériel n’est pas disponible. Le filtre SWMidi reçoit en entrée un flux MIDI horodaté du pilote système WDMAud et génère un flux d’onde PCM vers le pilote système KMixer. SWMidi mélange toutes ses voix en interne pour former un seul flux de sortie à deux canaux avec un format d’onde PCM.
Pilote système DMusic
Le pilote système DMusic (Dmusic.sys) est le filtre KS qui prend en charge la synthèse audio (DLS) émulée par logiciel, de haute qualité et téléchargeable. Le pilote DMusic est un pilote miniport de classe de port fourni par le système. Il expose une seule broche DirectMusic, qui prend en charge une plage de données de flux DirectMusic. Le filtre DMusic reçoit en entrée un flux MIDI horodaté du composant système DirectMusic et génère un flux d’onde PCM au pilote système KMixer. Le pilote DMusic mélange toutes ses voix en interne pour former un flux de sortie à deux canaux unique avec un format d’onde PCM. Une application DirectMusic doit sélectionner explicitement le synthé logiciel en mode noyau, Dmusic.sys, pour l’utiliser à la place du synthé en mode utilisateur par défaut de DirectMusic.
Pilote système AEC
Le pilote système AEC (Aec.sys) prend en charge les applications DirectSound en duplex intégral en implémentant des algorithmes AEC (annulation d’écho acoustique) et de suppression du bruit dans les logiciels. Pour plus d’informations, consultez Effets de capture DirectSound.
Pilote système DRMK
Le pilote système DRMK (Drmk.sys) est le filtre KS qui déchiffre les flux audio contenant du contenu protégé par DRM. Pour plus d’informations, consultez Digital Rights Management.
Pilote système Splitter
Le pilote système Splitter (Splitter.sys) est le filtre KS qui crée au moins deux flux de sortie à partir d’un seul flux de capture d’entrée. Le pilote Splitter copie en toute transparence le flux d’entrée dans deux flux de sortie supplémentaires, indépendamment du format du flux d’entrée.
Le pilote Splitter est pris en charge par Microsoft Windows XP et versions ultérieures. Pour plus d’informations, consultez Fractionnements AVStream.
Pilote d’adaptateur de classe de port et pilote système PortCls
Un pilote d’adaptateur de classe de port utilise l’architecture du pilote port/miniport pour prendre en charge un périphérique audio. Le pilote PortCls inclut la prise en charge intégrée des pilotes pour les périphériques audio ISA et PCI. Bien que le pilote système PortCls (Portcls.sys) fournisse également l’infrastructure pour les pilotes d’adaptateurs de classe de port fournis par le fournisseur, Microsoft recommande aux fournisseurs d’utiliser un pilote d’adaptateur de classe de port fourni par le système pour prendre en charge les périphériques audio ISA et PCI. L’infrastructure PortCls peut également être utile pour construire des pilotes pour des périphériques audio sur d’autres bus matériels ou pour des appareils logiciels uniquement. Pour plus d’informations, consultez Présentation de la classe de port.
Pilote système de classe audio USB (Usbaudio.sys)
Le pilote système de classe USBAudio (Usbaudio.sys) prend en charge les pilotes pour les périphériques Audio USB qui sont conformes à la définition de classe de périphérique de bus série universel pour les périphériques audio. Pour plus d’informations sur ce pilote de système de classe, consultez Usb Audio Class System Driver (Usbaudio.sys).
Pilote système de classe AVCAudio
Le pilote système de classe AVCAudio (Avcaudio.sys) est un minidriver AVStream qui fournit la prise en charge des pilotes pour les périphériques audio qui résident sur un bus IEEE 1394. Le pilote AVCAudio et la prise en charge associée des périphériques audio IEEE 1394 sont disponibles dans Windows XP et versions ultérieures.
Pour utiliser les pilotes fournis par le système, les fournisseurs de matériel doivent concevoir leurs périphériques audio pour qu’ils soient conformes aux sections appropriées des spécifications suivantes :
IEC 61883-1 et IEC 61883-6 (IEC 60958)
AV/C Digital Interface Command Set General Specification Ver. 3.0
Spécification de sous-unité audio AV/C 1.0
Spécification de gestion des connexions et de la compatibilité 1.0
Informations et négociation du format de flux multimédia AV/C
Mises à jour aux spécifications de la sous-unité audio AV/C en cours de traitement
Ces spécifications sont décrites sur le site web de la page Wiki IEEE 1394 . Le pilote AVCAudio prend en charge un sous-ensemble des fonctionnalités décrites dans ces spécifications.
Lorsqu’un périphérique audio s’identifie comme un périphérique audio conforme à IEEE 1394 pendant Plug-and-Play énumération d’appareil, le système charge automatiquement le pilote AVCAudio pour le conduire. AVCAudio pilote l’appareil directement, sans l’aide d’un pilote d’adaptateur propriétaire. Cela signifie qu’un appareil conforme aux spécifications IEEE 1394 appropriées ne nécessite aucun pilote d’adaptateur propriétaire.
Microsoft recommande aux fournisseurs de matériel d’utiliser le pilote AVCAudio pour leurs périphériques audio IEEE 1394 au lieu d’écrire des pilotes d’adaptateur propriétaires.
La figure suivante montre la hiérarchie des pilotes pour un périphérique audio IEEE 1394 dans Windows XP. Dans Windows XP et versions ultérieures, tous les composants de pilote indiqués dans cette figure sont fournis par Microsoft avec le système d’exploitation.
Pour plus d’informations sur les composants du pilote dans la figure, consultez les sections suivantes :