cs_carat
Messages postés13Date d'inscriptionmardi 20 mai 2003StatutMembreDernière intervention21 septembre 2009
-
7 sept. 2009 à 14:53
cs_carat
Messages postés13Date d'inscriptionmardi 20 mai 2003StatutMembreDernière intervention21 septembre 2009
-
21 sept. 2009 à 11:31
Salut à tous,
Je suis en train de développer un lecteur bas-niveau afin de pouvoir intégrer des effets sonores.
Je supporte actuellement les pcm, les wav et les mp3... et mon logiciel travaille directement sur les blocks RAW extraits de ces fichiers.
Ma question est la suivante: avez-vous un algorithme capable de changer le volume sonore avec en sortie un son de qualité... j'utilise actuellement la formule suivante:
si le volume est à 80%: je parcours le block RAW et byte par byte, j'applique la formule suivante: byte = byte * 100 / 80
Le calcul fonctionne et le son est ajusté, mais plus je diminue le son, plus il devient pourri (comme s'il était trop compressé en mp3, avec en prime une prise de soufle exagérée).
cs_juju12
Messages postés966Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 4 mars 20104 7 sept. 2009 à 17:38
En gros les données correspondent au déplacement de la membrane (micro ou hp) donc c'est un entier compris entre -127 et 127;
SAUF QUE : il n'est pas stocké sous cette forme (byte signé) mais comme byte non signé avec un offset, autrement dit le vrai 0 n'est pas codé par 0 mais par 128.
donc il faudrait plutôt appliquer une formule du genre :