Kernel-Mode componenti audio WDM
I componenti audio WDM (Kernel-Mode Microsoft Windows Driver Model) sono:
Driver di sistema WDMAud
Driver di sistema SysAudio
Driver di sistema KMixer
Driver di sistema Redbook
Driver di sistema SBEmul
Driver di sistema SWMidi
Driver di sistema DMusic
Driver di sistema AEC
Driver di sistema DRMK
Driver di sistema splitter
Driver dell'adapter di classe porta e driver di sistema PortCls
Driver di sistema di classe audio USB (Usbaudio.sys)
Driver di sistema della classe AVCAudio
Driver di sistema WDMAud
Il driver di sistema WDMAud in modalità kernel (Wdmaud.sys) è associato al driver di sistema WDMAud in modalità utente (Wdmaud.drv). La coppia di driver WDMAud si traduce tra le chiamate al sistema multimediale Microsoft Windows in modalità utente e le richieste di I/O in streaming del kernel. WDMAud esegue I/O per le API seguenti: waveIn, waveOut, midiIn, midiOut, mixer e aux (descritto nella documentazione di Microsoft Windows SDK). Il driver WDMAud in modalità kernel è un filtro di streaming del kernel (KS) e un client del driver di sistema SysAudio.
Driver di sistema SysAudio
Il driver di sistema SysAudio (Sysaudio.sys) compila i grafici di filtro che eseguono il rendering e l'acquisizione di contenuto audio. Il driver SysAudio rappresenta i grafici del filtro audio come dispositivi audio virtuali e registra ogni dispositivo audio virtuale come istanza di un'interfaccia del dispositivo KSCATEGORY_AUDIO_DEVICE. I driver degli adattatori non devono registrarsi in questa categoria, che è riservato esclusivamente per SysAudio. Ad esempio, un dispositivo MIDI virtuale potrebbe rappresentare un grafico di filtro creato collegando il driver SWMidi, il driver KMixer e un driver porta/miniport. Il client comunica solo con il dispositivo audio virtuale anziché con i singoli dispositivi che costituiscono il dispositivo audio virtuale. Trasparente per il client, il driver SysAudio configura tutti i filtri KS nel grafico dei filtri connessi insieme per formare il dispositivo audio virtuale. Le origini di flusso audio seguenti usano i grafici compilati da SysAudio:
DirectSound (vedere la documentazione di Microsoft Windows SDK).
API multimediali windows waveIn, waveOut, midiIn, midiOut, mixer e aux (vedere la documentazione di Windows SDK).
Redbook CD digital audio (vedere Redbook System Driver).
Emulatore Sound Blaster (vedere SBEmul System Driver).)
Sintetizzatori software in modalità kernel (vedere DRIVER di sistema SWMidi e Driver di sistema DMusic).
Driver di sistema DRMK
Driver di sistema KMixer
Il driver di sistema KMixer (Kmixer.sys) è il filtro KS che esegue le operazioni seguenti:
Combinazione di più flussi audio PCM
Conversione di formato di alta qualità
Conversione della profondità di bit
Configurazione voce e mapping del canale
Oltre ai semplici formati di dati mono e stereo a 8 e 16 bit, il driver KMixer supporta:
Dati a virgola mobile PCM e IEEE
Profondità di bit maggiori di 16 bit e formati multicanale con più di due canali
Elaborazione 3D (Head-Related Transfer Function) (HRTF) 3D
Per informazioni sugli intervalli di volumi e sui livelli di volume predefiniti nelle varie versioni di Windows, vedere Impostazioni predefinite del volume audio.
Driver di sistema Redbook
Il driver di sistema Redbook (Redbook.sys) è il filtro KS che gestisce il rendering dell'audio digitale CD. Il driver Redbook è un client del driver di sistema SysAudio. Il sistema indirizza l'audio digitale cd attraverso il file system al driver Redbook e quindi al driver SysAudio. Il rendering dell'audio digitale cd viene eseguito sul dispositivo di output dell'onda preferito (come impostato nelle pagine delle proprietà Multimedia in Pannello di controllo).
Driver di sistema SBEmul
Il driver di sistema SBEmul (Sbemul.sys) fornisce l'emulazione Sound Blaster per le applicazioni MS-DOS. Il driver SBEmul è un client del driver di sistema SysAudio. Per eseguire il rendering e l'acquisizione del contenuto, il driver SysAudio utilizza i dispositivi MIDI e wave preferiti,come impostato nelle pagine delle proprietà Multimedia in Pannello di controllo.
L'emulazione sound Blaster è supportata solo in Windows 98/Me.
Driver di sistema SWMidi
Il driver di sistema SWMidi (Swmidi.sys) è il filtro KS che fornisce software emulato General MIDI (GM) e la sintesi wavetable Roland GS di alta qualità. Un'applicazione midiOutXxx usa SWMidi quando un sintetizzatore hardware non è disponibile. Il filtro SWMidi riceve come input un flusso MIDI con timestamp dal driver di sistema WDMAud e restituisce un flusso d'onda PCM al driver di sistema KMixer. SWMidi combina tutte le voci internamente per formare un singolo flusso di output a due canali con un formato di onda PCM.
Driver di sistema DMusic
Il driver di sistema DMusic (Dmusic.sys) è il filtro KS che supporta la sintesi del suono scaricabile (DLS) emulata dal software. Il driver DMusic è un driver miniport di classe porta fornito dal sistema. Espone un singolo pin DirectMusic, che supporta un intervallo di dati di flusso DirectMusic. Il filtro DMusic riceve come input un flusso MIDI con timestamp dal componente di sistema DirectMusic e restituisce un flusso d'onda PCM al driver di sistema KMixer. Il driver DMusic combina tutte le voci internamente per formare un singolo flusso di output a due canali con un formato di onda PCM. Un'applicazione DirectMusic deve selezionare in modo esplicito il synth software in modalità kernel, Dmusic.sys, per usarlo al posto del synth in modalità utente predefinito di DirectMusic.
Driver di sistema AEC
Il driver di sistema AEC (Aec.sys) supporta le applicazioni DirectSound full duplex implementando gli algoritmi AEC (acoustic echo cancellation) e di eliminazione del rumore nel software. Per altre informazioni, vedere Effetti di acquisizione DirectSound.
Driver di sistema DRMK
Il driver di sistema DRMK (Drmk.sys) è il filtro KS che decrittografa i flussi audio contenenti contenuto protetto da DRM. Per altre informazioni, vedere Digital Rights Management.
Driver di sistema splitter
Il driver di sistema Splitter (Splitter.sys) è il filtro KS che crea due o più flussi di output da un singolo flusso di acquisizione di input. Il driver Splitter copia in modo trasparente il flusso di input in due flussi di output in modo indipendente dal formato del flusso di input.
Il driver Splitter è supportato da Microsoft Windows XP e versioni successive. Per altre informazioni, vedere Splitter AVStream.
Driver dell'adapter di classe porta e driver di sistema PortCls
Un driver dell'adattatore di classe di porta usa l'architettura del driver porta/miniport per supportare un dispositivo audio. Il driver PortCls include il supporto predefinito dei driver per i dispositivi audio ISA e PCI. Anche se il driver di sistema PortCls (Portcls.sys) fornisce anche il framework per i driver della classe di porta forniti dal fornitore, Microsoft consiglia ai fornitori di usare un driver della classe di porte fornito dal sistema per supportare dispositivi audio ISA e PCI. Il framework PortCls può essere utile anche per costruire driver per dispositivi audio in altri autobus hardware o per dispositivi solo software. Per altre informazioni, vedere Introduzione alla classe porta.
Driver di sistema della classe audio USB (Usbaudio.sys)
Il driver di sistema di classe USBAudio (Usbaudio.sys) fornisce il supporto driver per i dispositivi AUDIO USB conformi alla definizione della classe del bus seriale universale per dispositivi audio. Per altre informazioni su questo driver di sistema di classe, vedere Driver di sistema di classe AUDIO USB (Usbaudio.sys).
Driver di sistema della classe AVCAudio
Il driver di sistema di classe AVCAudio (Avcaudio.sys) è un minidriver AVStream che fornisce il supporto driver per i dispositivi audio che risiedono su un bus IEEE 1394. Il driver AVCAudio e il supporto associato per i dispositivi audio IEEE 1394 sono disponibili in Windows XP e versioni successive.
Per usare i driver forniti dal sistema, i fornitori di hardware devono progettare i propri dispositivi audio in modo da rispettare le sezioni appropriate delle specifiche seguenti:
IEC 61883-1 e IEC 61883-6 (IEC 60958)
Comando dell'interfaccia digitale AV/C set di specifiche generali Ver. 3,0
Specifica subunit audio AV/C 1.0
Specifica di gestione connessione e compatibilità 1.0
Informazioni e negoziazione del formato di flusso multimediale AV/C
Aggiornamenti alle specifiche subunit audio AV/C attualmente in fase di elaborazione
Queste specifiche sono descritte nel sito Web della pagina Wiki IEEE 1394 . Il driver AVCAudio supporta un subset delle funzionalità descritte in queste specifiche.
Quando un dispositivo audio si identifica come dispositivo audio conforme a IEEE 1394 durante l'enumerazione del dispositivo Plug and Play, il sistema carica automaticamente il driver AVCAudio per guidare il dispositivo. AVCAudio esegue direttamente il dispositivo, senza l'aiuto di un driver di adattatore proprietario. Ciò significa che un dispositivo conforme alle specifiche IEEE 1394 appropriate non richiede alcun driver di adattatore proprietario.
Microsoft consiglia ai fornitori di hardware di usare il driver AVCAudio per i dispositivi audio IEEE 1394 anziché scrivere driver di adattatori proprietari.
Nella figura seguente viene illustrata la gerarchia dei driver per un dispositivo audio IEEE 1394 in Windows XP. In Windows XP e versioni successive tutti i componenti del driver illustrati in questa figura vengono forniti da Microsoft con il sistema operativo.
Per altre informazioni sui componenti del driver nella figura, vedere le sezioni seguenti: