Cet article est uneébauche concernant l’informatique.
Extensions | |
---|---|
Type MIME | |
PUID | |
Signatures | |
Développé par | |
Version initiale | |
Conteneur de fichiers | |
Basé sur | |
Origine de | |
Spécification |
LeWaveform Audio File Format (WAVE, ouWAV en rapport avec sonextension de fichier), est unformat conteneur destiné au stockage de l'audio numérique mis au point parMicrosoft etIBM et dont la version initiale fut publiée pour la première fois en août 1991. Le format WAVE est construit conformément auResource Interchange File Format, c'est pourquoi on parle parfois de « RIFF/WAVE ».
Le format WAV est un format conteneur capable de recevoir des flux audio aussi variés que leMP3, l'AC-3, l'ATRAC, l'ADPCM, lePCM[1]. Ce dernier étant de très loin le plus courant, les fichiers .wav sont souvent, à tort, considérés comme correspondant à des fichiers audio « sans perte » (en anglaislossless).
L'emploi du format WAV est standardisé sousWindows ; son pendant sous la plate-formeMacintosh est l'AIFF/AIFC.
Le format WAV associé à l'audio PCM demeure aujourd'hui encore le format de prédilection en production musicale et audiovisuelle. Il est largement employé comme format d'enregistrement par des systèmes comme Pro Tools, Pyramix, Fairlight ou encore par les fabricants d'enregistreurs matériels comme Sound Devices[2] ou Nagra[3].
Ce succès est en partie dû au fait que, de par sastructure en blocs de données, le format WAV peut facilement s'adapter aux contraintes des logiciels d'enregistrement et d'édition, qui n'hésitent pas à ajouter de nouveaux blocs propriétaires au gré de leurs besoins, tout en maintenant une compatibilité parfaite avec les autres logiciels.
Aussi, plusieurs nouveaux blocs ont été standardisés par l'EBU avec leBWF (Broadcast Wave Format), permettant d'ajouter aux fichiers WAV diverses métadonnées comme leTime Code, la localisation, ou encore l'ajout de remarques sur la qualité de prise de son.
En revanche, le format WAV n'est pas ou peu employé pour la diffusion, où l'on préférera unformat de compression qui permettra une réduction significative de la taille du flux tout en maintenant une qualité de restitution acceptable.
De nombreuses implémentations de lecteurs grand public ne suivent pas le standard et simplifient grandement l'interprétation des fichiers WAV, omettant ainsi certains blocs de données. Par exemple, l'INFO List permet d'ajouter des métadonnées descriptives généralistes incluant l'artiste, le genre ou encore les informations de droit d'auteur.
Certains logiciels ont choisi d'implémenter d'autres solutions pour l'ajout de métadonnées descriptives plus adaptées à l'audio, comme l'ID3 ou l'APE tag (en). Mais le manque de standardisation pour l'inclusion de ces formats aux fichiers WAV implique souvent des difficultés quant à l’interopérabilité des logiciels.
Bien que là aussi, certains logiciels limitent les fichiers WAV à 2 Gio, le format WAV est en réalité limité à une taille de fichier de 4 Gio[4], ce qui peut être problématique dans certains domaines. Par exemple, 4 Gio équivaut à un peu moins de 40 minutes d'informations au format 5.1 en 24 bit/96 kHz. C'est une des raisons ayant incité Apple à développer un nouveau conteneur nomméCore Audio Format (CAF).
Cette limite de 4 Gio a cependant été repoussée avec le formatRF64, qui l'étend jusqu'à 16 exbioctet. Le format RF64, bien que reposant sur le format WAV, n'est cependant pas rétro-compatible, et nécessite par conséquent un lecteur adapté.
Le formatRIFF, sur lequel repose le format WAV, définit une structure de fichier qui repose sur une succession de blocs de données (chunks).
Chaque bloc est identifié par 4 octets (un identifiantFourCC : 4 symboles ASCII) suivi de la taille du bloc codé sur 4 octets. Si un lecteur rencontre un bloc qu'il ne connaît pas, il passe au suivant. Un fichier wav doit au minimum contenir un bloc appeléfmt␣(leglyphe « ␣ » représente uneespace)
(code signifiantformat) et un bloc appelédata
. Le blocfmt␣(leglyphe « ␣ » représente uneespace)
doit être positionné en amont du blocdata
[5].
fmt␣(leglyphe « ␣ » représente uneespace)
contient les métadonnées techniques, c'est-à-dire les informations relatives au codage du flux audio, informations indispensables pour interpréter les données.data
contient la charge (payload), c'est-à-dire les données audio utiles.L'en-tête d'un fichier WAV commence dès le premieroctet (offset 0). Il a une taille de 44 octets, et est constitué des champs suivants (listés dans l'ordre) :
[Bloc de déclaration d'un fichier au format WAVE] FileTypeBlocID (4 octets) : Constante «RIFF
»(0x52,0x49,0x46,0x46) FileSize (4 octets) : Taille du fichier moins 8 octets FileFormatID (4 octets) : Format = «WAVE
»(0x57,0x41,0x56,0x45)[Bloc décrivant le format audio] FormatBlocID (4 octets) : Identifiant «fmt␣(leglyphe « ␣ » représente uneespace)
»(0x66,0x6D, 0x74,0x20) BlocSize (4 octets) : Nombre d'octets du bloc moins 8 octets, soit ici 16 octets(0x10) AudioFormat (2 octets) : Format du stockage dans le fichier(1: PCM entier, 3: PCM flottant, 65534: WAVE_FORMAT_EXTENSIBLE) NbrCanaux (2 octets) : Nombre de canaux(de 1 à 6, cf. ci-dessous) Frequence (4 octets) :Fréquence d'échantillonnage (enhertz)[Valeurs standardisées : 11 025, 22 050, 44 100 et éventuellement 48 000 et 96 000] BytePerSec (4 octets) : Nombre d'octets à lire par seconde(c.-à-d., Frequence * BytePerBloc). BytePerBloc (2 octets) : Nombre d'octets par bloc d'échantillonnage(c.-à-d., tous canaux confondus : NbrCanaux * BitsPerSample/8). BitsPerSample (2 octets) : Nombre de bits utilisés pour le codage de chaque échantillon (8, 16, 24)[Bloc des données] DataBlocID (4 octets) : Constante «data
»(0x64,0x61,0x74,0x61) DataSize (4 octets) : Nombre d'octets des données(c.-à-d. "Data[]", c.-à-d. taille_du_fichier - taille_de_l'entête (qui fait 44 octets normalement). DATAS[] : [Octets duSample 1 duCanal 1] [Octets duSample 1 duCanal 2] [Octets duSample 2 duCanal 1] [Octets duSample 2 duCanal 2] * Les Canaux :1 pour mono,2 pour stéréo3 pour gauche, droit et centre4 pour face gauche, face droit, arrière gauche, arrière droit5 pour gauche, centre, droit, surround (ambiant)6 pour centre gauche, gauche, centre, centre droit, droit, surround (ambiant)NOTES IMPORTANTES : Les octets des mots sont stockés sous la formepetit-boutiste (c'est-à-dire enlittle endian)[87654321][16..9][24..17] [8..1][16..9][24..17] [...
De plus, certains fichiers ont un bloc "JUNK" entre le premier et le second bloc. Ce dernier a la structure suivante :
[Bloc de déclaration d'un fichier au format WAVE][Bloc JUNK] JunkBlocId (4 octets) : Constante « JUNK
»(0x4A,0x55,0x4E,0x4B) JunkBloc (32 octets): 0x1C (séparateur de fichier) puis 31 fois 0x00[Bloc décrivant le format audio]
Il existe de nombreux logiciels, nomméséditeurs audio, qui permettent d'éditer, amplifier, normaliser, de modifier la vitesse ou la hauteur du son, ou encore d'appliquer des effets (écho, fondu...) sur des fichiers WAV, par exemple :Ardour,Audacity,GoldWave, Ocenaudio,Sound Forge,WaveLab et WavePad.