Le codage d'un fichier WAV :

Un fichier .wav contient toutes les informations nécessaires à la reconstitution de « l’image sonore » qu’il contient. Il faut disposer d’un logiciel approprié pour lire ce type de fichier. 

Ce qui va définir que le fichier sera de la musique sera bien sûr son extension (ici WAV) mais ce n'est pas tout. En effet, le fichier, en plus de contenir la version numérique (01000111000....) de la musique va posséder une entête contenant des informations importantes sur la musique.

Cette partie va vous faire découvrir cette entête.

L’organisation d’un fichier .wav est détaillée dans le tableau "structure du format Wav" ci-dessous.


B (Byte) = entier sur 1 octet (8 bits)
W (Word) = entier sur 2 octets
DW (DoubleWord) = entier sur 4 octets
S[x] (String) = chaîne de caractères avec x caractères (1 caractère = 1 octet)

Donnée

Structure

Valeur

Explications

chunk type




file_type

S[4]

‘RIFF’

identification du format

file_size

DW


taille du fichier - 8 (restant)

file_id

S[4]

‘WAVE’


chunk format




chunk_id

S[4]

‘fmt’

identification chunk format

chunk_size

DW


taille du chunk format

format

W


format (0 pour classique)

channels_nb

W

{1,2}

nombre de canaux (mono / stéréo)

sampling_freq

DW


fréquence d'échantillonnage

bytes_per_second

DW


nombre d'octets par seconde utilisés

bytes_per_sample

W


nombre d'octets par échantillonnage utilisés

depth

W

{8,16}

profondeur (nombre de bits par échantillonnage)

chunk données




chunk_id

S[4]

‘data’

identification chunk données

chunk_size

DW


taille du chunk données

données


   la musique

la musique !!!!!

Chunk = morceau


Remarque: 1 octet = 8 bits. Donc un octet correspond à 28 valeurs possibles c'est à dire:

  • de 00000000 à 11111111 en binaire
  • de 0 à 255 en décimal
  • de 00 à FF en hexadécimal

Pour plus de lisibilité on écrit le binaire sous sa forme hexadécimale

Le contenu du fichier à analyser est donné ci-dessous (le contenu de ce fichier binaire est affiché octet par octet pour des raisons évidentes de facilité de lecture). Il contient la note LA.

Exemple: d'analyse de l'entête:

le 1er groupe de 4 octet représente le mot RIFF. En effet , dans le code ASCII (code international des caractères), R= (52)16, I=(49)16, F = (46)16, F = (46)16 

De même, le 3ème groupe de 4 octet: 57 41 56 45 , on retrouve (57)16 = W, (41))16 = A, (56))16 = V et (45)16 = E, c'est à dire 'WAVE' comme prévu.

 

Questions 1.1 : Entourez, dans le fichier ci-dessus, jusqu'à "bytes_per_sample", les différentes informations correspondant à la colonne « Valeur » du tableau de la structure du format wav (au dessus). 
Remarques : L’ordre des octets est inversé. Ex : Le 'file size' B4 01 00 00 se lit 00 00 01 B4.

Questions 1.2 :. Montrez que la taille du fichier est conforme à celle donnée au passage de la souris (image ci-contre) en vous servant de la ligne "file_size" du tableau « Structure format »


Questions 1.3 : Combien de canaux composent notre fichier son (justifiez votre réponse)?

Questions 1.4 : Retrouver la valeur du débit binaire annoncé sur l’icône au passage de la souris (image ci-dessus).
Le champ « data » contient la liste des valeurs issues de l’échantillonnage (échantillons) des deux voies. On peut calculer le débit par la formule suivante: 

              débit = fréquence d'échantillonnage  × nombre d'octets par échantillon × 8

Créé avec HelpNDoc Personal Edition: Améliorez votre documentation avec l'analyseur de projet avancé de HelpNDoc