El hardware de nuestro PC encargado del audio que se reproduce en él se puede dividir en dos categorías. Por un lado las tarjetas de sonido que sirven para producir, generar y reproducir el audio. Por otro lado los códecs de audio, los cuales se basan en codificar y descodificar sonido. En este artículo os vamos a introducir lo que son los códecs de audio por hardware en el PC.
En software un códec multimedia es un tipo de archivo que está codificado en un formato en concreto y que requiere una interpretación concreta para obtener la información que guardan en su interior. Un códec por hardware hace precisamente dicha tarea pero de tal manera que no sea necesario utilizar una CPU ejecutando un programa para ello. Entre estos códecs se encuentran los códecs de audio, ocultos en una parte de nuestros PCs como una pieza más del hardware.
La evolución del audio por hardware en PC
Al igual que ocurre con el hardware gráfico, el que se dedica al audio o sonido también ha ido evolucionando con el paso del tiempo. La idea ha sido siempre conseguir la mayor fidelidad del sonido en PC, pero el hardware inicial se veía limitado por dos aspectos. Por un lado la potencia de cálculo de los procesadores y por el otro la precisión de los datos. Lo cual no deja de ser lo mismo que ocurre en el caso del hardware gráfico, pero llegado a un punto en cuanto al audio hubo una desviación del desarrollo tradicional.
Como bien es sabido mientras que las GPUs han ido evolucionando a procesadores de gran complejidad, el audio en cambio se ha ido integrando más y más, hasta el punto en que ha desaparecido por completo dentro de otros componentes. ¿El motivo detrás de ello? Es sencillo de explicar, mientras que los gráficos tienen una mejora apreciable incluso entre los juegos más avanzados. El audio en cambio es lo suficientemente bueno para la gran mayoría.
El motivo por el cual el audio se ha vuelto suficientemente bueno, incluso sin tener la evolución que han sufrido las GPUs se encuentra en el concepto de aproximación matemática. Una aproximación es una representación que, si bien no es exacta, se considera útil gracias a su fidelidad con la realidad que representa. Por lo que tan pronto el audio pasó a ser una aproximación fiel fue cuando el paso evolutivo dejó de ser conseguir la mayor fidelidad posible.
La aparición de los formatos de compresión de audio y vídeo
El formato de audio más famoso de la historia es el MP3, siglas que derivan del MPEG-1 Layer 3, y es que se trata de la parte del audio del códec de vídeo utilizado para el VideoCD, conocido como MPEG. El cual se creó con el objetivo de crear un formato con el que poder transmitir música a través de la línea telefónica, en una era en la que internet era un nombre que conocían muy poca gente, ya que estamos hablando de principios de los 90.
Al final se desarrolló el MP3, un formato de audio que tenía un ratio de compresión 10 veces mayor que los CDs de audio convencionales. Lo que significa que se podía almacenar diez veces más audio. Para comprimir el sonido se utilizaron las limitaciones del oído humano para conseguir un formato que era una aproximación fiel, el cual requería menos datos para funcionar como base. Pero la otra mitad de la ecuación estaba en la descodificación del formato. Pese a que el MP3 era de principios de los 90 como formato, incluso un PC de la misma época tenía problemas para reproducir el formato, y fue necesario la creación de chips especiales con la capacidad de decodificar los archivos en dicho formato.
La necesidad de los Códecs de audio por hardware
El formato MP3 no solo hizo que aparecieran reproductores de música portátiles donde ya no era necesario llevar a cuestas los discos con nosotros, también permitió la distribución de la misma a través de la red y por tanto de la línea telefónica. Pero también creó una necesidad en el hardware de PC, la cual no era otra que la incorporar mecanismos de codificación y descodificación de los diferentes formatos de compresión que iban apareciendo en el circuito comercial.
La red de redes se llenó de archivos musicales distribuidos en redes P2P que requerían ser codificados en dicho formato, las CPU de la época empezaron a llevar en su interior unidades SIMD que aceleraban este tipo de tareas. Pero la aparición del DVD como formato de vídeo y datos no sólo hizo posible ver películas en el PC, sino que se implementaron códecs de audio y vídeo para decodificación de los mismos. Un desarrollo y una necesidad que trajo consigo la implementación de los códecs de audio para decodificar dichos archivos lo más rápidamente posible.
¿Qué es un códec de audio y cómo funciona?
Realizada la introducción nos toca ir al meollo de la cuestión, para ello tenemos que entender que la palabra códec es una acortación del término codificación-descodificación. Se trata de un procesador a que a partir de un flujo de datos de entrada, el cual está codificado genera otro a partir de la ejecución de unas reglas que sigue para decodificar esos datos. Dichas reglas pueden estar escritas en forma de programa en una memoria interna del procesador o estar microcableadas. Por lo que las diferencias entre un códec de audio y uno de vídeo fuera del formato que tratan son inexistentes, al fin y al cabo un flujo de datos no es más que un cúmulo de bits a tratar.
¿Entonces cuál es la diferencia? Pues se encuentra en la forma en la que esos datos se convierten en algo palpable para el usuario. Los códecs de vídeo se van a transmitir a través de una señal de vídeo y de ahí a una pantalla. En cambio en un códec de vídeo el archivo que se genera va a ser transmitido a una salida de audio. Eso sí, hay GPUs que utilizan su pipeline de computación para decodificar y generar audio. Lo cual hacen gracias a que la salida HDMI transporta tanto la señal de audio como la vídeo.
Los códecs de audio se pensaron para ahorrar espacio con el objetivo de poder transmitir los datos en interfaces de comunicación muy lentas, pero una vez que el espacio y la velocidad de la red dejaron de ser un problema su diseño se movió hacia un sentido distinto. La capacidad de poder codificar sistemas de audio en 3D o audio posicional, para poder utilizar sistemas de múltiples altavoces en el contenido multimedia. Lo cual requeriría una porción de potencia de la CPU para ello.
¿Dónde se encuentran los códecs de audio por hardware a día de hoy?
Depende, se ha de tener en cuenta que a día de hoy la potencia de las CPU es tan grande comparada con cómo era no hace mucho, que muchas funciones que antes dependían del hardware dedicado han vuelto de nuevo a la CPU. Precisamente el códec de audio se suele encontrar en placas de audio, siendo un pequeño chip en la placa base o dentro de algún que otro componente. Pero debido a que es una parte que ya no se suele mirar la inclusión de los códecs de audio por hardware se encuentra en el hardware de gama alta.
Es posible que la CPU de vuestro PC esté gestionando ella misma el audio de vuestro juego o serie favoritos y no os deis cuenta. Al fin y al cabo solo se necesita una porción de la potencia de una CPU para hacer la tarea de la decodificación del audio. No obstante esto no significa que no afecte al rendimiento general del sistema. Pero dado la tendencia a ahorrarse el códec de audio en muchos PCs, la mayoría de aplicaciones a día de hoy los suelen ignorar y están pensadas para poder tirar de la CPU del usuario en exclusiva.
A día de hoy los códecs de audio por hardware se encuentran tan integrados y miniaturizados que los podemos encontrar en los altavoces y auriculares de gama alta, realizando funciones de interpretación de audio posicional en combinación con sensores de movimiento del usuario o del propio altavoz según su orientación.