Se connecter
Se connecter

ou
Créer un compte

ou

Sujet Différence de son entre les DAW : un mythe ?

  • 296 réponses
  • 34 participants
  • 38 033 vues
  • 48 followers
Sujet de la discussion Différence de son entre les DAW : un mythe ?
J'ouvre un nouveau thread pour une discussion qui a commencé dans le sujet Comment sont créés les kicks des productions actuelles ?.
Suite à la remarque d'un membre qui disait qu'on peut avoir le gros son avec seulement des plugs, nous parlions de l'intervention de la qualité des convertos, des plugs et des DAW utilisés.
Nous étions en train de dire qu les DAW et les plugs n'interviennent pas dans ce qui sort du monitoring et que la différence de son entre les bounces et les L-R des softs est un mythe. Voici ma réponse aux derniers posts :


Citation : ben sans être méchant, si ils t'on répondus ca, c'est qu'ils n'y connaissent pas grand chose, d'une parsque les calculs sont faits en 32 bit flottant dans TOUS LES CAS (sauf certains plugs particuliers), et de deux parsqu'il n'y a pas de notion de qualité de calcul à partir du moment ou on applique le même algorythme, on est en numérique, c'est du 1 et du 0, soit ca marche et ca fait tout le temps pareil partout, soit ca marche pas.



Ca me parait logique, mais tous les mecs qui m'ont dit entendre des différences entre les DAW sont des ingés, et pas des mecs qui ont appris sur le tas... comme quoi, ce ne sont pas des clichés de débutants.

Citation : ben oubli ton test alors, il ne vaut rien.



Citation : Tu as répondu toi même au mystère



Je suis d'accord que pour que la mesure soit bonne, on reproduit EXACTEMENT la même situation dans les deux cas; mais ce que je ne comprends pas, c'est qu'on n'obitenne pas le même résultat, quelque soit l'audio sur lequel l'effet est appliqué !
Ca voudrait dire qu'avec un simple coupe haut, on n'a pas le même son sur une guitare que sur une voix par exemple ?

Après ça vient peut être du fait que la source stéréo était un mix entier et que les sources mono étaient des prises de son brutes et individuelles...
Afficher le sujet de la discussion
241

Citation :

Qu'est-ce que tu veux dire par "je pouvais retrouver chaque piste composant l'export" ?

