[Sub0] - 26/05/03

Conversion 8 bits stéréo en 8 bits mono

 

Les données du sample 8 bits stéréo possèdent 2 octets: 1 octets pour la voie de gauche, et 1 octets pour la voie de droite. Pour convertir en mono, nous allons retirer 1 octets sur les 2. Nous avons donc le choix de mixer les deux voies, ou prendre uniquement soit la voie de gauche, ou de droite. Par défaut, c'est la conversion par mixage qui est la plus "normale", mais c'est aussi la plus compliquée. Ce mixage se fait par une moyenne des deux valeurs...

Comme les données du sample 8 bits ne sont pas signées, ce sera moins compliqué que dans le cas de la conversion du sample 16 bits. Le code qui suit est un exemple de conversion d'une seule donnée, et est destiné à vous expliquer la méthode. Dans le cas d'un fichier entier, il faudra placer ce code dans une boucle, pour traiter chaque donnée.

VAR voieL,voieR: byte;

BEGIN
 Result:=
word((voieL+voieR)DIV 2);
END;


En ce qui concerne l'en-tête du fichier, il faut apporter les modifications suivantes:
-
Filesize est divisée par deux.
-
Format ne change pas.
-
Mode passe de stéréo (2) à mono (1).
- Cela va donc modifier
BytePerSec et NbrByte.


 SOURCE DU PROGRAMME