Componentes de audio de WDM de Kernel-Mode

Los componentes de audio de Microsoft Windows Driver Model (WDM) en modo kernel son:

Controlador del sistema WDMAud

Controlador del sistema SysAudio

Controlador del sistema KMixer

Controlador del sistema de Redbook

Controlador del sistema SBEmul

Controlador del sistema SWMidi

Controlador del sistema DMusic

Controlador del sistema AEC

Controlador del sistema DRMK

Controlador del sistema divisor

Controlador del adaptador de clase de puerto y controlador del sistema PortCls

Controlador del sistema de clase de audio USB (Usbaudio.sys)

Controlador del sistema de clases AVCAudio

Controlador del sistema WDMAud

El controlador del sistema WDMAud en modo kernel (Wdmaud.sys) está emparejado con el controlador del sistema WDMAud en modo de usuario (Wdmaud.drv). El par de controladores WDMAud se traducen entre las llamadas del sistema multimedia de Microsoft Windows en modo de usuario y las solicitudes de E/S de streaming de kernel. WDMAud realiza E/S para las siguientes API: waveIn, waveOut, midiIn, midiOut, mezclador y experiencia (que se describe en la documentación de Microsoft Windows SDK). El controlador WDMAud en modo kernel es un filtro de streaming de kernel (KS) y un cliente del controlador del sistema SysAudio.

Controlador del sistema SysAudio

El controlador del sistema SysAudio (Sysaudio.sys) compila los gráficos de filtro que representan y capturan contenido de audio. El controlador SysAudio representa gráficos de filtros de audio como dispositivos de audio virtual y registra cada dispositivo de audio virtual como una instancia de una interfaz de dispositivo KSCATEGORY_AUDIO_DEVICE. (Los controladores de adaptadores no deben registrarse en esta categoría, que está reservado exclusivamente para SysAudio). Por ejemplo, un dispositivo MIDI virtual podría representar un gráfico de filtros que se crea conectando el controlador SWMidi, el controlador KMixer y un controlador port/miniport. El cliente solo se comunica con el dispositivo de audio virtual en lugar de con los dispositivos individuales que componen el dispositivo de audio virtual. Transparente para el cliente, el controlador SysAudio configura todos los filtros KS del gráfico de filtros que están conectados juntos para formar el dispositivo de audio virtual. Los siguientes orígenes de secuencias de audio usan los gráficos que compila SysAudio:

  • DirectSound (consulte Microsoft Windows SDK documentación).

  • Api multimedia de Windows waveIn, waveOut, midiIn, midiOut, mezclador y experiencia (consulte la documentación de Windows SDK).

  • Audio digital de Redbook CD (consulte Controlador del sistema redbook).

  • Emulador de Sound Blaster (consulte SBEmul System Driver).)

  • Sintetizadores de software en modo kernel (consulte SWMidi System Driver y DMusic System Driver).

  • Controlador del sistema DRMK

Controlador del sistema KMixer

El controlador del sistema KMixer (Kmixer.sys) es el filtro KS que hace lo siguiente:

  • Mezcla de varias secuencias de audio PCM

  • Conversión de formato de alta calidad

  • Conversión de profundidad de bits

  • Configuración del altavoz y asignación de canales

Además de los formatos de datos simples de 8 y 16 bits, mono y estéreo, el controlador KMixer admite:

  • Datos de punto flotante PCM y IEEE

  • Profundidades de bits mayores que 16 bits y formatos multicanal con más de dos canales

  • Función de transferencia relacionada con la cabeza (HRTF) procesamiento 3D

Para obtener información sobre los intervalos de volúmenes y los niveles de volumen predeterminados en las distintas versiones de Windows, vea Configuración predeterminada del volumen de audio.

Controlador del sistema de Redbook

El controlador del sistema redbook (Redbook.sys) es el filtro KS que administra la representación del audio digital de CD. El controlador Redbook es un cliente del controlador del sistema SysAudio. El sistema enruta el audio digital de CD a través del sistema de archivos al controlador Redbook y, a continuación, al controlador SysAudio. El audio digital de CD se representa en el dispositivo de salida de onda preferido (como se establece en las páginas de propiedades Multimedia de Panel de control).

Controlador del sistema SBEmul

El controlador del sistema SBEmul (Sbemul.sys) proporciona emulación Sound Blaster para aplicaciones MS-DOS. El controlador SBEmul es un cliente del controlador del sistema SysAudio. Para representar y capturar contenido, el controlador SysAudio usa los dispositivos midi y wave preferidos (como se establece en las páginas de propiedades Multimedia de Panel de control).

La emulación sound Blaster solo se admite en Windows 98/Me.

Controlador del sistema SWMidi

El controlador del sistema SWMidi (Swmidi.sys) es el filtro KS que proporciona general MIDI (GM) emulado por software y síntesis de tabla de onda Roland GS de alta calidad. Una aplicación midiOutXxx usa SWMidi cuando un sintetizador de hardware no está disponible. El filtro SWMidi recibe como entrada una secuencia MIDI con marca de tiempo del controlador del sistema WDMAud y genera una secuencia de onda PCM al controlador del sistema KMixer. SWMidi mezcla todas sus voces internamente para formar un único flujo de salida de dos canales con un formato de onda PCM.

Controlador del sistema DMusic

