Voces de XAudio2
Hay tres tipos de objetos de voz XAudio2: voces de origen, submezcla y maestro . Las voces de origen operan en datos de audio proporcionados por el cliente. Las voces de origen y de submezcla envían su resultado a una o más voces de submezcla o de procesamiento. Las voces de submezcla y de procesamiento mezclan el audio de todas las voces que les alimentan y trabajan con el resultado. Las voces de procesamiento escriben datos de audio en un dispositivo de audio.
Acciones realizadas por todas las voces
Todas las voces realizan las siguientes acciones en orden en el audio que viaja a través de ellas.
- Ajuste general del volumen, que afecta a todos los canales de audio. Vea IXAudio2Voice::SetVolume.
- Cadena opcional especificada por el cliente de uno o varios efectos DSP, como la reverberación integrada o un efecto de usuario definido por la interfaz IXAPO . Consulta Efectos de audio XAudio2.
- Ajuste del volumen de salida por canal. Consulte IXAudio2Voice::SetChannelVolumes.
- Separe la combinación de matrices en cada una de las voces de destino o en el dispositivo de salida de audio para dominar las voces. Esta combinación cambia el número de canales en el audio, si es necesario.
Voces de origen
Use voces de origen para enviar datos de audio a la canalización de procesamiento de XAudio2. Son los puntos de entrada en el gráfico de audio XAudio2. Debe enviar datos de voz a una voz de procesamiento para que se escuche, ya sea directamente o a través de voces de submezcla intermedias.
Además de las acciones realizadas por todas las voces, las voces de origen realizan las siguientes acciones.
- Si es necesario, un descodificador se ejecuta primero para convertir los datos de origen codificados en Modulación de código pulse (PCM).
- Una conversión de frecuencia de muestreo de frecuencia variable (SRC) convierte los datos de audio de origen de la voz en la frecuencia de muestreo esperada por sus voces de destino, si es necesario, y también admite cambios de tono dinámicos.
- Se puede usar un filtro de variable de estado opcional para colorear el sonido de varias maneras. Consulte IXAudio2Voice::SetFilterParameters.
- Se puede aplicar un filtro opcional a las salidas de la voz. Consulte IXAudio2Voice::SetOutputFilterParameters.
Voces de submezcla
Una voz de submezcla se usa principalmente para mejoras de rendimiento y procesamiento de efectos. No se pueden enviar búferes de datos directamente a las voces de submezcla. No será audible a menos que la envíes a una voz de maestro. Puede usar una voz de submezcla para asegurarse de que un conjunto determinado de datos de voz se convierte en el mismo formato y para que una cadena de efectos determinada se procese en el resultado colectivo.
Además de las acciones realizadas por todas las voces, las voces de submezcla realizan las siguientes acciones.
- Una SRC de velocidad fija se ejecuta en la salida de la voz, si es necesario, para convertir el audio en la frecuencia de muestreo esperada por sus voces de destino.
- Se puede usar un filtro de variable de estado opcional para colorear el sonido de varias maneras. Consulte IXAudio2Voice::SetFilterParameters.
- Se puede aplicar un filtro opcional a las salidas de la voz. Consulte IXAudio2Voice::SetOutputFilterParameters.
Voces de maestro
Use una voz de procesamiento para representar el dispositivo de salida de audio. No se pueden enviar búferes de datos directamente a las voces de maestro, pero los datos enviados a otros tipos de voces deben ir a una voz de procesamiento para que se escuche.
Además de las acciones realizadas por todas las voces, las voces maestras realizan las siguientes acciones.
- Si crea la voz de procesamiento con un valor InputSampleRate explícito que no es compatible con el dispositivo de audio, se usa un SRC de velocidad fija para convertir a la frecuencia de muestreo más cercana compatible con el dispositivo.
- Recorte el audio de salida final, si es necesario para el dispositivo de salida.
Temas relacionados