Compartir a través de


Gráfico de audio XAudio2

El conjunto de todas las voces, con sus efectos contenidos y sus interconexiones, se conoce como gráfico de procesamiento de audio. El gráfico toma un conjunto de secuencias de audio del cliente como entrada, los procesa y entrega el resultado final a un dispositivo de audio. Todo el procesamiento de audio tiene lugar en un subproceso independiente con una periodicidad definida por el cuántico del grafo (actualmente 10 milisegundos en Microsoft Windows y 5 1/3 milisegundos en Xbox 360). Cada milisegundos cuánticos, el subproceso se reactiva y dispersa milisegundos cuánticos de datos de audio a través de todo el gráfico. Para obtener un ejemplo de creación de un grafo de audio básico, vea How to: Build a Basic Audio Processing Graph.

Un gráfico de audio simple:

un gráfico de audio simple

El cliente puede controlar el estado del grafo dinámicamente mientras se ejecuta. Las acciones de control pueden incluir agregar y quitar entradas y salidas, cambiar los efectos internos e interconexiones, establecer parámetros en los efectos, habilitar y deshabilitar partes del gráfico, etc. Para obtener un ejemplo de cambio dinámico de un gráfico de audio, vea How to: Dynamically Add or Remove Voices From an Audio Graph.

Procesamiento del grafo

Cualquier llamada de método que afecte a cualquier objeto del grafo se considera que está afectando a un cambio de estado de grafo. Los cambios de estado del grafo incluyen lo siguiente:

  • Creación y destrucción de voces
  • Iniciar o detener voces
  • Cambiar los destinos de una voz
  • Modificar cadenas de efectos
  • Habilitación o deshabilitación de efectos
  • Establecimiento de parámetros en los efectos o en los SRC integrados, filtros, volúmenes y mezcladores

Cualquier conjunto de cambios de estado de grafo se puede combinar y realizar como una transacción atómica. Estas operaciones atómicas se conocen como conjuntos de operaciones. Se describen en la introducción conjuntos de operaciones XAudio2.

Representación interna de datos

Los datos de audio del grafo XAudio2 siempre se almacenan y procesan en formato PCM de punto flotante de 32 bits. Sin embargo, el recuento de canales y la frecuencia de muestreo pueden variar dentro del gráfico. El formato en el que una voz determinada procesa el audio viene determinado por el tipo de voz y los parámetros usados para crear la voz.

Tipo de voz Parámetros
IXAudio2SourceVoice Recuento de canales y frecuencia de muestreo de las voces a las que la voz de origen envía audio.
IXAudio2SubmixVoice y IXAudio2MasteringVoice Los argumentos InputChannels y InputSampleRate usados para crear la voz de submezcla o mastering.

 

Conversión de formato

XAudio2 controla las conversiones de canal o frecuencia de muestreo que se requieren a medida que el audio viaja de una voz a otra, con las siguientes limitaciones:

  • Todas las voces de destino de una voz determinada deben ejecutarse con la misma frecuencia de muestreo.
  • Los efectos en una cadena de efectos pueden cambiar el recuento de canales del audio, pero no su frecuencia de muestreo
  • El recuento de canales de salida de una cadena de efectos debe coincidir con el de las voces a las que envía.
  • No se puede realizar ningún cambio dinámico del grafo, lo que interrumpiría las reglas anteriores.

En el lado de entrada, las voces de origen pueden leer datos en cualquier formato PCM válido o en cualquiera de los formatos comprimidos compatibles con XAudio2. Si los datos de entrada se comprimen, se descodifican en PCM de punto flotante antes de que se realice cualquier procesamiento adicional.

En el lado de salida, la creación de voces de maestro solo puede generar datos pcM. Estos datos siempre cumplirán las mismas restricciones descritas anteriormente para los datos de PCM de entrada.

de gráficos de audio de

guía de programación XAudio2

Cómo: Crear un grafo de procesamiento de audio básico

Cómo: Agregar o quitar voces dinámicamente de un gráfico de audio

Cómo: Usar voces de submezcla

Cómo: Crear una cadena de efectos