Publié : 17 août 2007, 14:10
Ce débat est aussi vieux que les DAWs....
Les résolutions internes des systèmes sont supérieures aux résolutions de fichiers, sinon, on ne pourrait même pas sommer. Opposer mantisse fixe et exposant est donc un peu biaisé... C'est juste la manière de calculer qui est différente.
Si on somme deux sinus 24 bit full scale en phase, le résultat fera 25 bit, si on en somme 4, il fera 26 bit, etc...
Donc, avec un calcul en mantisse fixe, on dispose d'un accumulateur, qui fait 48bit par exemple dans le cas d'un ProTools TDM (les DSP Motorola qui les équipent étant à 56bit, peut-être ont-ils fini par aller jusqu'à cette valeur, je ne sais pas). Ecrêter ou pas dans un tel système dépend donc aussi d'où on décide de mettre le 0 "Vu" et le fs à l'intérieur de ces 48bit, qu'il faudra réduire ensuite à 24 en, ditherant... et écrêtant éventuellement. L'intérêt de ce genre de systèmes, c'est que le fichier 24 bit est directement disponible pour les calculs, sans traitement préalable.
En virgule flottante, on ne dispose plus d'un accumulateur, mais d'une échelle variable. Dire que c'est plus transparent est une escroquerie des gens de marketing, car en 32bit float, la mantisse fait 20bit et l'exposant 12, ce qui signifie qu'un fichier 24bit pleine échelle doit déjà être converti au bon format avant de pouvoir "entrer" dans les traitements de sommation. Le 64 bit float permet de supprimer ce problème (la mantisse excédant alors la taille de la résolution audio, 40bit contre 24), mais quels logiciels somment et traitent en 64bit float ?
Donc, si on prend un fichier 24 bit, qu'on le lit dans un sommateur à mantisse fixe à travers un master à 0, le fichier est tel quel. Si on lit le même à travers un sommateur en 32bit float, il est converti dans un format, puis à nouveau dans l'autre, donc il est modifié. (c'est sans doute pour cela que Steinberg a fini par intégrer à Cubase et Nuendo la possibilité d'enregistrer directement en 32bit float).
La mantisse fixe est donc mieux ? Pas si simple, car le grand avantage de la virgule flottante est sa dynamique quasi illimitée (contre 288 dB par exemple dans un accumulateur 48bit), et donc le meilleur rendu sur les niveaux faibles.
Une dernière chose : pourquoi une mantisse de 20 et un exposant de 12, alors qu'avec une mantisse de 24bit et un exposant de 8, on arrivait à quelque chose de sans doute plus adapté à l'audio ? Parce que les logiciels sont codés avec des applis qui ne sont pas spécifiques à l'audio, et qu'un float long (une variable en virgule flottante longue, donc sur 32bit, par opposition aux variables standards qui font 16bit) sont comme ça en langage C....
My 2 cents...
Les résolutions internes des systèmes sont supérieures aux résolutions de fichiers, sinon, on ne pourrait même pas sommer. Opposer mantisse fixe et exposant est donc un peu biaisé... C'est juste la manière de calculer qui est différente.
Si on somme deux sinus 24 bit full scale en phase, le résultat fera 25 bit, si on en somme 4, il fera 26 bit, etc...
Donc, avec un calcul en mantisse fixe, on dispose d'un accumulateur, qui fait 48bit par exemple dans le cas d'un ProTools TDM (les DSP Motorola qui les équipent étant à 56bit, peut-être ont-ils fini par aller jusqu'à cette valeur, je ne sais pas). Ecrêter ou pas dans un tel système dépend donc aussi d'où on décide de mettre le 0 "Vu" et le fs à l'intérieur de ces 48bit, qu'il faudra réduire ensuite à 24 en, ditherant... et écrêtant éventuellement. L'intérêt de ce genre de systèmes, c'est que le fichier 24 bit est directement disponible pour les calculs, sans traitement préalable.
En virgule flottante, on ne dispose plus d'un accumulateur, mais d'une échelle variable. Dire que c'est plus transparent est une escroquerie des gens de marketing, car en 32bit float, la mantisse fait 20bit et l'exposant 12, ce qui signifie qu'un fichier 24bit pleine échelle doit déjà être converti au bon format avant de pouvoir "entrer" dans les traitements de sommation. Le 64 bit float permet de supprimer ce problème (la mantisse excédant alors la taille de la résolution audio, 40bit contre 24), mais quels logiciels somment et traitent en 64bit float ?
Donc, si on prend un fichier 24 bit, qu'on le lit dans un sommateur à mantisse fixe à travers un master à 0, le fichier est tel quel. Si on lit le même à travers un sommateur en 32bit float, il est converti dans un format, puis à nouveau dans l'autre, donc il est modifié. (c'est sans doute pour cela que Steinberg a fini par intégrer à Cubase et Nuendo la possibilité d'enregistrer directement en 32bit float).
La mantisse fixe est donc mieux ? Pas si simple, car le grand avantage de la virgule flottante est sa dynamique quasi illimitée (contre 288 dB par exemple dans un accumulateur 48bit), et donc le meilleur rendu sur les niveaux faibles.
Une dernière chose : pourquoi une mantisse de 20 et un exposant de 12, alors qu'avec une mantisse de 24bit et un exposant de 8, on arrivait à quelque chose de sans doute plus adapté à l'audio ? Parce que les logiciels sont codés avec des applis qui ne sont pas spécifiques à l'audio, et qu'un float long (une variable en virgule flottante longue, donc sur 32bit, par opposition aux variables standards qui font 16bit) sont comme ça en langage C....
My 2 cents...