Bonjour à toutes et à tous,
j'utilise un codec audio, le MAX9867 pour ne pas le nommer. Via l'I²S je peux recevoir des données audio PCM et lui en envoyer. Jusqu'ici j'ai pas trop de problème. J'essaie d'extraire la voie gauche et la voie droite et de leur appliquer un gain. Seulement, j'ai dû me tromper dans les opération et/ou je ne dois pas avoir bien compris le pcm car je n'arrive pas à mes fins.
Voilà ce que je fais avec mon microcontrôleur(SAM3S4C de chez ATMEL) :
1) je reçois dans un registre 32bits les deux mots 16 bits correspondant à la voie gauche et la voie droite depuis mon codec audio;
2) j'extrais la voie gauche depuis les 16 bits de poids fort, j'extrais la voie droite depuis les 16 bits de poids faible
3) je multiplie voie gauche par ma valeur de volume, de même pour la voie droite
4) je concatène voie gauche et voie droite pour mise dans le registre 32bits en vue d'un envoie
5) envoie vers le codec audio
Ma valeur de volume est un pourcentage du signal original, donc un gain <= 0
lorsque le gain vaut 0, le son est ok. Mais lorsque le gain < 0, le son "crache" (Mes excuses aux experts acoustique, je n'ai pas le terme technique correspondant).
Auriez-vous une idée de quelle(s) erreur(s) j'aurais pu commettre?
Cordialement.
-----