Comprender la conversión y (des) compresión de audio sin pérdida


12

Tengo algunas preguntas sobre audio sin pérdida. Estoy considerando extraer toda mi colección de música a .flac sin pérdidas, pero primero quiero entender algunas cosas al respecto.

Si tengo un archivo que es .flac, y quiero convertirlo en, por ejemplo, .wav, ¿cómo puedo hacer esto para no tener ninguna pérdida de calidad? Si lo descomprimo, sé que no perderé calidad. ¿Convertir .flac a .wav es lo mismo que descomprimir?

¿Esto también se aplica al formato .ape también? Tengo algunas grabaciones de dominio público que he descargado en .ape, pero quiero que sea .flac. Sería posible .ape a .flac sin usar .wav como intermediario. Quiero asegurarme de que ni un poco se pierda de ninguna manera.

Además, si hay guías que expliquen el mundo de la pérdida sin problemas, ¿alguien estaría dispuesto a compartir un enlace? :)

Respuestas:


14

Primero:

Comprende la diferencia entre una codificación y un formato contenedor . http://en.wikipedia.org/wiki/Digital_container_format

Un formato contenedor es un formato de datos que "encapsula" otros datos codificados. A menudo contiene "metainformación" sobre los datos codificados, o tiene una forma de almacenar múltiples flujos separados de datos codificados, o algo así.

Una codificación, producida por un códec, es la "carne" real del flujo de datos.

El ejemplo más común que se me ocurre es el formato "Ogg / Vorbis". Ogg es el formato contenedor, y Vorbis es la codificación. Entonces tiene un archivo con formato Ogg y dentro de estos pequeños cubos que contienen datos codificados. Dentro de cada segmento hay un flujo de datos codificado por Vorbis y nada más. En el cubo podría estar estampado el nombre del artista y el título de la canción, por ejemplo.

Así que de vuelta a la tecnología:

  1. Si ya tiene música en un formato con pérdida, como mp3 u ogg / vorbis, la conversión a un formato sin pérdida solo consumirá (una gran cantidad) de espacio en disco y NO, absolutamente NO , mejorará la calidad de el audio que sea No puedes crear fidelidad una vez que ya se ha perdido. A menos que esté escribiendo una interfaz GUI en Visual Basic en algún exitoso programa de televisión llamado CSI, pero eso es fantasía, no realidad.

  2. Si tiene música en otros formatos sin pérdida y desea convertirla a FLAC, puede hacerlo.

  3. Tenga cuidado al lanzar el término "WAV". Wav no tiene que ser sin pérdidas; en realidad, WAV es solo un contenedor para varios formatos posibles. Es algo así como AVI en ese sentido. PUEDE tener un WAV sin pérdidas si solo se trata de datos PCM sin procesar, pero también puede incrustar datos MPEG-1 Layer III (con pérdida) en un archivo WAV.

  4. Es posible perder datos al convertir de un formato sin pérdida a otro, si reduce la fidelidad de los datos. Por ejemplo, si convierte un flujo de datos PCM de 16 bits sin signo a 48000 Hz en un flujo de datos PCM de 8 bits a 44100 Hz, está perdiendo la fidelidad de dos maneras: las muestras se fusionan de 48000 a solo 44100 por segundo (lo que resulta en la pérdida de datos), y los datos deben mezclarse para ajustar la información en solo 8 bits en lugar de 16 por muestra, lo que perjudicará drásticamente la calidad.

Cada transmisión de audio digital, incluso las codificadas por un codificador de compresión (con pérdida o sin pérdida), tiene las siguientes "Propiedades de formato de muestra", que son elementos esenciales que describen las propiedades de la transmisión:

  1. Muestra de ancho y profundidad de bits, es decir, 8 bits, 16 bits, etc. El ancho y la profundidad de bits son sutilmente diferentes, y también hay little-endian / big-endian (que no afecta la calidad) y con signo o sin signo (que tampoco afecta la calidad, pero afecta la forma en que el codificador / decodificador maneja los datos). El punto clave a recordar es que "más bits son mejores". Entonces 32 bits es mejor que 16 bits, etc.

  2. Frecuencia, también conocida como frecuencia de muestreo. Más es mejor porque tiene más "muestras" de audio que se reproducen por segundo. Imagínese pasar rápidamente el dedo sobre una baraja de cartas y ver cómo las cartas pasan borrosas: así es como sucede esencialmente el audio digital. Cada muestra es una tarjeta, y si tiene más tarjetas volando por segundo, el audio es más fluido. Como, realmente notarías si solo estuvieras volteando 5 cartas por segundo, pero todo se volvería borroso si volteas miles de cartas por segundo. Entonces, más es mejor, porque es más natural y más cercano a la realidad, lo que es analógico e infinitamente divisible (bueno, hasta las unidades de Planck, pero eso es discutible y fuera de tema).