si par exemple j'exporte la sommation des 60 pistes, que j'importe le résultat en session, que j'inverse la polarité de 59 pistes sur les 60, que j'exporte le résultat et que je le réimporte en inversion de polarité pour comparer avec la piste de base (la 60eme dont je n'avais pas inversé la polarité)=> absence totale de signal

Et en plus différentes manipes du même type avec des groupes de 5 ou 10 pistes=> même résultat, au final j'étais capable d'annluer une à une chaque piste de l'export et de retrouver la dernière totalement identique à celle de base.

Suis-je plus clair?

Pour moi pour qu'il y ai ces erreurs d'arrondi sur une simple sommation, il faut sortir des capacités de quantifcation au niveau du bus, donc comme je l'ai précisé, le test marche si la somme ne fait pas clipper le master.

242
Citation :
Si l'informatique utilise du binaire pour transmettre les infos, mais ça est-ce un gage d'absence totale d'erreur?

Entre l'analogique et le numérique les erreurs ne se situent pas aux mêmes endroits.

En analogique, le gros problème est la "répétabilité".

Les composants ne présentent pas exactement les mêmes caractéristiques en fonction de la température, de l'humidité, entre 2 séries de production (je parle de la fabrication industriel).
De fait, même en positionnant "tous les potards exactement aux mêmes endroits", tu obtiendras des petites différences d'un appareil à un autre, à des températures différentes... à des âges différents.

Ensuite, chaque recopie d'un signal ne peut pas être rigoureusement identique à l'original : chacune d'entre-elle introduit un "bruit thermique" qui sera différent d'un copie à une autre, même avec le même matériel.
Si tu fais une copie de copie de copie... le bruit ajouté sera de plus en plus fort.


Dans le cas du numérique, les quantifications / échantillonnages garantissent que si l'on applique plusieurs fois le traitement sur le même signal numérique, la sortie sera identique.
Les "dispersions" et "bruits thermiques" des composants électroniques existent toujours, mais la différence électrique entre le "niveau haut" et le "niveau bas" est assez importante pour que ces bruits ne viennent pas perturber l'information.
Pour parler clairement, si un "0 logique" correspond à du "0 Volt" et qu'un "1 logique" correspond à du "+12 Volts", tant que le bruit sur les composants est inférieur à 6 Volts tu ne risques pas de confondre un "0" et un "1"



Les erreurs évoquées ici dans le cadre du numérique concernent les erreurs d'arrondis lié à la quantification de valeurs continues.

Un exemple en base 10 : S = 1/3 = 0.33333333333.... le nombre de digits du bus étant limité, il va falloir arrondir (alors que le problème ne se pose pas en analogique). Par exemple, je ne garde que 3 digits après la virgule et j'arrondis au nombre inférieur :
1/3 ≈ 0.333 (= Sq, le signal quantifié)

J'aurais donc une erreur entre le signal "réel" et le signal "quantifié" de :
err = S - Sq = 1/3 - 0.333 = 0.000333333333....

Avec 3 digits, au maximum cette erreur pourra être de 10^-3 (par exemple 4.000999999... ≈ 4.000)
C'est exactement ce que fait un codage en virgule fixe, mais en base 2. L'erreur sera de 2^-n avec n le nombre de bits après la virgule.


Cette erreur d'arrondi revient à ajouter, en moyenne, un bruit additif '- err' :
Sq = S - err

Avec des outils de statistique, que je ne détaillerai pas ici, on peut montrer que la puissance de ce bruit dépend du nombre de bits après la virgule, et on peut calculer un rapport signal à bruit :
SNR = 10log( "Puissance S" ) / 10log( "Puissance err" )

Plus ce ratio est important, moins le bruit lié à la quantification est audible.


Dans le cas d'un codage à virgule fixe, la puissance de err ne dépend pas de la dynamique de S : comme la puissance de err est fixe, le SNR bouge conjointement avec la puissance de S.
Du coup, pour un signal de faible dynamique, le bruit de quantification s'entend d'avantage (surtout si on applique un gain pour remonter le niveau de l'ensemble).

Dans le cas de la virgule flottante, la manière dont la quantification est réalisée est différente (tu veux que je la détaille ?).
On arrive à obtenir une err qui varie conjointement avec la dynamique du signal : le SNR qui est le rapport des deux devient constant.


Typiquement ce que l'on observe c'est que pour un nombre de bits total égal, le codage en virgule flottante permet de garder un bon SNR même avec des niveaux d'entrée faibles : on pourra appliquer un gain pour remonter le signal sans amplifier le bruit de quantification.

Dans le cas de la virgule fixe ce n'est pas le cas : le bruit de quantification est amplifié.
Cependant, généralement, avec un codage sur 24bits ce niveau reste acceptable pour les applications typiques et il faudrait avoir un gain vraiment phénoménal pour le rendre audible...

Attention, dans les deux cas s'il y a un bruit additif à la prise son (un préampli qui souffle) il sera bien amplifié quelque soit la méthode ; je ne parle ici que du bruit de quantification ajouté par la numérisation.



Citation :
Et en plus différentes manipes du même type avec des groupes de 5 ou 10 pistes=> même résultat, au final j'étais capable d'annluer une à une chaque piste de l'export et de retrouver la dernière totalement identique à celle de base.

Suis-je plus clair?

Oui mais là j'ai envie de dire : encore heureux ! ;)

Quand les quantifications sont gérées convenablement, les arrondis sur les sommes et les différences doivent s'annuler.
243
Citation :
absence totale de signal

-144dB ?

Étonnant. Il devrait y avoir des erreurs sur le dernier bit de temps en temps.

Citation :
Suis-je plus clair?

Parfaitement clair !


Citation :
Pour moi pour qu'il y ai ces erreurs d'arrondi sur une simple sommation, il faut sortir des capacités de quantifcation au niveau du bus, donc comme je l'ai précisé, le test marche si la somme ne fait pas clipper le master.

Bizarre aussi, parce-que "clipper le master" = supérieur à 1. Ça devrait pas avoir d'importance.

Sauf que... il faudrait bouncer en 32 bits flottants ! C'est pas forcément permis par le DAW (vu que ça n'a pas trop de sens ni d'intérêt pour faire de l'audio).

Évidemment si on bounce en 24 bits fixe, et que le master est au-dessus de 0dB, ça va être raboté ! (donc perdu, d'où les différences)
244
Merci EraTom, c'est super clair on dirait du Evariste. Je ne te demanderais pas de détailler plus car cela dépasse de loin mes connaissances et capacités de compréhension (je me suis mis au math et à la physique que vers 25ans après un bac L!), mais en tout cas tu as réussi à me faire comprendre tout cela malgrè mes carences, tu ferais un bon prof ;)
Du coup si les daw sont à virgule flottante maintenant, et même s'ils étaient juste en 24bits, je ne voit pas ce qui pourrait faire que le son diffère puisque même sur 24 bits ladynamique est énorme, et si j'ai bien compris, l'ajout de bruit se fait à des fréquences inaudible pour l'oreille humaine ...? (ou alors je confond tout ?)
245

cubase permet de bouncer en 32 bit flottant, mais de mémoire j'ai fait les exports en 24 bit (encore une fois sans clipping).

Citation :

-144dB ?

Étonnant. Il devrait y avoir des erreurs sur le dernier bit de temps en temps.

oui, rien du tout même ne normalisant le résultat à 0dBfs.

par contre, si tu trouves ça étonnant, c'est probablement que la théorie dit le contraire (?), et je serais curieux d'avoir une explication parce que ça me parait plutôt logique tant qu'on ne sort pas des capacités de quantification au niveau du résultat (ce que semble également dire EraTom)

très basiquement, si mon bus master code 10 comme valeur max, je peux sommer autant de pistes que je veux jusqu'à ce que le résultat fasse 10, et par soustraction je doit pouvoir retrouver toutes mes pistes.

prenons 3 valeurs d'échantillon, 2 + 3 +4=> j'obtient 9, si je fait 9 - 4 - 3, je retrouve mon 2, en fait je ne vois nulle part de source d'arrondie dans le cadre d'une somme. noidea.gif

246

Citation de Eratom :

De fait, même en positionnant "tous les potards exactement aux mêmes endroits", tu obtiendras des petites différences d'un appareil à un autre, à des températures différentes... à des âges différents.

Des différences qui atteignent plusieurs dB parfois.

Mais ce qui me chiffonne dans la démo, ce n'est pas ça, mais la confusion entre les défauts numériques au niveau de l'échantillon d'une part, et a disparité des chaînes analogiques d'autre part. L'une garantie la "répétabilité" de tout, y compris des erreurs, l'autre ne garantie que ce qu'elle peut. Mais dans tous les cas, un problème d'alignement en analogique est peu ou prou répété car les défauts des composants évoluent dans le temps, mais pas à la même échelle de temps que l'échantillonnage.

Et la différence restera dans les deux cas en dessous du seuil de discrimination de l'oreille.

Reste que la signature d'une sommation analogique n'est pas la même que celle d'une sommation numérique...  et aussi qu'on ne peut pas définir la signature d'une sommation analogique.

JM

247
Citation :
par contre, si tu trouves ça étonnant, c'est probablement que la théorie dit le contraire (?)

C'est pas certain non plus. :-D Je ne suis pas infaillible !


Citation :
prenons 3 valeurs d'échantillon, 2 + 3 +4=> j'obtient 9, si je fait 9 - 4 - 3, je retrouve mon 2, en fait je ne vois nulle part de source d'arrondie dans le cadre d'une somme.

Ton raisonnement serait celui pour la virgule fixe (et dans ce contexte, tu as parfaitement raison). Mais en virgule flottante, on a toujours des nombres de 24 chiffres, avec aucun erreur sur la parti gauche du nombre (chiffres de poids fort) et des arrondis sur la partie droite.

Exemples en base 10 et sur 2 chiffres :
91 + 22 = 113 --arrondi--> 110
96 + 23 = 119 --arrondi--> 120

Possible que les erreurs se compensent... je ne sais pas. Au final tes tests montrent quand même un comportement extrêmement satisfaisant, même en poussant loin le nombre de pistes.
248

Citation :

Exemples en base 10 et sur 2 chiffres :
91 + 22 = 113 --arrondi--> 110
96 + 23 = 119 --arrondi--> 120

 

je le reprend en binaire:

91=1011011

22=10110

1011011+10110=1110001=113 en base 10

 

96=1100000

23=10111

1100000+10111=1110111=119 en base 10

et dans les deux cas, j'ai pas eu besoin de plus de bit pour la somme que pour les valeurs d'échantillons, donc pas d'arrondi

Par contre, dans le test des 60 pistes que j'ai fait, il n'y avait aucun traitement (ni pan, ni gain) donc je suppose que le flottant n'intervenait pas puisque comme je faisait pas clipper le master, il ne servait à rien.

Comme le niveau individuel de chaque piste était en dessous du 0dBfs (suffisamment pour que la somme ne fasse pas clipper), même au niveau du bus master, 24 bit entiers étaient suffisant pour quantifier la somme sans arrondie ou troncature.

249
Citation :
je suppose que le flottant n'intervenait pas puisque comme je faisait pas clipper le master, il ne servait à rien

A partir du moment où les calculs internes sont faits en flottant, ils le sont toujours. Pour les fichiers enregistrés en 24 bits entiers (cas général de l'enregistrement, ou alors en 16 bits entiers, mais toujours en entiers) il y a une conversion en flottants à la lecture du fichier pour faire entrer les données dans le séquenceur ; mais ensuite tous les calculs se font en flottants.

Dans mon exemple en base 10, j'ai représenté l'exposant en ajoutant un zéro à droite (déplacement de la virgule vers la droite), alors qu'on a droit qu'à 2 chiffres (on peut aussi déplacer la virgule vers la gauche).


Je refais un exemple en binaire, avec :

[mantisse 4 chiffres] ; [exposant 2 chiffres]

1101 ; 00
1000 ; 00

somme exacte =
10101
que l'on pourrait aussi écrire 10101 ; 00 mais là on aurait 5 chiffres de mantisse (1 de plus que ce dont on dispose) et un exposant à 0.

en flottants avec une mantisse toujours à 4 chiffres (bits):
1010 ; 01

On n'a droit qu'à 4 chiffres. On conserve ceux de poids le plus fort (ceux à gauche: 10101), et on joue avec l'exposant pour que le résultat soit juste (= en déplaçant la virgule).


Rappel (pas pour docks!) en vrai les séquenceurs ont une mantisse de 24 bits (dont un de signe) et un exposant sur 8 bits (dont un de signe).
250

je crois qu'on dit la même chose, tu as fait intervenir l'exposant du flottant parce que tu sorts des capacités du 24 bit en faisant la somme, dans le cas de mon test, ça n'était pas le cas, puisque la somme tenait sur 24 bit entiers, c'est ce que je voulais dire par "le flottant n'intervient pas", mais je me plante peut être.

Je sait bien que le flux est converti en flottant à la volée, mais ce que je voulais dire, c'est que si l'exposant reste à 0, ça revient au même que de manipuler de l'entier, non?

Et même dans ton exemple, où tu fais intervenir l'exposant pour le résultat (parce qu'on sort des capacités de quantification en entier limitées à 4 digit), celui-ci reste exacte, en pratique il se traduira par une surmodulation, donc une atténuation à opérer quelque part (en vue d'un export en entier par exemple).

Si tu opères cette atténuation sur les deux pistes individuelles, on retrouvera un résultat quantifiable sur 4 digit, et il me semble que ce résultat sera exacte (comprendre sans arrondis)?

 

[ Dernière édition du message le 12/07/2011 à 11:48:07 ]