Red de conocimiento informático - Conocimiento informático - ¿Por qué la calidad del sonido del sistema Android es mala?

¿Por qué la calidad del sonido del sistema Android es mala?

Android está basado en Linux. Primero comprendamos las características de Linux. Linux utiliza ALSA como arquitectura de audio. Su nombre completo es Advanced Linux Sound Architecture, lo que significa que después del kernel 2.6, ALSA se convierte en la subarquitectura de audio predeterminada del sistema Linux. Reemplazó al anterior OSS [Open Sound System].

ALSA no es fácil de entender. En primer lugar, es una biblioteca de controladores, que contiene una gran cantidad de controladores para dispositivos de tarjetas de sonido de código abierto y proporciona una API de capa central para comunicarse con la biblioteca ALSA. cual es la aplicación El programa accede y manipula la capa intermedia del hardware de audio. A través de la interfaz estándar de la capa intermedia, los desarrolladores pueden desarrollar sin considerar las diferencias entre el hardware, lo cual es muy útil para mejorar la eficiencia del desarrollo. ALSA es compatible con versiones anteriores de OSS, que ahora está obsoleto y no se comentan sus modos de funcionamiento compatibles.

Este sistema ha sido trasladado a Android. Antes de Android 2.2 [incluido 2.2], se podía encontrar un archivo LibAudioALSA.so en la carpeta del sistema, que era el archivo de biblioteca ALSA al que otras aplicaciones llamaban para comunicar comandos y datos con el dispositivo de tarjeta de sonido.

Esta es la primera vez que se utiliza un dispositivo de tarjeta de sonido en el sistema Android, y también es la primera vez que se utiliza un dispositivo de tarjeta de audio en el sistema Android.

En la versión de escritorio de Linux, para ser compatible con varias tarjetas de sonido, Linux también configura un enlace SRC [convertidor de frecuencia de muestreo], que obliga a SRC a convertirse a una salida de 48 kHz cuando la frecuencia de muestreo actual es inferior a 48kHz. Este enlace SRC está ubicado en la sección del mezclador del módulo enchufable ALSA.

¿Qué es un SRC (convertidor de frecuencia de muestreo)? Esto es una preocupación para los entusiastas de las tarjetas de sonido, la mayoría de los cuales consideran que SRC es un asesino de la calidad del sonido.

Android ha agregado AudioFinger, que puede entenderse simplemente como un módulo de complemento estandarizado del subsistema de audio ALSA de Android, que incluye submódulos como AudioMixer, AudioResampler y AudioResampler. AudioResampler es lo que conocemos como SRC, pero Android acaba de darle un nuevo nombre. Con respecto a SRC, Android ha realizado mejoras, pero el propósito de la mejora no es eliminar SRC, sino modificar la frecuencia de salida predeterminada. La frecuencia de muestreo objetivo de SRC de Android es 44,1 kHz, y SRC procesará las frecuencias que no sean de muestreo. Por ejemplo, si reproduces una señal con una frecuencia de muestreo de 48 kHz, la salida terminará siendo de 44,1 kHz, lo que tendrá un impacto negativo en la calidad del sonido.

ALSA es una arquitectura de audio diseñada para Linux de escritorio. No es adecuada para dispositivos inteligentes. Al menos se puede eliminar una gran cantidad de código de controlador de código abierto, y estos códigos son un desperdicio para Android. A partir de Android 2.3, se habilita una nueva arquitectura de audio. Abandona la arquitectura ALSA que ha estado usando, por lo que el archivo LibAudioALSA.so ya no se incluye en la carpeta del sistema.

Después de Android 2.3, la arquitectura se modificó para optimizar el código interno, eliminar el código redundante y, en teoría, mejorar la eficiencia del sistema, por lo que la nueva arquitectura puede entenderse como una arquitectura optimizada o optimizada adecuada para dispositivos inteligentes. Personaliza la arquitectura ALSA. Desafortunadamente, esta arquitectura también sufre una degradación severa de SRC, como lo demuestran las pruebas.

Dado que Android 3.0 está diseñado para tabletas, la experiencia de audio y vídeo se ha vuelto más importante, y el nuevo sistema puede tener nuevas mejoras en la calidad del sonido, pero los resultados de las pruebas siguen siendo decepcionantes.

La frecuencia de muestreo de salida del sistema Android también es de 44,1 kHz, lo que provoca muchas limitaciones. No podrá lograr una buena reproducción de programas de audio de alta definición de 96 kHz y 192 kHz. provienen de discos DVD o Blu-ray. Al utilizar una frecuencia de 48 kHz, la calidad del sonido se reducirá considerablemente cuando los dispositivos Android reproduzcan estos programas de vídeo.

Teóricamente, es posible utilizar el software SRC para mejorar la calidad del sonido reemplazando el algoritmo, pero esto no es realista. La mayoría de las CPU utilizadas en terminales inteligentes son ARM. La capacidad informática de punto flotante de los chips ARM es limitada y SRC requiere una gran cantidad de recursos informáticos de punto flotante, incluso si existe un algoritmo SRC de alta calidad. a expensas del rendimiento del dispositivo y el consumo de energía.

A través del análisis de la arquitectura y el proceso de audio de Android, se puede considerar que al reproducir programas de música con una frecuencia de muestreo de 44,1 kHz, no se activará SRC, por lo que se puede garantizar la calidad del sonido, lo cual es teóricamente correcto. Sin embargo, esto también es problemático. Ya sea la arquitectura ALSA anterior o la arquitectura mejorada después de Android 2.3, la biblioteca de controladores está ubicada en la capa central, lo que significa que los fabricantes y usuarios de dispositivos de audio no pueden instalar controladores para mejorar la calidad del sonido como pueden hacerlo en la plataforma de PC. Las pruebas en el mundo real también muestran que los dispositivos Android generalmente tienen una calidad de sonido deficiente, y Soomal tiene muchas pruebas para demostrarlo.

Si echamos la vista atrás, iOS es tan cerrado que ni siquiera sabemos en qué partes consta su arquitectura. Los dispositivos iOS no tienen la diversidad de dispositivos de hardware, por lo que es más fácil conseguir una mejor calidad de sonido. Mucho más. De hecho, ningún dispositivo Android puede igualar la calidad de sonido de cualquier dispositivo iOS y creemos que la brecha no proviene del hardware, sino del sistema operativo.

Las limitaciones de la arquitectura de audio de Android también dificultan que se convierta en una plataforma de audio/vídeo de alta calidad. Si desea diseñar un reproductor de audio/video de alta definición basado en Android, lo primero que debe hacer no es diseñar el hardware, sino modificar las deficiencias de la arquitectura existente, o simplemente diseñar una arquitectura dedicada para reemplazar la de Android. arquitectura general. Desde el análisis del código fuente, tanto Android como la capa inferior nativa de Linux pueden admitir múltiples velocidades de muestreo, y el código abierto también proporciona la base para la transformación. Por lo tanto, en manos de empresas con una gran solidez técnica, Android también puede convertirse en un fénix.