En las pasadas semanas analizamos las calidades que nos ofrecen los archivos mp3 y ogg. A continuación veremos una serie de consejos a seguir para conseguir buenos resultados al comprimir un audio.
¿EN QUÉ CONSISTE COMPRIMIR UN AUDIO DIGITAL CON PÉRDIDAS?
Comprimir un audio digital con pérdida consiste en reducir el tamaño que tiene un archivo de audio.
Para reducir el tamaño de los archivos se utilizan los códecs. Algunas de las operaciones que pueden realizan los códecs para reducir el tamaño de los archivos son las siguientes:
- Reducir la tasa de bits del sonido original para que el audio ocupe menos espacio.
- Quitar sonidos a frecuencias que no son perceptibles por el oído humano.
- Eliminación de redundancias de la señal de audio.
- Pueden reducir el número de canales existentes transformando un sonido de envolvente a Stereo.
- Reducir el número de bits por muestra.
- Etc.
Nota: El proceso de compresión de un audio es extremadamente complejo. Además cada códec aplica metodologías diferentes para comprimir el tamaño de un audio.
Obviamente durante el proceso de compresión habrá una pérdida en la calidad del audio. Cuanto más alta sea la reducción de peso del archivo comprimido, más alta será la pérdida de calidad.
UTILIDADES QUE TIENE COMPRIMIR UN AUDIO
Obviamente comprimir un audio tiene ciertas utilidades. Algunas de ellas son las que detallo a continuación:
- El espacio necesario para almacenar las canciones en nuestro disco duro será mucho menor. Aunque los discos duros sean baratos y su capacidad de almacenamiento sea grande, no es viable y/o práctico almacenar la totalidad de nuestras canciones sin pérdida.
- Podemos pasar los archivos de audio a terceros de una forma mucho más cómoda y rápida. Después de comprimir una canción de música podremos pasarla por email u otro medio sin ningún tipo de problema.
- Parece que la tendencia en un futuro muy cercano será consumir el vídeo y el audio vía streaming. Por lo tanto la compresión del vídeo y del audio es muy importante. Si ofrecemos un servicio web en que proporcionamos audio en streaming, es imprescindible comprimir el audio para ahorrar ancho de banda y para que los clientes puedan reproducirlo en su casa sin problemas.
CONSEJOS PARA COMPRIMIR UN AUDIO EN LINUX
Algunos consejos y puntos a tener en cuenta antes de comprimir un audio son los siguientes:
Comprimir a partir de un archivo sin pérdidas
Para obtener buenos resultados es imprescindible hacer la compresión a partir de un archivo sin pérdidas y que no haya sido comprimido anteriormente.
Por lo tanto antes de comprimir un audio hay que analizar la calidad del archivo de audio que queremos comprimir.
Si la calidad del audio es mala simplemente descarten la compresión. Una vez el archivo de audio ha perdido su calidad no la podremos recuperar nunca más.
Seleccionar el formato de archivo del audio comprimido
Existen numerosos tipos de formato de archivo comprimido con pérdida. Algunos de los más populares son los siguientes:
- .mp3
- .ogg
- .wma
- .m4a
- .aac
En función de las necesidades les puede resultar útil seleccionar un formato u otro.
No obstante en mi caso recomiendo usar el formato de archivo mp3 o el ogg. Las razones son las siguientes:
- Los archivos .mp3 no destacan por proporcionar la mejor calidad de audio. No obstante el formato .mp3 es el más extendido universalmente.
- Cualquier reproductor de música es capaz de reproducir el formato de archivo .mp3. No se puede decir los mismo de los otros formatos de archivos.
- Todo el mundo es capaz de reproducir un audio en formato .mp3. Incluso personas con pocos conocimientos tecnológicamente hablando.
- Si alguien no quiere usar el formato .mp3 porque piensa que la calidad no es suficiente, o porque se trata de un formato propietario, le recomiendo usar .ogg. En el siguiente enlace podrán las ventajas e inconvenientes de los archivos .ogg respecto los .mp3.
Seleccionar el códec de compresión del audio (encoder)
Una vez seleccionado el formato de archivo debemos ser conscientes del códec que usaremos para realizar la compresión del audio.
En el caso que queramos comprimir en el formato de archivo .mp3 existen los siguientes códecs:
- FHC: Es el primero códec que existió. En la actualidad este códec ha quedado obsoleto. Su tiempo de compresión es muy elevado y no soporta tasa de bits variable. Algunos de los programas que usan este códec son Audioactive Production Studio y MP3 Producer.
- Xing: Es el encoder más rápido y permite obtener archivos con una tasa de bits variable (VBR). No obstante el nivel de calidad ofrecido por este tipo de encoder es inferior al Blade y al Lame. Algunos de los programas que utilizan este códec son AudioCatalyst y JukeBox.
- Blade: Hasta la aparición de Lame era la mejor opción. Es ligeramente más lento que Xing, pero los niveles de calidad obtenidos son mucho mejores. Actualmente este enconder tiene un problema y es que no soporta las tasas de bits variable. Una muestra de los programas que utilizan este encoder son Easy CD-DA Extractor, Audiograbber y Cdex.
- Lame: Está disponible bajo la licencia GNU y además es el mejor enconder disponible en la actualidad. Soporta tasas de bits variable, es rápido y la calidad obtenida es mejor que en el resto de encoders. Una muestra de los programas que utilizan Lame son WaveLab, CDcopy y AudioStation.
Después de ver todas las opciones, en mi caso caso intentaría asegurar que el software que usamos para comprimir el audio utilice el códec Lame.
En el caso que utilicen el formato de archivo .ogg recomiendo usar el códec oggenc que es el oficial de la fundación Xiph.
Nota: Asegúrense que los programas que usen para comprimir el audio dispongan de las versiones más actuales de los encoders.
Usa siempre una tasa de bits variable (VBR)
En la gran mayoría de ocasiones es recomendable comprimir los audios usando una tasa de bits variable (VBR). El motivo es que este método es mucho más eficiente que el resto de métodos existentes.
Usando una tasa de bits variable cuando hay silencios se reduce la tasa de bits. De esta forma podemos almacenar el sonido de forma correcta ahorrando espacio.
En cambio en las partes de la canción complejas se incrementa la tasa de bits. De este modo en las partes más complejas de la canción usaremos más bits para asegurar que la calidad de este sonido sea aceptable.
De este modo, con una tasa de bits variable conseguiremos una calidad igual o superior a un archivo con tasa de bits constante (CBR) con un tamaño de archivo muy inferior.
Nota: En pruebas realizadas he constatado que la calidad ofrecida por un mp3 con una tasa de bits variable de 256 kbps es superior a la del mismo mp3 con una tasa de bits constante de 320 kbps.
El único caso que hoy en día justifica usar una tasa de bits constante (CBR) es cuando el audio a comprimir está destinado a escucharse vía streaming. En este caso usar una tasa de bits constante evita que un pico en la tasa de bits pueda superar los límites permitidos del servidor que realiza el streaming.
Seleccionar la calidad de la compresión del audio
Este punto es muy personal y depende de muchos factores como por ejemplo los siguientes:
- De lo fino que tengamos nuestro oído. Un oído fino y entrenado es capaz de detectar anomalías que no detectaría un oído normal.
- Del uso que queremos dar al audio que queremos comprimir. No es lo mismo comprimir un audio para ofrecerlo en un servicio en streaming que comprimir un audio para escucharlo con una calidad alta.
- Del reproductor de audio que usaremos para escuchar la música. De nada nos sirve disponer de un archivo con poca pérdida por compresión si los altavoces o auriculares que usamos son de baja calidad.
Por lo tanto mi recomendación es que realicen varias pruebas y lleguen ustedes a sus propias conclusiones.
Cuando hayan encontrado la calidad que les convenga pueden iniciar el proceso para comprimir la totalidad de sus audios.
En mi caso me gusta almacenar la música comprimida con una calidad decente que incluso las personas que aprecian la música considerarían aceptable.
Por lo tanto cuando comprimo archivos en mp3 siempre selecciono la calidad máxima. Para mi la calidad máxima se obtiene eligiendo los siguientes parámetros:
- Usando el códec lame para realizar la compresión.
- Con una tasa variable de bits.
- Seleccionando la calidad máxima ofrecida por el códec Lame.
Para conseguir el propósito que acabo de citar utilizo los siguientes parámetros del encoder lame en la terminal de Linux:
lame --quiet -vbr-new -V 0 ruta_y_nombre_del:archivo_a_comprimir
Nota: 0 corresponde a la máxima calidad. Si queremos obtener archivos de audio más comprimidos deberemos cambiar el 0 por un valor más alto como por ejemplo el 4. El valor máximo de calidad corresponde al 0, mientras que el valor mínimo corresponde al 9.
En el caso que decida comprimir mis audios mediante ogg vorbis como mínimo utilizo la calidad 7. Para obtener la calidad 7 el comando que acostumbro a ejecutar en la terminal es el siguiente:
oggenc -q 7 ruta_y_nombre_del:archivo_a_comprimir
Nota: 7 corresponde a una muy buena calidad. Si queremos incrementar aún más la calidad podemos cambiar el numero 7 por el 9 o por el 10. El valor máximo de calidad corresponde al 10 mientras que el valor mínimo corresponde al -1.
Encontrarán sitios que les darán una clasificación de la calidad del audio obtenido en función de su tasa de bits. No considero que estas clasificaciones sean útiles por los siguientes motivos:
- No existe unanimidad en la escala. A modo de ejemplo hay gente que dice que la calidad CD corresponde a 192 Kbps mientras que hay gente que dice que es 256 kbps.
- La tasa de bits no determina la calidad de un audio. En determinados casos lo único que determina es el tamaño del archivo. Así por ejemplo el formato de archivo ogg es capaz de proporcionar calidades de audio superiores a un mp3 con un tasa de bits inferior.
Ver los comentarios (11)
Muy bueno el artículo. Saludos desde Argentina.
Me alegro que te haya sido de utilidad. Saludos Pablo
Buenas, llegando desde Colaboratorio. XD
Me gusto mucho el artículo y me surgieron unas dudas y aprovecho y te las pregunto.
¿La calidad máxima del codec Lame es 320 kbps o solo llega 256 kbps?
¿Cómo es que puede llegar a ser mejor VBR si este método varia la tasa de bit, mientras CBR siempre tienes la calidad mas alta?
Por cierto ya que sabes sobre codec de audio me gustaria que escribieras sobre Opus. ¿Es verdad que es mejor que Vorbis?
Muchas Gracias y Saludos.
Hola Bienvenido
Colaboratorio es un gran proyecto. Desde aquí les deseo lo mejor a todos sus integrantes que creo que son bastantes.
Respecto a tu pregunta decirte que los bitrate no determinan la calidad de una canción. Solo determinan su tamaño. Lo que determina la calidad de un audio comprimido es su espectrograma y los sonidos que tiene en cada una de sus frecuencias.
El algoritmo de compresión usado en VBR es diferente al CBR. Por lo tanto si un algoritmo es mejor que el otro obtendrás mejores resultados con el que es mejor.
Lo que te comento lo puedes probar muy fácilmente en tu casa. Con Audacity y Spek puedes comprobar todo lo que acabo de comentarte.
Yo no soy un experto en audio. Conocía Opus porque alguien en este post u en otro saco el tema. Nunca lo he usado y nunca he dispuesto de un audio en este formato para realizar pruebas. Si alguna vez siento curiosidad veo que en Debian hay toda la paqueteria necesaria para comprimir en Opus.
Saludos
Excelente info. te felicito me ha servido de mucho. Desde chico ame la música y perdí mi oído izquierdo a los 13 años debido a paperas, ya tengo 39 y aunque me cuesta tener conversaciones disfruto la calidad de audios digitales.
Saludos desde San José Escuintla, Guatemala
Hola Heber
Gracias por comentar y ojala puedas seguir disfrutando de la música por muchos años.
Saludos
Muy interesante este consejo. Contaré mi experiencia sobre estos formatos. Si vamos a comparar dos pistas de MP3, una en CBR a 320 kb/s y la otra en VBR a nivel 0. Realice esta prueba usando una pista de un CD original llamado "Kingston town" de UB 40 (con 88,10 dB Replay Gain). En CBR, la mayoría de los picos del espectrograma marcan en 20 Khz y algunos logran alcanzar los 21 y 22 khz. En VBR, indico un bitrate medio a 303 Kb/s y los picos del espectrograma marcan en 20 Khz sin superar ese limite. En este caso, CBR a 320 kb/s demuestra ser mejor.
En OGG, usando VBR a nivel 6 (170 a 220 kb/s) se puede obtener picos del espectrograma que marcan los 20 kHz y algunos picos que superen ese limite. Usando CBR a 224 Kb/s se obtiene lo mismo pero a la hora de comprimir demora el doble y no es recomendable.
En M4A/AAC, usando CBR a 256 kb/s se puede obtener picos del espectrograma en 20 Khz y algunos picos que superen ese limite. Usando VBR nivel 7 (240 a 280 kb/s) se obtiene lo mismo pero puede llegar a pesar mas y, en este caso, me indico como bitrate medio a 298 kb/s.
En Opus, se puede obtener fácilmente picos del espectrograma a 20 Khz ya con bitrate en 128 sea en CBR o VBR. Por su compression rápida es recomendable usar en VBR. Lo que tiene de desventajoso este formato es que utiliza un codec que maquilla el audio convirtiendo el sonido Stereo en Joint-Stereo como lo suele hacer el MP3. Ademas, ya que tiene como configuración comprimir con una frecuencia de muestreo a 48 Khz que puede alcanzar los 23 Khz en hectogram... al final lo recorta en 20 Khz.
Después de hacer todas estas pruebas me convencí que OGG en VBR a nivel 6 o mas... es mejor. Desde el 2015, utilizo este formato y ya que los reproductores de musica de los celulares no reproducen este formato... me descargue el AIMP para poder oírlos.
Lo que tiene de bueno MP3 con respecto a los otros formatos es que puedes normalizar aquellas canciones que se escuchen bajas, como ejemplo, normalizar a 95 dB Replay Gain sin tener que lamentar la eliminación de los picos de rango dinámico cuando quieras amplificarlos en su etapa original.
Saludos desde Jose C. Paz (Buenos Aires, Argentina)
Hola Tony.
También soy de argentina. Tu análisis es complejo y estoy de acuerdo con lo que dijiste. Ya que mencionaste al mp3, la compresión a 320 kb/s da una calidad real de cd recortando el espectro entre los 20 y 21 khz mientras que la compresión en vbr-0 ya marca una pequeña linea en 16 khz a pesar de que algunos picos del espectro estén en 20 khz y lo comprobe realizando pruebas con varios archivos.
Hablando de los otros archivos, sostengo que ogg es mejor que m4a/aac y opus es mejor que he-aac v1 y v2. Eso de que opus "maquilla" el estéreo original a un joint-stereo pues la mayoría de los formatos con pérdidas lo hacen a pesar de que no se note con mucha precision a oído. Opus, todavía no tiene la popularidad que tiene el mp3 pero garantizo que un futuro cercano pueda ganar terreno si la mayoría de los reproductores de musica de celulares lo popularizan y le ceden el pase de libre reproducción.
Soy consumidor del formato opus desde hace un par de meses y la musica con bitrate a 128 o 144 suena excelente cuando lo reproduzco con Foobar2000. Whatsapp a pesar de que grabe las notas de voz con opus y permita su envio/recepción, aun no dispone de su reproducción directa como el mp3, wma y m4a/acc. Si vas a compartir audios en m4a/aac recomiendo que cambien la extension a .mp4 para enviarlo con la compresión original ya que al que receptor le puede llegar comprimido en m4a a 96 kb/s y deteriora un poco su calidad en ese bitrate.
Es verdad Gabo. Yo también note que WhatsApp comprime a 96 kb/s los archivos M4A para que la descarga sea rápida, pero a ese bitrate lo hace usando HE-AAC v1. Estaria bueno saber ¿el porque lo hace? Si con el MP3 no sucede eso.
Hola, muy completa tu información, pero me surja una duda espero y puedas responderla:
¿Si ya tengo un archivo a 320kbps cbr podría convertirlo a vbr a 256kps para intentar reducir el peso del archivo o no seria recomendable?
¿Habría perdida en la calidad o se mantendría?
Gracias.
Hola,
Haz un prueba y analiza su calidad con spek y lo que ahorras en espacio. De esta forma te podrás hacer una idea si te compensa o no.
Saludos