"Sin pérdida" solo significa que si utiliza el mismo formato de muestra o mejor en la salida que utilizó en la entrada, no perderá ningún dato.

Entonces, si pasa del formato de muestra de 16 bits a 32 bits, no pierde datos. Pero si pasa de 32 bits a 16 bits, pierde datos.

Por lo tanto, la respuesta a su pregunta sobre si el uso de FLAC tiene sentido depende de los datos de origen: si tiene archivos WAV de 64 bits que se grabaron originalmente en ese formato de muestra, con 192000 Hz (también conocido como 192KHz), y los convierte a " estándar "formato de muestra FLAC de 16 bits y 44.1 KHz, va a perder una TONELADA de datos. Pero si su archivo WAV es de 8 bits con solo 22100 muestras por segundo y lo convierte en un FLAC de 16 bits con 44100 muestras por segundo, no perderá datos. E incluso puede terminar aumentando el tamaño del archivo, dependiendo de si gana la compresión sin pérdidas o el formato de muestra más pequeño.

El formato de muestra afectará la cantidad de espacio que ocupa el archivo, por lo que los bits "más grandes" y las velocidades de muestreo "más rápidas" ocuparán más espacio.

En lo que respecta a las preocupaciones prácticas y al oído humano: realmente no notará si convierte originales de alta fidelidad a FLAC de 44,1 bits a 16 bits. Pero tampoco notará una mejora si convierte un MP3 a FLAC. Por lo tanto, debe evaluar en qué formato de muestra están sus datos de origen antes de decidir qué hacer.

Ahora que le he proporcionado toda esta información, aquí están mis respuestas directas y sin explicación a sus preguntas:

Tengo algunas preguntas sobre audio sin pérdida. Estoy considerando extraer toda mi colección de música a .flac sin pérdidas, pero primero quiero entender algunas cosas al respecto.

Si su colección de música está en CD y quiere copiarla a FLAC, en mi opinión, eso encaja muy bien. El audio con calidad de CD será de 44,1 KHz y 16 bits por muestra. Esto coincide exactamente con la configuración predeterminada de FLAC (al menos, los valores predeterminados en los codificadores que uso). Por lo tanto, no perderá ningún dato y será matemáticamente idéntico a los datos de entrada cuando se decodifique.

Si tengo un archivo que es .flac, y quiero convertirlo en, por ejemplo, .wav, ¿cómo puedo hacer esto para no tener ninguna pérdida de calidad? Si lo descomprimo, sé que no perderé calidad. ¿Convertir .flac a .wav es lo mismo que descomprimir?

Puede convertirlo a un archivo .wav con el mismo formato de muestra o más ancho que los datos de entrada y no tendrá ninguna pérdida de calidad.

Cuando un reproductor multimedia reproduce el audio en su archivo flac, esencialmente está decodificando los datos flac a un formato PCM antes de enviar esos datos PCM a la tarjeta de sonido. Lo descomprimirá exactamente con los mismos datos que ingresaron; así que si ingresaron datos PCM de 44,1 bits a 16.1 kHz, eso es lo que saldrá e irá a sus altavoces.

La única diferencia entre esta actividad y la conversión del audio a un archivo WAV es que, cuando lo convierte en un archivo WAV, tiene que crear un contenedor WAV con los bits de relleno apropiados, etc. y también le permite elegir el formato de muestra del archivo WAV. Pero suponiendo que el formato de muestra sea el mismo, la única diferencia entre sus archivos FLAC y WAV será el tamaño del archivo: los archivos WAV serán sustancialmente más grandes.

¿Esto también se aplica al formato .ape también? Tengo algunas grabaciones de dominio público que he descargado en .ape, pero quiero que sea .flac. Sería posible .ape a .flac sin usar .wav como intermediario. Quiero asegurarme de que ni un poco se pierda de ninguna manera.

No, no es posible hacer esto sin usar algún formato PCM como intermediario. Pero sí, es posible hacerlo sin usar un archivo WAV. Tenga en cuenta la diferencia. PCM de flujo de datos. Archivo WAV Si la distinción no es clara para ti, vuelve a leer el comienzo de mi publicación. Si desea asegurarse de que "no se pierda ni un poco", debe examinar sus archivos APE y comprender en qué formato de muestra están, y asegurarse de que su codificador FLAC esté configurado para codificar con la misma configuración.

Internamente, cualquier programa de conversión de audio va a decodificarse desde el formato de origen a algún tipo de formato de muestra PCM sin pérdida, y luego tomará esas muestras PCM y las volverá a codificar en el formato de destino.

Además, si hay guías que expliquen el mundo de la pérdida sin problemas, ¿alguien estaría dispuesto a compartir un enlace? :)

