stringtranslate.com

Archivo WAV

El formato de archivo de audio de forma de onda ( WAVE , o WAV debido a su extensión de nombre de archivo ; [3] [6] [7] pronunciado / w æ v / o / w v / [8] ) es un estándar de formato de archivo de audio para almacenar un flujo de bits de audio en computadoras personales . El formato fue desarrollado y publicado por primera vez en 1991 por IBM y Microsoft . Es el formato principal utilizado en los sistemas Microsoft Windows para audio sin comprimir . La codificación de flujo de bits habitual es el formato de modulación de código de pulso lineal (LPCM).

WAV es una aplicación del método de formato de flujo de bits Resource Interchange File Format (RIFF) para almacenar datos en fragmentos y, por lo tanto, es similar al formato 8SVX y al formato Audio Interchange File Format (AIFF) utilizados en las computadoras Amiga y Macintosh , respectivamente.

Descripción

El archivo WAV es una instancia de un formato de archivo de intercambio de recursos (RIFF) definido por IBM y Microsoft . [3] El formato RIFF actúa como un contenedor para varios formatos de codificación de audio .

Aunque un archivo WAV puede contener audio comprimido , el formato de audio WAV más común es el audio sin comprimir en el formato de modulación de código de pulso lineal (LPCM). LPCM también es el formato de codificación de audio estándar para CD de audio , que almacenan audio LPCM de dos canales muestreado a 44,1 kHz con 16 bits por muestra . Dado que LPCM no está comprimido y conserva todas las muestras de una pista de audio, los usuarios profesionales o expertos en audio pueden usar el formato WAV con audio LPCM para obtener la máxima calidad de audio. [9] Los archivos WAV también se pueden editar y manipular con relativa facilidad mediante software.

En Microsoft Windows, el formato WAV admite audio comprimido mediante el Administrador de compresión de audio (ACM). Se puede utilizar cualquier códec ACM para comprimir un archivo WAV. Se puede acceder a la interfaz de usuario (IU) de ACM a través de varios programas que lo utilizan, incluido el Grabador de sonidos en algunas versiones de Windows.

A partir de Windows 2000WAVE_FORMAT_EXTENSIBLE , se definió un encabezado que especifica múltiples datos de canales de audio junto con las posiciones de los altavoces, elimina la ambigüedad con respecto a los tipos de muestra y tamaños de contenedor en el formato WAV estándar y admite la definición de extensiones personalizadas para el formato. [4] [5] [10]

Especificaciones de archivo

RIFF

Un archivo RIFF es un formato de archivo etiquetado. Tiene un formato de contenedor específico (un fragmento ) con un encabezado que incluye una etiqueta de cuatro caracteres ( FourCC ) y el tamaño (número de bytes) del fragmento. La etiqueta especifica cómo se deben interpretar los datos dentro del fragmento, y existen varias etiquetas FourCC estándar. Las etiquetas que consisten en letras mayúsculas son etiquetas reservadas. El fragmento más externo de un archivo RIFF tiene una RIFFetiqueta; los primeros cuatro bytes de datos del fragmento son una etiqueta FourCC adicional que especifica el tipo de formato y van seguidos de una secuencia de subfragmentos. En el caso de un archivo WAV, la etiqueta adicional es WAVE. El resto de los datos RIFF es una secuencia de fragmentos que describen la información de audio.

La ventaja de un formato de archivo etiquetado es que el formato se puede ampliar más tarde manteniendo la compatibilidad con versiones anteriores . [11] La regla para un lector RIFF (o WAV) es que debe ignorar cualquier fragmento etiquetado que no reconozca. [12] El lector no podrá usar la nueva información, pero no debe confundirse.

La especificación de los archivos RIFF incluye la definición de un INFOfragmento. El fragmento puede incluir información como el título de la obra, el autor, la fecha de creación e información de copyright. Aunque el INFOfragmento se definió para RIFF en la versión 1.0, no se hizo referencia al fragmento en la especificación formal de un archivo WAV. Muchos lectores tuvieron problemas para procesar esto. En consecuencia, lo más seguro desde el punto de vista del intercambio era omitir el INFOfragmento y otras extensiones y enviar un archivo con el mínimo común denominador. Existen otros problemas de ubicación de fragmentos INFO .

Se esperaba que los archivos RIFF se usaran en entornos internacionales, por lo que existe CSETun fragmento para especificar el código de país, el idioma, el dialecto y la página de códigos para las cadenas en un archivo RIFF. [13] Por ejemplo, especificar un fragmento apropiado CSETdebería permitir que las cadenas en un INFOfragmento (y otros fragmentos en todo el archivo RIFF) se interpreten como caracteres cirílicos o japoneses.

