Vorbis es un códec de compresión con pérdida desarrollado por Xiph(antiguamente Xiphophorus) que se acoje a la licencia BSD(Berkeley Software Distribution y que por lo tanto es un códec de libre distribución. Es una de las piezas del proyecto de Xiph junto con el contenedor multimedia Ogg y otros códecs como Speex(para voz) y FLAC(audio sin pérdida) y debe su nombre (Vorbis) a un personaje de la novela Dioses Menores del inglés Terry PratChett. Los archivos codificados con este códec tiene la extensión .ogg o .oga(la "a" final es para indicar que el archivo contiene audio), pues el contenedor usado es el Ogg.
Vorbis nació debido a que el MPEG Audio Layer 3(MP3) desarrollado por el Instituto Técnologico de Fraunhofer estaba patentado y ningún desarrollador podria crear ni codificadores ni reproductores de Mp3 y tamboco podia distribuir musica en este formato sin pagar antes un canon a esta entidad. Por ello la fundación Xiph decidió crear una gama de códecs de libre distribución para que cualquiera pudiese distribuir sus contenidos y crear sus proyectos utilizando estos.
En cuanto a la calidad del códec Vorbis, según los test de audición presenta:
Vorbis utiliza una frecuencia de muestreo fija de 44100Hz(la misma que la usada en el Audio-CD) y emplea bitrates nominales de entre 45 a 500Kbps. El hecho de decir "bitrates nominales" es por que Vorbis utiliza un bitrate variable(VBR), luego el bitrate variará de unas muestras a otras;En concreto, cuando el flujo de entrada sea más dificil de codificar se usará un bitrate mayor y viceversa(dentro de un rango). Vorbis tiene 11 niveles de calidad (12 si se usa el codificador aoTuV), desde calidad -1 hasta calidad 10 (desde -2 a 10 si se usa el codificador aoTuV):
Calidad | Bitrate Nominal |
-1 | 45Kbps(48Kbps si se usa aoTuV) |
0 | 64Kbps |
1 | 80Kbps |
2 | 96Kbps |
3 | 112Kbps |
4 | 128Kbps |
5 | 160Kbps |
6 | 192Kbps |
7 | 224Kbps |
8 | 256Kbps |
9 | 320Kbps |
10 | 500Kbps |
Además del citado aoTuV existen otros codificadores de Vorbis, como Garf o Megamix. Vorbis tiene soporta para metadata al estilo de las etiquetas ID3 de los MP3:En esta caso se les llama simplemente comentarios y son de la forma "[ETIQUETA]=[Valor]".
Vorbis, al igual que otros códecs como AAC y MP3 utiliza la transformada del coseno discreta(MDCT, del inglés
modified discrete cosine transform ) para así tranformar la señal de entrada del dominio temporal al frecuencial. Así se filtran
las componentes frecuenciales correspondientes al ruido de fondo y el resto(la señal de interés) se cuantifica y finalmente
se codifica entrópicamente asignando un código a cada simbolo de tal forma que los todos los códigos no tengan la misma longitud si no que esta longitud
sea proporcional al logaritmo negativo de la probabilidad de ese simbolo.Es decir, la longitud de un código viene dada por
,donde P es la probabilidad del simbolo y b es el número de simbolos que se pueden transmitir.
De esta forma, los simbolos más comunes tienen códigos más cortos.
Otro códec de la fundación Xiph es FLAC:
FLAC es el acrónimo de Free Lossless Audio Codec (Codec de audio libre y sin pérdida), que es un códec que no borra ninguna información del flujo de audio de entrada al codificador , luego es un códec sin pérdida, a diferencia de otros como Vorbis, WMA, AAC o ATRAC.
Según sus creadores la disminución del tamaño de archivo es del 47% (un archivo de CD-Audio de 50Mb se quedaría en 23.5 Mb)respecto al mismo archivo codificado c on el formato CD-Audio). Esto tiene como resultado unos bitrates de entre 800 y 950Kbps. Ésta disminución es mínima comparada la reducción al 10% (un archivo de CD-Audio de 50Mb se quedaría en tan solo 5 Mb) del tamaño original que se consigue si se utiliza MP3 o AAC pero recordemos que con FLAC podremos obtener de nuevo la señal de audio original y con los códecs con pérdida NO. Ese porcentaje del 47% habría que compararlo con el que consiguen otros algoritmos de compresión sin pérdidas como ZIP,GZIP,ACE o RAR donde la compresión de un archivo de CD-Audio es de entre el 10 y el 20%: Nada comparado con FLAC.
Además FLAC es muy flexible: Permite tamaños de muestra PCM(Pulse Code Modulation) de entre 4 y 32 bits y cualquier frecuencia de muestreo
en el rango de 1 y 1.048.570Hz().