PulseAudio 16.0 ya fue liberado y estas son sus novedades
Se acaba de presentar el lanzamiento del servidor de sonido PulseAudio 16.0, que actúa como intermediario entre las aplicaciones y varios subsistemas de sonido de bajo nivel, abstrayendo el trabajo con el hardware.
PulseAudio permite controlar el volumen y la mezcla de sonido a nivel de aplicaciones individuales, organizar la entrada, mezcla y salida de sonido en presencia de varios canales de entrada y salida o tarjetas de sonido, le permite cambiar el formato de la transmisión de audio sobre la marcha y el uso de complementos, hace posible redirigir de forma transparente el flujo de audio a otra máquina.
Principales novedades de PulseAudio 16.0
En esta nueva version se destaca que se agregó la capacidad de usar el códec de audio Opus para comprimir el audio enviado usando el módulo module-rtp-send (anteriormente solo se admitía PCM). Para habilitar Opus, se debe debe compilar PulseAudio con compatibilidad con GStreamer y establecer la configuración «enable_opus=true» en el módulo module-rtp-send.
Los módulos para transmitir/recibir sonido a través de túneles (túnel-sumidero y túnel-fuente) ahora tienen la capacidad de ajustar el retardo mediante el parámetro latency_msec (anteriormente, se establecía un retardo de 250 microsegundos).
Tambien se destaca que hay un nuevo algoritmo para mantener la latencia estable durante el remuestreo adaptativo en el bucle invertido del módulo y en otros lugares. Parte de eso es una nueva implementación de «time smoother». Ofrecerá estimaciones de latencia más precisas y estables en comparación con el algoritmo actual. Esto es principalmente importante cuando se requiere una relación fija entre diferentes flujos (sincronización A/V, módulo-bucle invertido, módulo-combinación-sumidero, módulo-cancelación de eco, …).
Dado que se trata de un nuevo código bastante complejo en las partes principales de procesamiento de audio, la implementación anterior se mantiene durante un tiempo para tener una copia de seguridad en caso de que aparezcan errores.
Los módulos de transmisión/recepción de audio a través de túneles brindan soporte para la reconexión automática al servidor en caso de falla de conexión. Para habilitar la reconexión, establezca la configuración reconnect_interval_ms.
El parámetro adjust_threshold_usec se agregó al módulo module-loopback para ajustar el algoritmo de administración de demoras (la demora predeterminada es de 250 microsegundos). El valor por defecto del parámetro adjust_time se ha reducido de 10 a 1 segundo, se ha añadido la posibilidad de establecer valores inferiores a un segundo (por ejemplo, 0,5). El registro de los ajustes de la velocidad de reproducción está deshabilitado de forma predeterminada y ahora se controla mediante una opción separada de log_interval.
Se agregó soporte para proporcionar aplicaciones con información sobre el nivel de batería de los dispositivos de sonido Bluetooth. El nivel de carga también se muestra entre las propiedades del dispositivo que se muestran en la salida «pactl list» (propiedad bluetooth.battery).
La capacidad de generar información en formato JSON se ha agregado a la utilidad pactl. El formato se selecciona mediante la opción ‘–format’, que puede tomar los valores texto o json.
Se agregó soporte para salida estéreo cuando se usan auriculares EPOS/Sennheiser GSP 670 y SteelSeries GameDAC, que usan dispositivos ALSA separados para estéreo y mono (anteriormente solo se admitía un dispositivo mono).
De los demás cambios que se destacan de esta nueva versión:
- Se han solucionado los problemas con la recepción de sonido de las tarjetas de sonido basadas en el chip PCM2902 de Texas Instruments.
- Se agregó compatibilidad con la tarjeta de sonido externa de 6 canales Komplete Audio 6 MK2 de Native Instruments.
- Se han resuelto los problemas de sincronización y precisión para determinar los retrasos al transmitir audio a través de los túneles y el módulo combinado-sumidero.
- Se agregaron los parámetros sink_enabled y source_enabled al módulo module-jackdbus-detect utilizado para habilitar la transmisión/recepción de audio a través de JACK para habilitar selectivamente solo la transmisión o recepción de audio a través de JACK. También se permite la recarga de módulos para usar diferentes configuraciones de JACK al mismo tiempo.
- El parámetro remix se ha agregado al módulo module-combine-sink para deshabilitar la remezcla de canales, que puede ser necesaria, por ejemplo, cuando se usan varias tarjetas de sonido para formar un solo sonido envolvente.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.