hello tout le monde.
je voudrais faire varier numériquement le volume d'un flux sonore 16bits 44.1Khz stereo qui transite via un microcontroleur 16 bits mais je rencontre quelque obstacles.
je pensais faire des divisions : /2 /3 /4 etc...
mais ça ne fonctionne pas proprement, la variation n'est pas linéaire et la première étape est trop importante.
donc j'ai fait ceci :
res = flux / volume * 4;
en sachant que volume est au mini = 4 et plus ça augmente, plus le son diminue.
mais je rencontre un problème de diminution de la qualité audio (perte d'infos...) et d'augmentation du souffle.
j'ai essayé de passer en float ou en double (pour pouvoir faire le *4 avant la div...) mais c'est trop lent avec ce format et ça merde.
avez vous des solutions a me proposer ?
dans l'idéal, en travaillant avec des formats rapides a traiter.
je ne peux pas modifier le volume directement DANS le codec car je dois faire un mixage a l'interrieur du micro.
merci d'avance,
marc.
-----