Aller au contenu

Waveform Audio File Format

Un article de Wikipédia, l'encyclopédie libre.
WAVE
Waveform Audio File Format
Caractéristiques
Extensions
.wav,.WAVVoir et modifier les données sur Wikidata
Type MIME
audio/vnd.wave,audio/wav,audio/wave,audio/x-wav,audio/x-pn-wavVoir et modifier les données sur Wikidata
PUID
Signatures
52494646{4}57415645(PRONOMregex)
WAVE(ascii)
57 41 56 45(hexa)Voir et modifier les données sur Wikidata
Développé par
Version initiale
Conteneurde fichiers
Basé sur
Origine de
Spécification

LeWaveform Audio File Format(WAVE,ouWAVen rapport avec sonextension de fichier), est unformat conteneurdestiné au stockage de l'audio numérique mis au point parMicrosoftetIBMet 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 ».

Généralités

[modifier|modifier le code]

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-formeMacintoshest 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'EBUavec 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 compressionqui 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'ID3ou 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 à 2Gio,le format WAV est en réalité limité à une taille de fichier de 4Gio[4],ce qui peut être problématique dans certains domaines. Par exemple, 4Gioéquivaut à un peu moins de 40 minutes d'informations au format 5.1 en 24 bit/96kHz.C'est une des raisons ayant incité Apple à développer un nouveau conteneur nomméCore Audio Format(CAF).

Cette limite de 4Gioa cependant été repoussée avec le formatRF64,qui l'étend jusqu'à 16exbioctet.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é.

Structure des fichiers WAV

[modifier|modifier le code]

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é(code signifiantformat) et un bloc appelédata.Le blocdoit être positionné en amont du blocdata[5].

  • Le bloccontient les métadonnées techniques, c'est-à-dire les informations relatives au codage du flux audio, informations indispensables pour interpréter les données.
  • Le blocdatacontient la charge (payload), c'est-à-dire les données audio utiles.

En-tête de fichier WAV

[modifier|modifier le code]

L'en-tête d'un fichier WAV commence dès le premieroctet(offset0). 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 «»(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 1duCanal 1] [Octets duSample 1duCanal 2] [Octets duSample 2duCanal 1] [Octets duSample 2duCanal 2]

* Les Canaux:
1pour mono,
2pour stéréo
3pour gauche, droit et centre
4pour face gauche, face droit, arrière gauche, arrière droit
5pour gauche, centre, droit, surround (ambiant)
6pour 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,WaveLabet WavePad.

  1. (en)«RFC2361», surietf.org,(consulté le)
  2. (en)«Sound Devices - 688», sursounddevices.com(consulté le)
  3. (en)«Nagra Seven», surnagraaudio.com(consulté le)
  4. (en)UERTech 3306 - MBWF / RF64: An extended File Format for Audio»[PDF],:«The reason for the 4 Gbyte barrier is the 32-bit addressing in RIFF/WAVE and BWF. With 32 bits a maximum of 4 294 967 296 bytes = 4 Gbyte can be addressed.»,p.7
  5. (en)IBM Corporation & Microsoft Corporation,Multimedia Programming Interface and Data Specifications 1.0 (Standard RIFF et WAVE),(lire en ligne),«Programs must expect (and ignore) any unknown chunks encountered, as with all RIFF forms. However, <fmt-ck> must always occur before <wave-data>, and both of these chunks are mandatory in a WAVE file.»p.56

Articles connexes

[modifier|modifier le code]

Liens externes

[modifier|modifier le code]