Re: Fichier .wav illisible, endommagé.
Publié : 19 sept. 2013, 23:40
Bonjour,
Sans doute que, en plus de l'en-tête, le zoom a oublié d'écrire certains octets par-ci par là.
Prenons l'exemple d'un fichier mono 16 bit. Pour d'autres formats, stéréo ou plus, 24 bit ou autre, il faudra extrapoler, mais le principe est le même.
Les données se trouvent sous la forme générale AB AB AB AB etc… où A et B représentent chacun un octet, et donc AB un échantillon.
Si à un certain moment un octet n'est pas écrit, on se retrouve avec un fichier de la forme (par exemple) AB AB BA BA BA…là c'est le cinquième octet (un A) qui a sauté et qui entraine un décalage de tout ce qui suit. AB devient BA.
L'ordinateur lit la "moitiée" d'un échantillon avec la "moitiée" d'un autre (ou vice versa), d'où l'apparition d'un signal type bruit.
Cela peut arriver plusieurs fois pendant l'enregistrement et à l'erreur suivante on se retrouve avec un fichier de la forme (par exemple) AB AB BA BA AB AB… où là, ce sont les cinquième et neuvième octets qui sont oubliés, mais à partir du neuvième octet, le signal reprend sa forme correcte. BA redevient AB, d'où l'alternance de signal audio et de bruit dans le fichier.
Et ainsi de suite…si on est en 16 bit ( 2 octets AB), le signal retombera sur ses pieds une fois sur deux, si on est en 24 bit ( 3 octets ABC), c'est une fois sur trois que le signal ressuscitera.
Si les erreurs d'écriture sont nombreuses, ça devient laborieux à réparer mais si on a vraiment besoin de récupérer un enregistrement on peut essayer ça:
Exemple avec un fichier 16 bit mono:
_ Dupliquer le fichier abimé pour en avoir 2 versions.
_Ouvrir avec l'éditeur héxa l'une des deux versions (n'importe laquelle) et insérer à son début (data sub chunk ) un octet, quelconque, juste pour décaler tous les octets audio du fichier. (Penser à incrémenter les sub chunk size.)
_Puisque le fichier redevient correct une fois sur deux, les parties bruitées redeviennent du signal utile et les parties utiles deviennent bruitées.
_Sauver ce fichier.
_Ouvrir les deux fichiers dans un éditeur audio et normalement ils se complètent, ils s'emboitent.
_Couper/coller et raccorder.
_Si c'est un fichier 24 bit, faire l'opération trois fois au lieu de deux.
Si c'est un fichier 16 bit stéréo, le signal est reconstitué tous les deux octets mais avec une inversion des canaux gauche/droite, ce n'est que tous les quatre octets que le signal retrouve son intégrité.
Pour un fichier 24 bit stéréo, c'est tous les 6 octets que le signal est précisément reconstitué. Etc...
Si les erreurs sont plus nombreuses que celles décrites plus haut, longues pertes d'échantillons ou écriture non chronologique, etc… ça peut devenir très compliqué, et il faudra peut-être chercher une autre méthode.
Bon courage.
Sans doute que, en plus de l'en-tête, le zoom a oublié d'écrire certains octets par-ci par là.
Prenons l'exemple d'un fichier mono 16 bit. Pour d'autres formats, stéréo ou plus, 24 bit ou autre, il faudra extrapoler, mais le principe est le même.
Les données se trouvent sous la forme générale AB AB AB AB etc… où A et B représentent chacun un octet, et donc AB un échantillon.
Si à un certain moment un octet n'est pas écrit, on se retrouve avec un fichier de la forme (par exemple) AB AB BA BA BA…là c'est le cinquième octet (un A) qui a sauté et qui entraine un décalage de tout ce qui suit. AB devient BA.
L'ordinateur lit la "moitiée" d'un échantillon avec la "moitiée" d'un autre (ou vice versa), d'où l'apparition d'un signal type bruit.
Cela peut arriver plusieurs fois pendant l'enregistrement et à l'erreur suivante on se retrouve avec un fichier de la forme (par exemple) AB AB BA BA AB AB… où là, ce sont les cinquième et neuvième octets qui sont oubliés, mais à partir du neuvième octet, le signal reprend sa forme correcte. BA redevient AB, d'où l'alternance de signal audio et de bruit dans le fichier.
Et ainsi de suite…si on est en 16 bit ( 2 octets AB), le signal retombera sur ses pieds une fois sur deux, si on est en 24 bit ( 3 octets ABC), c'est une fois sur trois que le signal ressuscitera.
Si les erreurs d'écriture sont nombreuses, ça devient laborieux à réparer mais si on a vraiment besoin de récupérer un enregistrement on peut essayer ça:
Exemple avec un fichier 16 bit mono:
_ Dupliquer le fichier abimé pour en avoir 2 versions.
_Ouvrir avec l'éditeur héxa l'une des deux versions (n'importe laquelle) et insérer à son début (data sub chunk ) un octet, quelconque, juste pour décaler tous les octets audio du fichier. (Penser à incrémenter les sub chunk size.)
_Puisque le fichier redevient correct une fois sur deux, les parties bruitées redeviennent du signal utile et les parties utiles deviennent bruitées.
_Sauver ce fichier.
_Ouvrir les deux fichiers dans un éditeur audio et normalement ils se complètent, ils s'emboitent.
_Couper/coller et raccorder.
_Si c'est un fichier 24 bit, faire l'opération trois fois au lieu de deux.
Si c'est un fichier 16 bit stéréo, le signal est reconstitué tous les deux octets mais avec une inversion des canaux gauche/droite, ce n'est que tous les quatre octets que le signal retrouve son intégrité.
Pour un fichier 24 bit stéréo, c'est tous les 6 octets que le signal est précisément reconstitué. Etc...
Si les erreurs sont plus nombreuses que celles décrites plus haut, longues pertes d'échantillons ou écriture non chronologique, etc… ça peut devenir très compliqué, et il faudra peut-être chercher une autre méthode.
Bon courage.