RIFF también define un JUNKfragmento cuyo contenido no es interesante. [14] El fragmento permite eliminar un fragmento simplemente cambiando su FourCC. El fragmento también se puede utilizar para reservar algo de espacio para futuras ediciones, de modo que el archivo pueda modificarse sin cambiar su tamaño. Una definición posterior de RIFF introdujo un PADfragmento similar. [15]

Onda de rifa

La definición de nivel superior de un archivo WAV es: [16]

<forma-WAVE> → RIFF('WAVE' <fmt-ck> // Formato del archivo [<fact-ck>] // Fragmento de hechos [<cue-ck>] // Puntos de referencia [<playlist-ck>] // Lista de reproducción [<assoc-data-list>] // Lista de datos asociados <wave-data> ) // Datos de onda

El formato RIFF de nivel superior utiliza una WAVEetiqueta. A continuación, se incluye un <fmt-ck>fragmento obligatorio que describe el formato de los datos de muestra que siguen. Este fragmento incluye información como la codificación de la muestra, la cantidad de bits por canal, la cantidad de canales y la frecuencia de muestreo.

La especificación WAV incluye algunas características opcionales. El <fact-ck>fragmento opcional informa la cantidad de muestras para algunos esquemas de codificación comprimidos. El <cue-ck>fragmento identifica algunos números de muestra significativos en el archivo de onda. El <playlist-ck>fragmento permite que las muestras se reproduzcan fuera de orden o se repitan en lugar de solo desde el principio hasta el final. La lista de datos asociada ( <assoc-data-list>) permite adjuntar etiquetas y notas a los puntos de referencia; se pueden proporcionar anotaciones de texto para un grupo de muestras (por ejemplo, información de subtítulos).

Finalmente, el <wave-data>fragmento obligatorio contiene las muestras reales en el formato previamente especificado.

Tenga en cuenta que la definición del archivo WAV no muestra dónde INFOse debe colocar un fragmento. Tampoco dice nada sobre la ubicación de un CSETfragmento (que especifica el conjunto de caracteres utilizado).

La especificación RIFF intenta ser una especificación formal, pero su formalismo carece de la precisión que se ve en otros formatos etiquetados. Por ejemplo, la especificación RIFF no distingue claramente entre un conjunto de subfragmentos y una secuencia ordenada de subfragmentos. El fragmento en forma RIFF sugiere que debería ser un contenedor de secuencia. La información de secuenciación se especifica en la forma RIFF de un archivo WAV de acuerdo con el formalismo: "Sin embargo, <fmt-ck>siempre debe aparecer antes de <wave-data>, y ambos fragmentos son obligatorios en un archivo WAVE". [17] La ​​especificación sugiere que un LISTfragmento también es una secuencia: "Un fragmento LIST contiene una lista, o secuencia ordenada, de subfragmentos". [18] Sin embargo, la especificación no proporciona una especificación formal del INFOfragmento; un INFO LISTfragmento de ejemplo ignora la secuencia de fragmentos implícita en la INFOdescripción. [19] La LISTdefinición de fragmento para <wave-data>sí utiliza el LISTfragmento como un contenedor de secuencia con una buena semántica formal.

La especificación WAV admite, y la mayoría de los archivos WAV utilizan, una única matriz contigua de muestras de audio. La especificación también admite bloques discretos de muestras y silencios que se reproducen en orden. La especificación de los datos de muestra contiene errores evidentes: [20]

Los datos de forma de onda contienen los datos de la forma de onda. Se definen de la siguiente manera: <datos de onda> → { <datos-ck> | <lista de datos> } <datos-ck> → datos( <datos-onda> ) <wave-list> → LIST( 'wavl' { <data-ck> | // Muestras de ondas <silencio-ck> }... ) // Silencio <silence-ck> → slnt( <dwSamples:DWORD> ) // Recuento de muestras silenciosas

Aparentemente <data-list>(undefined) y <wave-list>(defined but not referenced) deberían ser idénticos. Incluso con esto resuelto, las producciones permiten que a <data-ck>contenga un recursivo <wave-data> (lo que implica problemas de interpretación de datos). Para evitar la recursión, la especificación puede interpretarse como:

<datos de onda> → { <datos-ck> | <lista de ondas> } <datos-ck> → datos( <bSampleData:BYTE> ... ) <wave-list> → LIST( 'wavl' { <data-ck> | // Muestras de ondas <silencio-ck> }... ) // Silencio <silence-ck> → slnt( <dwSamples:DWORD> ) // Recuento de muestras silenciosas

Los archivos WAV pueden contener listas IFF incrustadas , que pueden contener varios subfragmentos . [21] [22] [23]

Encabezado de archivo WAV

Este es un ejemplo de encabezado de archivo WAV (44 bytes). Los datos se almacenan en orden de bytes little-endian.

[Trozo de RIFF maestro] FileTypeBlocID (4 bytes): Identificador «RIFF» (0x52, 0x49, 0x46, 0x46) Tamaño del archivo (4 bytes): tamaño total del archivo menos 8 bytes FileFormatID (4 bytes): Formato = « WAVE » (0x57, 0x41, 0x56, 0x45)[Fragmento que describe el formato de los datos] FormatBlocID (4 bytes): Identificador « fmt␣ » (0x66, 0x6D, 0x74, 0x20) BlocSize (4 bytes): tamaño del fragmento menos 8 bytes, que aquí son 16 bytes (0x10) AudioFormat (2 bytes): formato de audio (1: entero PCM, 3: punto flotante IEEE 754) NbrChannels (2 bytes): Número de canales Frecuencia (4 bytes): frecuencia de muestreo (en hercios) BytePerSec (4 bytes): Número de bytes a leer por segundo (Frecuencia * BytePerBloc). BytePerBloc (2 bytes): Número de bytes por bloque (NbrChannels * BitsPerSample / 8). BitsPerSample (2 bytes): Número de bits por muestra[Fragmento que contiene los datos muestreados] DataBlocID (4 bytes): Identificador «datos» (0x64, 0x61, 0x74, 0x61) DataSize (4 bytes): tamaño de SampledData Datos muestreados

Metadatos

Como un derivado de RIFF, los archivos WAV pueden etiquetarse con metadatos en el fragmento INFO. Además, los archivos WAV pueden incorporar cualquier tipo de metadatos, incluidos, entre otros, datos de la Plataforma de metadatos extensible (XMP) [24] o etiquetas ID3 [25] en fragmentos adicionales. La especificación RIFF requiere que las aplicaciones ignoren los fragmentos que no reconocen y es posible que las aplicaciones no utilicen necesariamente esta información adicional.

Popularidad

Los archivos WAV sin comprimir son grandes, por lo que compartir archivos WAV a través de Internet es poco común, excepto entre profesionales del video, la música y el audio. La alta resolución del formato lo hace adecuado para conservar archivos de primera generación de alta calidad, para su uso en un sistema donde el espacio en disco y el ancho de banda de la red no son limitaciones.

Uso por parte de los radiodifusores

A pesar de su gran tamaño, la mayoría de las emisoras de radio utilizan archivos WAV sin comprimir, especialmente aquellas que han adoptado un sistema sin cinta.

Limitaciones

El formato WAV está limitado a archivos de menos de4  GiB , debido a su uso de un entero sin signo de 32 bits para registrar el tamaño del archivo en el encabezado. Aunque esto equivale a unas 6,8 horas de audio con calidad de CD a 44,1 kHz, estéreo de 16 bits , a veces es necesario superar este límite, especialmente cuando se requieren mayores frecuencias de muestreo , resoluciones de bits o recuento de canales . Por lo tanto, el formato W64 se creó para su uso en Sound Forge . Su campo de tamaño de archivo de 64 bits en el encabezado permite tiempos de grabación mucho más largos. El formato RF64 especificado por la Unión Europea de Radiodifusión también se ha creado para resolver este problema.

Datos que no son de audio

Dado que la frecuencia de muestreo de un archivo WAV puede variar de1  Hz a4,3  GHz y el número de canales puede ser tan alto como 65535, los archivos WAV también se han utilizado para datos que no son de audio. LTspice , por ejemplo, puede almacenar múltiples formas de onda de trazas de circuitos en canales separados, a cualquier frecuencia de muestreo apropiada, con el rango de escala completa representando ±1  V o A en lugar de una presión de sonido. [27]

Discos compactos de audio

Los discos compactos de audio (CD) no utilizan el formato de archivo WAV, sino el formato de audio Red Book . La característica común es que los CD de audio están codificados como LPCM estéreo de 16 bits a 44,1 kHz sin comprimir , que es uno de los formatos compatibles con WAV.

Comparación de esquemas de codificación

El audio de los archivos WAV se puede codificar en una variedad de formatos de codificación de audio, como GSM o MP3 , para reducir el tamaño del archivo. Todos los archivos WAV, incluso aquellos que usan compresión MP3,.wav usan la extensión.

Esta es una referencia para comparar la calidad de audio monofónico (no estereofónico ) y las tasas de bits de compresión de los formatos de codificación de audio disponibles para archivos WAV, incluidos LPCM, ADPCM , Microsoft GSM 06.10 , CELP , SBC , Truespeech y MPEG Layer-3. Estos son los códecs ACM predeterminados que vienen con Windows.

Véase también

Referencias

  1. ^ Fleischman, E. (junio de 1998). Registros de códecs WAVE y AVI. IETF. doi : 10.17487/RFC2361 . RFC 2361. Consultado el 6 de diciembre de 2009 .
  2. ^ "Detalles de la extensión de archivo .WAV". Filext.com . Consultado el 10 de agosto de 2015 .
  3. ^ abc IBM; Microsoft (agosto de 1991). «Multimedia Programming Interface and Data Specification 1.0» (PDF) . Consultado el 26 de diciembre de 2020 .
  4. ^ ab P. Kabal (19 de junio de 2006). "Especificaciones del formato de archivo de audio: archivo de sonido WAVE o RIFF WAVE". Universidad McGill . Consultado el 16 de marzo de 2010 .
  5. ^ ab "Datos de audio de múltiples canales y archivos WAVE". Microsoft Corporation. 2007-03-07 . Consultado el 2010-03-16 .
  6. ^ "Formato de archivo de audio WAVE". Biblioteca del Congreso . 12 de septiembre de 2008. Consultado el 3 de diciembre de 2023 .
  7. ^ Di Silvestro, Laile L.; Baribault, Greg (20 de junio de 1999). Formato de archivo de audio de forma de onda, registro de subtipo MIME. IETF. ID draft-ema-vpim-wav-00 . Consultado el 6 de diciembre de 2009 .
  8. ^ "Definición de archivo WAV en inglés". Oxford English Living Dictionary . Archivado desde el original el 7 de febrero de 2018.
  9. ^ Branson, Ryan (21 de octubre de 2015) (21 de octubre de 2015). "What Makes WAV Better than MP3" (Qué hace que WAV sea mejor que MP3). Online Video Converter . Consultado el 18 de junio de 2016 .{{cite web}}: CS1 maint: numeric names: authors list (link)
  10. ^ EBU (julio de 2009), EBU Tech 3306 - MBWF/RF64: Un formato de archivo extendido para audio (PDF) , archivado desde el original (PDF) el 22 de noviembre de 2009 , consultado el 19 de enero de 2010
  11. ^ IBM y Microsoft 1991, pág. 1-1, "La principal ventaja de RIFF es su extensibilidad; los formatos de archivo basados ​​en RIFF pueden adaptarse al futuro, ya que las aplicaciones existentes pueden ignorar los cambios de formato".
  12. ^ IBM y Microsoft 1991, PDF p. 56, "Los programas deben esperar (e ignorar) cualquier fragmento desconocido que encuentren, como con todas las formas RIFF".
  13. ^ IBM y Microsoft 1991, págs. 2-17 a 2-18
  14. ^ IBM y Microsoft 1991, pág. 2-18
  15. ^ Actualización de estándares multimedia de Microsoft, Nuevos tipos de datos multimedia y técnicas de datos, Revisión 3.0, 15 de abril de 1994, página 6.
  16. ^ IBM y Microsoft 1991, PDF, pág. 56
  17. ^ IBM y Microsoft 1991, PDF, pág. 56
  18. ^ IBM y Microsoft 1991, PDF, pág. 23
  19. ^ IBM & Microsoft 1991, PDF p. 21, INAMaparece antesICOP
  20. ^ Especificación de IBM y Microsoft 1991 que también describe cómo se interpreta la sintaxis de producción.
  21. ^ "Formato de archivo WAVE". 15 de noviembre de 1999. Archivado desde el original el 15 de noviembre de 1999. Consultado el 16 de marzo de 2010 .
  22. ^ "Formato de archivo de sonido WAVE PCM". 20 de enero de 2003. Archivado desde el original el 27 de agosto de 2009. Consultado el 16 de marzo de 2010 .
  23. ^ "El formato de archivo WAVE". Archivado desde el original el 22 de julio de 2011. Consultado el 16 de marzo de 2010 .
  24. ^ ESPECIFICACIÓN XMP PARTE 3: ALMACENAMIENTO EN ARCHIVOS (PDF) . Adobe Systems Incorporated. 2016. págs. 24–25. Archivado desde el original (PDF) el 25 de febrero de 2018 . Consultado el 8 de enero de 2020 .
  25. ^ "WAV". Audacity. Archivado desde el original el 6 de noviembre de 2020. Consultado el 8 de enero de 2020 .
  26. ^ "Información y estándares de calidad de audio para BBC Radio y BBC Sounds" (PDF) . BBC . BBC Design & Engineering. 28 de marzo de 2022. pág. 8. Archivado desde el original (PDF) el 28 de mayo de 2024 . Consultado el 28 de mayo de 2024 .
  27. ^ "LTspice IV" (PDF) . Linear Technologies Corporation. 2009. p. 95. Archivado desde el original (PDF) el 2012-02-27 . Consultado el 2015-09-04 .

Enlaces externos