En mi opinión, la mejor manera de aprender es hacerlo. Si se toma el tiempo para aprender el marco de trabajo de Gstreamer, cómo usarlo y los significados de los diversos sintonizables del formato de muestra, y cómo construir una tubería, obtendrá una comprensión realmente sólida del audio digital. Echale un vistazo. http://gstreamer.freedesktop.org/ También puede obtener el SDK de Gstreamer de http://code.entropywave.com/gstreamer-sdk/ (Windows es compatible) y experimentar con gst-launch-0.10 sin tener que compilar nada de la fuente

Algunas cosas reveladoras:

gst-inspect-0.10 vorbisenc gst-inspect-0.10 vorbisdec gst-inspect-0.10 audioconvertir gst-inspect-0.10 muestra de audio

Luego, aprenda sobre tapas, construcción de tuberías, etc. y se moverá de inmediato.

* Nota: Me doy cuenta de que no expliqué qué es PCM. Wikipedia hace un mejor trabajo que yo: http://en.wikipedia.org/wiki/Pulse-code_modulation


Wow, esto es simplemente increíble con qué claridad y excelentemente explicaste todo esto. Nunca pensé en la mitad de estas cosas antes, buena comida para pensar. Gracias por la respuesta, ¡y el tiempo que te tomó escribir esto también! +1!
Ryan McClure

Siempre debe tratar de mantener intactas las tasas de bits y de muestreo, ya que, sin pérdida, idealmente implica datos PCM idénticos. El muestreo ascendente a cualquier cosa que no sea el doble de la frecuencia de muestreo nunca será sin pérdidas (no puede agregar ceros de manera uniforme) y desperdicia espacio en el disco. En cualquier caso, eso no debería ser un problema con FLAC, ya que puede manejar cualquier resolución de bits PCM de 4 a 32 bits por muestra, cualquier frecuencia de muestreo de 1 Hz a 655,350 Hz en incrementos de 1 Hz, y cualquier número de canales de 1 a 8 ( en.wikipedia.org/wiki/FLAC#Design )
mtone

WAV siempre contiene PCM. Puede que no sea PCM de calidad de CD (pero en términos prácticos, generalmente puede suponer esto porque casi siempre es el caso), pero será PCM, no algo más como mpeg 3 layer 2.
psusi

@psusi: Lo siento pero te equivocas. Lea el artículo de Wikipedia en WAV: en.wikipedia.org/wiki/WAV . Si lo desea, puedo publicar un enlace a un archivo WAV que contenga audio MP3. Lo que hay que tener en cuenta sobre los archivos WAV es que son solo un archivo RIFF, y un archivo RIFF es una revisión bastante primitiva de un formato de contenedor de medios. Pero al menos en su propósito fundamental, no es extremadamente diferente de Ogg o Matroska, aparte de solo admitir audio y no video. Editar: no tengo que hacer un archivo wav / mp3; ¡Hurra! De hecho, está vinculado a Wikipedia! nch.com.au/acm/8kmp316.wav
allquixotic

Hay algunas imprecisiones en esta respuesta. "Frecuencia, también conocida como frecuencia de muestreo. Más es mejor porque tiene más" muestras "de audio que se reproducen por segundo". - Así no es como funcionan las frecuencias de muestreo. Si no se involucrara la profundidad de bits, los datos con una frecuencia de muestreo de 48khz podrían representar señales de hasta 24khz sin pérdidas, y agregar más muestras no cambiaría eso. Más muestras solo influyen en las frecuencias que puede representar. La conversión de 44.1khz a 48khz tampoco es estrictamente hablando sin pérdidas, incluso si el error introducido es increíblemente pequeño.
cooky451

1

Tengo que estar en desacuerdo con la declaración de allquixotic.

Si ya tiene música en un formato con pérdida, como mp3 u ogg / vorbis, la conversión a un formato sin pérdida solo consumirá (una gran cantidad) de espacio en disco y NO, absolutamente NO, mejorará la calidad de el audio que sea No puedes crear fidelidad una vez que ya se ha perdido. A menos que esté escribiendo una interfaz GUI en Visual Basic en algún exitoso programa de televisión llamado CSI, pero eso es fantasía, no realidad.

Usted carece de conocimientos sobre ingeniería de audio y alimentación de personas con la declaración falsa.

  1. Ogg y Vorbis tienen contenedores que guardan la información original de los datos de las olas, y se pueden convertir en sin pérdida con esos datos. Por favor, google lo suficiente.

  2. Incluso la conversión de MP3 de baja calidad a sin pérdida hace MUCHA mejora del sonido, no es tan perfecto como el original, pero se puede arreglar con dinámica y difuminado fácilmente. https://www.izotope.com/en/products/master-and-deliver/ozone.html/OzoneDitheringGuide.pdf

El audio no son datos 10100110101001, por lo que un tamaño de archivo más pequeño no significa que haya perdido la calidad. Es posible que tenga experiencia con 128 kbps a 320 kbps hace décadas y suponga que 128 kbps sin pérdidas es imposible. Haga que pruebe esta tarea simple y se dé cuenta.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.