El controlador del sistema DMusic (Dmusic.sys) es el filtro KS que admite la síntesis de sonido descargable (DLS) emulada por software y de alta calidad. El controlador DMusic es un miniportador de clase de puerto suministrado por el sistema. Expone un solo pin de DirectMusic, que admite un rango de datos de transmisión de DirectMusic. El filtro DMusic recibe como entrada una secuencia MIDI con marca de tiempo del componente del sistema DirectMusic y genera una secuencia de onda PCM al controlador del sistema KMixer. El controlador DMusic mezcla todas sus voces internamente para formar un único flujo de salida de dos canales con un formato de onda PCM. Una aplicación DirectMusic debe seleccionar explícitamente el sintetizador de software en modo kernel, Dmusic.sys, para usarlo en lugar de la síntesis predeterminada del modo de usuario de DirectMusic.

Controlador del sistema AEC

El controlador del sistema AEC (Aec.sys) admite aplicaciones DirectSound dúplex completas mediante la implementación de AEC (cancelación acústica de eco) y algoritmos de supresión de ruido en software. Para obtener más información, vea Efectos de captura de DirectSound.

Controlador del sistema DRMK

El controlador del sistema DRMK (Drmk.sys) es el filtro KS que descifra secuencias de audio que contienen contenido protegido con DRM. Para obtener más información, consulte Digital Rights Management.

Controlador del sistema divisor

El controlador del sistema Splitter (Splitter.sys) es el filtro KS que crea dos o más flujos de salida a partir de un único flujo de captura de entrada. El controlador Splitter copia de forma transparente el flujo de entrada en dos flujos de salida más independientemente del formato del flujo de entrada.

El controlador Splitter es compatible con Microsoft Windows XP y versiones posteriores. Para obtener más información, vea AvStream Splitters.

Controlador del adaptador de clase de puerto y controlador del sistema PortCls

Un controlador de adaptador de clase de puerto usa la arquitectura del controlador port/miniport para admitir un dispositivo de audio. El controlador PortCls incluye compatibilidad integrada con controladores para dispositivos de audio ISA y PCI. Aunque el controlador del sistema PortCls (Portcls.sys) también proporciona el marco para controladores de adaptadores de clase de puerto suministrados por el proveedor, Microsoft recomienda que los proveedores usen un controlador de adaptador de clase de puerto proporcionado por el sistema para admitir dispositivos de audio ISA y PCI. El marco PortCls también puede ser útil para construir controladores para dispositivos de audio en otros buses de hardware o para dispositivos solo de software. Para obtener más información, vea Introducción a la clase Port.

Controlador del sistema de clase de audio USB (Usbaudio.sys)

El controlador del sistema de clase USBAudio (Usbaudio.sys) proporciona compatibilidad con controladores para dispositivos de audio USB que cumplen con la definición de clase de dispositivo de bus serie universal para dispositivos de audio. Para obtener más información acerca de este controlador del sistema de clases, vea USB Audio Class System Driver (Usbaudio.sys)).

Controlador del sistema de clases AVCAudio

El controlador del sistema de clase AVCAudio (Avcaudio.sys) es un minidriver AVStream que proporciona compatibilidad con controladores para dispositivos de audio que residen en un bus IEEE 1394. El controlador AVCAudio y la compatibilidad asociada con dispositivos de audio IEEE 1394 están disponibles en Windows XP y versiones posteriores.

Para trabajar con los controladores suministrados por el sistema, los proveedores de hardware deben diseñar sus dispositivos de audio para cumplir con las secciones adecuadas de las siguientes especificaciones:

  • IEC 61883-1 e IEC 61883-6 (IEC 60958)

  • AV/C Digital Interface Command Set General Specification Ver. 3.0

  • Especificación de subunidad de audio av/C 1.0

  • Especificación de administración de conexiones y compatibilidad 1.0

  • AV/C Media Stream Format Information and Negotiation

  • Novedades a las especificaciones de subunidad de audio av/C actualmente en proceso

Estas especificaciones se describen en el sitio web de la página wiki ieee 1394 . El controlador AVCAudio admite un subconjunto de las características que se describen en estas especificaciones.

Cuando un dispositivo de audio se identifica como un dispositivo de audio compatible con IEEE 1394 durante Plug and Play enumeración de dispositivos, el sistema carga automáticamente el controlador AVCAudio para controlar el dispositivo. AVCAudio controla el dispositivo directamente, sin la ayuda de un controlador de adaptador propietario. Esto significa que un dispositivo que cumple con las especificaciones IEEE 1394 adecuadas no requiere ningún controlador de adaptador propietario.

Microsoft recomienda que los proveedores de hardware usen el controlador AVCAudio para sus dispositivos de audio IEEE 1394 en lugar de escribir controladores de adaptador propietarios.

En la ilustración siguiente se muestra la jerarquía de controladores de un dispositivo de audio IEEE 1394 en Windows XP. En Windows XP y versiones posteriores, Microsoft proporciona todos los componentes del controlador que se muestran en esta figura con el sistema operativo.

Diagrama que muestra la jerarquía de controladores para un dispositivo de audio IEEE 1394 en Windows XP.

Para obtener más información sobre los componentes del controlador de la ilustración, consulte las secciones siguientes:

Introducción a AVStream

Controladores de cliente de AV/C

IEEE 1394 Bus