>or il semblerait que ça ne soit pas toujours le cas (voire jamais).
Tu peux retenir l'option "jamais"
>en gros pour diviser le volume par deux on enlève 1 bit à droite, sur 16 bits de CD il en reste 15, et ainsi de suite.
oui. diviser par 2^n revient à décaler de n bit vers la droite (en faisant entrer des zéro à gauche). Astuce bien connue des adeptes de l'assembleur car généralement consommant peu de cycles d'horloge
>Le signal à faible niveau sonore est donc "massacré". Il s'avère que ce comportement doit se retrouver sur la majeure (si ce n'est toute) partie des cartes sons.
Si la carte son est 16 bits, c'est indiscutable.
Si maintenant la carte son est 24 bits, c'est faux car il faut placer les 16 bits du signal ds les 24 bits que va convertir le DAC.
Pour implanter la chose, if faut caler les 16 bits sur le bit de poids fort des 24 bits (donc calage à gauche) puis complèter par 0000 0000 en binaire.
Un signal nul de 16 bits va donner :
0000 0000 0000 0000 0000 0000 = 0x00 =
0
Un signal =1 de 16 bits va donner :
0000 0000 0000 0001 0000 0000 = 0x100 =
256
Un signal =2 de 16 bits va donner :
0000 0000 0000 0010 0000 0000 = 0x200 =
512
etc.
Un signal = 2^16-2 de 16 bits va donner :
1111 1111 1111 1110 0000 0000 = 0xFFFE00 = 16776704
Un signal = 2^16-1 de 16 bits (soit plein pot) va donner :
1111 1111 1111 1111 0000 0000 = 0xFFFF00 = 16776960
Donc à chaque incrément de 1 sur un signal de
16 bits correspond un incrément de
256 sur le mot de 24 bits que convertit le DAC
par contre, à chaque incrément de 1 sur un signal de
24 bits correspond un incrément de 1 sur le mot de 24 bits que convertit le DAC
Autrement dit, en sortie de DAC l'incrément en tension sera plus important pour un signal 16 bits que pour un signal 24 bits. Ceci est normal puisqu'un signal 24 bits à une résolution en amplitude beaucoup plus grande (256 fois plus grande pour être exact).
Dit autrement, le pas d'incrémentation en tension est 256 fois plus petit sur un signal 24 bits que sur un signal 16 bits.
Entre un signal "plein pot" 24 bit et un signal "plein pot" 16 bit il y a un écart de :
0000 0000 0000 0000 1111 1111 = 0xFF = 255
Ce qui est totalement insignifiant en pratique puisque c'est l'écart entre deux niveaux consécutif sur un signal 16 bits !!! (cf. les 256 au dessus). L'exemple qui suit montre ce que cela donne en terme de tension.
Exemple pratique
================
imaginons que la carte sorte une tension comprise entre 0 et 10V
- le pas d'incrémentation en tension sur un signal 24 bits est de :
Delta24 = 10/((2^24)-1) = 5,9604648328104515558750364705942e-7 Volt, soit 0.596 µV
et il y a 2^24 tensions possibles entre 0 et 10V
- le pas d'incrémentation en tension sur un signal 16 bits est de :
Delta16 = (10-Delta24)/((2^16)-1) = 1,52590209871877877759286555466489e-4 Volt, soit 0.152 mV
soit 256 fois plus que delta24
et il y aura
que 2^16 tensions possibles entre 0 et 10V
La tension max en 16 bits sera de :
V16max = Delta16 * (2^16-1) = 10-delta24
La tension max en 24 bits sera de
V24max = Delta24 * (2^24-1) = 10
Cette quasi égalité explique pourquoi un signal "plein pot" 16 bit ou un signal "plein pot" 24 bits donne un niveau sonore que l'oreille ne peut distinguer et heureusement car sinon, selon que la source soit 16 ou 24 bits, il faudrait sans cesse jouer avec le potar !
Pour en revenir a ton problème de réglage du niveau, si tu divises par 2 un signal 16 bits "plein pot", tu passes de :
1111 1111 1111 1111 0000 0000
à
0111 1111 1111 1111 1000 0000
Il n'y a donc aucune perte de données
Tu commencera à perdre si tu divise par plus que 2^8 = 256 ! Tu peux donc dormir sur tes 2 oreilles et utiliser ta RME comme préamp
@+
Emmanuel