graph100 a écrit :Cependant tu as oublié que la mémoire d'un son s'organise de la façon suivante :#Entête WAV# DATA du SON#
toi tu as oublié qu'un entete ça a généralement toujours la même taille

et que cet entete, indique generalement ou commence le son ....
L'en-tête d'un fichier WAV commence dès le premier octet (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 » (0x66,0x6D, 0x74,0x20)
BlocSize (4 octets) : Nombre d'octets du bloc - 8 (0x10)
AudioFormat (2 octets) : Format du stockage dans le fichier (1: PCM, ...)
NbrCanaux (2 octets) : Nombre de canaux (de 1 à 6, cf. ci-dessous)
Frequence (4 octets) : Fréquence d'échantillonnage (en hertz) [Valeurs standardisées : 11025, 22050, 44100 et éventuellement 48000 et 96000]
BytePerSec (4 octets) : Nombre d'octets à lire par seconde (i.e., Frequence * BytePerBloc).
BytePerBloc (2 octets) : Nombre d'octets par bloc d'échantillonnage (i.e., 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 (i.e. "Data[]", i.e. taille_du_fichier - taille_de_l'entête (qui fait 44 octets normalement).
DATAS[] : [Octets du Sample 1 du Canal 1] [Octets du Sample 1 du Canal 2] [Octets du Sample 2 du Canal 1] [Octets du Sample 2 du Canal 2]
* Les Canaux :
1 pour mono,
2 pour stéréo
3 pour gauche, droit et centre
4 pour face gauche, face droit, arrière gauche, arrière droit
5 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 forme (i.e., en "little endian")
[87654321][16..9][24..17] [8..1][16..9][24..17] [...
qui plus est, a l'epoque de mon facon030 , je codais en Gfa, du direct2disque c'etait a la mode a l'epoque
donc rien ne t'empeche de lire le Fichier son , a l'Octet que tu veux

comme on le faisait