Bonjour,
je cherche à additionner plusieurs sons de type wav entre eux, afin d'en créer un seul...
J'ai réussi à extraire les valeurs des échantillons, qui sont en fait pour le type d'encodage de mes fichiers wave des suites de 4 octets successifs (un int donc)...
Je suis à présent confronté à un problème... j'essaie d'additionner 2 échantillons de deux sons différents afin de les superposer, malheureusement dans certains cas le son est fortement bruité ou saturé.
Voilà en gros ce que je fais (code très simplifié) :
loop {
byte[] echA = getEchA;
byte[] echB = getEchB;
int a = byteToInt(echA);
int b = byteToInt(echB);
int res = a+b; // a/2+b/2
byte[] echRes = intToByte(res);
play(res);
}Le problème est au niveau de la ligne en gras je suppose...
En effet, si je ne fais pas la division par 2, une addition de 2 échantillons de valeurs élevée peux donner un nombre négatif (dépassement de capacité)...
Et si je divise par 2, cela ne marche pas non-plus... Alors j'y comprends rien et je patauge dans la semoule depuis un moment pour trouver une solution...
Si quelqu'un peut m'aider, c'est avec plaisir, car je galère vraiment :)!
A+!