Android 13 introduce la compatibilidad con el audio espacial a través de APIs que permiten a los desarrolladores de apps descubrir si la combinación actual de implementación del teléfono, auriculares conectados y configuración del usuario permite la reproducción de contenido de audio multicanal de forma envolvente.
Los OEM pueden proporcionar un efecto de audio espacial que admita el seguimiento de la cabeza con el nivel de rendimiento y latencia requeridos, utilizando la nueva arquitectura de canalización de audio y la integración del framework del sensor. El protocolo HID especifica cómo conectar un dispositivo de seguimiento de cabeza a través de Bluetooth y cómo hacerlo disponible como dispositivo HID a través del framework de sensores de Android. Consulta Sonido espacial y seguimiento de cabeza para obtener más requisitos y validaciones.
Los lineamientos de esta página se aplican a una solución de audio espacial que adopta las nuevas APIs de audio espacial y la arquitectura de audio con un teléfono Android que ejecuta Android 13 y versiones posteriores, y auriculares compatibles con sensor de monitoreo de cabeza.
Lineamientos para la implementación de modos de audio espacial dinámicos y estáticos
El audio espacial estático no requiere monitoreo de cabeza, por lo que no se necesita una funcionalidad específica en los auriculares. Todos los auriculares con cable y los inalámbricos admiten el audio espacial estático.
Implementación de la API
Los OEM DEBEN implementar la clase Spatializer
que se introdujo en Android 12. La implementación debe superar las pruebas de CTS introducidas para la clase Spatializer
.
Una implementación sólida de la API garantiza que los desarrolladores de apps, en particular los servicios de transmisión de contenido multimedia, puedan confiar en un comportamiento coherente en todo el ecosistema y elegir el mejor contenido según las capacidades del dispositivo, el contexto de renderización actual y las elecciones del usuario.
Interfaz de usuario
Después de implementar la clase Spatializer
, valida que tu IU tenga el siguiente comportamiento:
Cuando se vinculan los auriculares compatibles con audio espacial, la configuración del dispositivo Bluetooth para estos auriculares muestra un botón de activación de Audio espacial:
Figura 1: Parámetro de configuración de audio espacial.
Los parámetros de configuración están disponibles cuando los auriculares están desconectados.
El estado predeterminado del audio espacial después de vincular los auriculares por primera vez se establece en habilitado.
El estado seleccionado por el usuario, ya sea habilitado o inhabilitado, persiste después de reiniciar el teléfono o de desvincular y vincular los auriculares.
Comportamiento funcional
Formatos de audio
El efecto de espacialización DEBE renderizar los siguientes formatos de audio cuando el audio espacial esté habilitado y el dispositivo de renderización sea un headset con cable o Bluetooth:
- AAC, 5.1 canales
- PCM sin procesar, 5.1 canales
Para mejorar la experiencia del usuario, te recomendamos que admitas los siguientes formatos o configuraciones de canales:
- Dolby Digital Plus
- Canales 5.1.2, 7.1, 7.1.2 y 7.1.4
Reproducción de contenido estéreo
El contenido estéreo no se debe renderizar a través del motor de efectos del espacializador, incluso si el audio espacial está habilitado. Si una implementación permite la espacialización de contenido estéreo, debe presentar una IU personalizada que le permita al usuario activar o desactivar esta función con facilidad. Cuando el audio espacial está habilitado, debe ser posible realizar la transición entre la reproducción de contenido multicanal espacializado y contenido estéreo no espacializado sin necesidad de cambiar la configuración del usuario, ni volver a conectar o configurar los auriculares. La transición entre el contenido de audio espacial y el contenido estéreo debe producirse con una interrupción de audio mínima.
Transiciones de casos de uso y simultaneidad
Controla los casos de uso especiales de la siguiente manera:
- Las notificaciones deben mezclarse con el contenido de audio espacial de la misma manera que lo hacen con el contenido de audio no espacial.
- Los tonos deben poder mezclarse con el contenido de audio espacial. Sin embargo, de forma predeterminada, el mecanismo de foco de audio pausa el contenido de audio espacial cuando suena el tono de llamada.
- Cuando se conteste o realice una llamada telefónica o una videoconferencia, se debe pausar la reproducción de audio espacial. La reproducción de audio espacial debe reanudarse con la misma configuración de audio espacial cuando finalice la llamada. La reconfiguración de una ruta de audio para cambiar del modo de audio espacial al modo de conversación debe ocurrir de forma rápida y sin problemas para que no afecte la experiencia de llamada.
Renderización en las bocinas
No se requiere compatibilidad con la espacialización de audio a través de bocinas ni con el modo transaural.
Lineamientos para la implementación del monitoreo de cabeza
En esta sección, se explica el audio espacial dinámico, que tiene requisitos específicos de auriculares.
Interfaz de usuario
Después de implementar y vincular los auriculares compatibles con audio espacial, valida que tu IU tenga el siguiente comportamiento:
En la configuración del dispositivo Bluetooth, cuando se habilita el parámetro de configuración Audio espacial para los auriculares, aparece el parámetro de configuración Seguimiento de cabeza en Audio espacial:
Figura 2: Ajuste de audio espacial y monitoreo de cabeza.
El parámetro de configuración de seguimiento de cabeza NO está visible cuando el audio espacial está inhabilitado.
El estado predeterminado del seguimiento de la cabeza después de vincular el visor por primera vez se establece en habilitado.
El estado seleccionado por el usuario, ya sea habilitado o inhabilitado, debe persistir después de reiniciar el teléfono o de desvincular y vincular los auriculares.
Comportamiento funcional
Informes de la postura de la cabeza
- La información de la postura de la cabeza, en coordenadas X, Y y Z, que se envía desde el visor al dispositivo Android debe reflejar los movimientos de la cabeza del usuario de forma rápida y precisa.
- El informe de la posición de la cabeza a través de la conexión Bluetooth debe seguir el protocolo definido en HID.
- Los auriculares deben enviar la información de seguimiento de la cabeza al teléfono Android solo cuando el usuario habilite el seguimiento de la cabeza en la IU de configuración del dispositivo Bluetooth.
Rendimiento
Latencia
La latencia del seguimiento de la cabeza se define como el tiempo que transcurre desde que la unidad de medición inercial (IMU) capta el movimiento de la cabeza hasta que los transductores de los auriculares detectan el cambio en el sonido causado por este movimiento. La latencia del seguimiento de cabeza no debe superar los 150 ms.
Tasa de informes de la postura de la cabeza
Cuando el seguimiento de cabeza está activo, el visor debe informar la postura de la cabeza de forma periódica recomendada de aproximadamente 20 ms. Para evitar activar la lógica de detección de entrada obsoleta en el teléfono durante una fluctuación de transmisión del Bluetooth, el tiempo máximo entre dos actualizaciones no debe exceder los 40 ms.
Optimización de energía
Para optimizar la energía, recomendamos que la implementación use los mecanismos de cambio de códec de Bluetooth y selección del modo de latencia que proporcionan las interfaces de HAL de audio y HAL de audio Bluetooth.
Las implementaciones del AOSP del framework de audio y la pila de Bluetooth ya admiten los indicadores para controlar el cambio de códec. Si la implementación del OEM usa el HAL de audio principal para el audio Bluetooth, conocido como modo de descarga de códec, el OEM debe asegurarse de que el HAL de audio retransmita esos indicadores entre el HAL de audio y la pila de Bluetooth.
Cambio de códec
Cuando el audio espacial dinámico y el monitoreo de cabeza están activados, usa un códec de latencia baja, como Opus. Cuando reproduzcas contenido de audio no espacial, usa un códec de bajo consumo, como Advanced Audio Coding (AAC).
Sigue estas reglas durante el cambio de códec:
- Solo se hace un seguimiento de la actividad en los siguientes flujos de salida de HAL de audio:
- Salida de espacializador dedicada
- Flujos específicos de contenido multimedia, como la reproducción de descarga comprimida o el búfer profundo
Cuando todas las transmisiones pertinentes estén inactivas y se inicie la transmisión del espacializador, inicia la transmisión de Bluetooth con
isLowLatency
configurado comotrue
para especificar un códec de baja latencia.Cuando todas las transmisiones pertinentes estén inactivas y se inicie una transmisión de medios, inicia la transmisión de Bluetooth con
isLowLatency
establecido enfalse
para especificar un códec de bajo consumo.Si hay una transmisión de medios activa y se inicia la transmisión del espacializador, reinicia la transmisión de Bluetooth con
isLowLatency
configurado comotrue
.
En el caso de los auriculares, estos deben admitir los decodificadores de baja latencia y bajo consumo, y deben implementar el protocolo estándar de selección de códecs.
Ajuste del modo de latencia
El ajuste del modo de latencia se produce cuando se selecciona el códec de baja latencia.
Según si el seguimiento de la cabeza está activado o desactivado, el ajuste del modo de latencia usa los mecanismos disponibles para reducir o aumentar la latencia y alcanzar el mejor equilibrio entre latencia, potencia y calidad de audio. Cuando se habilitan el audio espacial y el seguimiento de la cabeza, se elige el modo de latencia baja. Cuando el audio espacial está habilitado y el seguimiento de cabeza está inhabilitado, se selecciona el modo de latencia libre. El ajuste de latencia proporciona un ahorro de energía significativo y una mayor solidez de la vinculación de audio Bluetooth cuando solo se solicita audio espacial estático. El mecanismo de ajuste de latencia más común es la reducción o extensión del tamaño del búfer de fluctuación en los auriculares Bluetooth.
Consulta Monitoreo de cabeza a través de LE Audio para obtener información sobre los ajustes del modo de latencia para LE Audio.