Se connecter
Se connecter

ou
Créer un compte

ou

Sujet Interactions Software/Harware, quels effets sur le son ?

  • 113 réponses
  • 14 participants
  • 5 468 vues
  • 25 followers
1 Interactions Software/Harware, quels effets sur le son ?
Voilà, ce thread a été promis suite à un début de polémique arrivé dans un autre sujet :

Mastering : Hardware ( Vieux con.) ou Software ( jeune inconscient)

Pour ceux qui n'auraient pas le courage de tout lire (paix à leur âme), on peut résumer la question à ceci :

La piètre qualité d'un harware est-elle à même d'influer sur la qualité finale du son en numérique ?

Certains prétendent que non, que tous les "zéros" et les "uns" seront de toutes manières générés et qu'en digital, le son sera nickel ou ne sera pas.

D'autres (dont je fais partie), estiment que le hard peut provoquer des erreurs à même d'altérer le son, même de façon inaudible dans un premier temps, mais à même d'engendrer de réels soucis à force de manipulation des fichiers par exemple, où lorsqu'on travaille en temps réel.

Je ne saurais que trop vous engager à vous installer avec une bonne bière et trois paquets de clopes en réserve pour lire l'ensemble des argumentations déjà développées dans le thread ci-dessus, car elles sont nombreuses et déjà fort instructives.

J'ai personnellement peut-être commencé à introduire le doute dans certains esprits en citant des résultats de tests effectués par moi-même en labo tout ce qu'il y a de plus sérieux, et en citant en référence des documents comme ceux-ci :

https://www.cs.york.ac.uk/~djp/publications/mcd-pumf.pdf

http://www-rocq.inria.fr/syndex/pub/ts97/ts97.pdf

http://biblion.epfl.ch/EPFL/theses/2006/3626/EPFL_TH3626.pdf

http://www.ccm.ece.vt.edu/papers/steiner_2005_RAW05_hsi.pdf

Mais je ne prétends pas avoir forcément raison, j'accepterai de remettre en cause jusqu'aux constats que j'ai faits par moi-même à condition que l'on me sorte une argumentation reposant sur du (très) solide, preuves indéniables à l'appui.

Donc, les adeptes du "parce que c'est comme ça" peuvent passer leur chemin, cqfd...

Ce qui ne veut pas dire que les gens qui n'ont pas un doctorat en sciences informatiques ne peuvent pas poster : souvent, des questions qui paraîssent ingénues comme ça soulèvent de bons lièvres.

Pour finir, ce type de questions est à même de générer de grandes passions, voire l'emportement (on l'a un peu vu sur le thread initial). Je demande intamment aux participant de bien vouloir garder leur sang froid même en face de ce qu'ils jugent comme étant une ineptie : ce ne sont pas les agressions qui feront avancer un tel débat. Et je n'hésiterai pas à faire appel aux modos pour fermer le thread si ça dérape, soyez-en sûrs.

Alors gentlemen, bons posts !

Malgré tous les progrès scientifiques, force est d'admettre que le pet reste quelque chose qui nous échappe...

http://www.cubamericas.com

http://www.ecoledeviolon.com

Afficher le premier post
61
Ok, partons de cette hypothèse (de toutes façons, je vais refaire ce test dès que j'en aurai la possibilité). A l'époque, on avait testé les premières moutures de samplitude sur Amiga et Atari, qui étaient tous deux équipés de procs Motorola 68,0x0. Comment diable les programmeurs se sont-ils débrouillés pour réaliser des portages aussi différents ?

J'ai un peu de mal à saisir, là...

Malgré tous les progrès scientifiques, force est d'admettre que le pet reste quelque chose qui nous échappe...

http://www.cubamericas.com

http://www.ecoledeviolon.com

62

Hors sujet : > En plus, l'histoire du "Antikythera Mechanism" dans tes liens est assez sidérante, je ne connaissais pas, merci.

Marrant : moi aussi j'ai découvert la machine d'anticythère en suivant le lien depuis "calculateur analogique" ; à la base je cherchais quel type d'ordinateur servait de "machine à calculer" à des trucs comme les missiles V2...
:bravo:
Marrant de voir aussi qu'en -300 Aristarque de Samos avait eu l'idée d'un système héliocentrique. Dire qu'il a fallu 1800 ans pour aller plus loin...



Bon, pour pas être complètement hors sujet, certains type d'erreurs ont été évoqués :
- corruption mémoire ou fichier
- erreurs d'arrondis.

Les premiers sont complètement aléatoires, et seront donc généralement détectés (car il y apeu de chances de tomber "souvent" sur des bits de peu d'importance) : plantage du logiciel, grosse coupure sonore... Donc effectivement ils sont extrêmement rares, et ne peuvent expliquer une différence sonore.

D'après ce que dit Gabou (qui s'y connait sur ce sujet), les erreurs d'arrondis peuvent être relativement fréquentes. Là encore, Silicon a raison : ça va dégrader un peu, mais d'une manière inaudible parce-que la dégradation ne se fera pas d'une manière systématique qui pourrait être identifiée par l'oreille humaine (à la différence d'un filtrage, écho ou autre).

Néanmoins phil tu as raison, dire cela ce n'est pas le prouver, et même des exemples de tests ou un argumentation claire et convaincante ne sont pas faciles à produire.

Citation : Comment diable les programmeurs se sont-ils débrouillés pour réaliser des portages aussi différents ?


Il peut y avoir beaucoup de raisons à ça, par exemple une version qui est en avance de quelques mois par rapport à l'autre... Cela dit ils peuvent aussi avoir des coprocesseurs arithmétiques différents, voire des librairies de calcul différentes. Si ce sont des erreurs d'arrondis, ça ne devrait pas être audible. En revanche, si la puissance de calcul ou les fonctions sont différentes, le code peut avoir été adapté, et donc sonner différemment.
63

Citation :
Les premiers sont complètement aléatoires, et seront donc généralement détectés (car il y apeu de chances de tomber "souvent" sur des bits de peu d'importance) : plantage du logiciel, grosse coupure sonore... Donc effectivement ils sont extrêmement rares, et ne peuvent expliquer une différence sonore.



En fait, c'est typiquement la que va se faire la difference entre du matos PC de base et le matos utilise dans des contextes ou les erreurs ne pardonnent pas. Sur un PC, si la memoire commence a flancher, tu le remarqueras pas directement: sur des serveurs evolues, tu as de la tolerance de panne, c'est a dire que si une memoire flanche, c'est detecte, et la memoire est plus utilisee, etc... Si un Cpu flanche, le cpu est desactive, etc... Tu peux supprimer un CPU a la volee sans eteindre le serveur; bref, des choses totalement impossibles a faire sur des PC.

Mais bon, ce sont des contextes totalement inutiles pour la musique (alors que le matos PC se chiffres en centaines d'euros, ce type de materiel se chiffre plutot en dizaine de milliers d'euros).

Citation :
D'après ce que dit Gabou (qui s'y connait sur ce sujet), les erreurs d'arrondis peuvent être relativement fréquentes.



Je suis quand meme loin d'etre un specialiste sur les effets d'arrondis et leur perception audio :) Mais je pense que ca reste tellement negligeable par rapport au reste (typiquement, difference de convertisseurs pour le probleme original de comparaison du L3 hard vs soft), que ca me parait bien vain de se preoccuper de ce probleme.
64

Citation : D'après ce que dit Gabou (qui s'y connait sur ce sujet), les erreurs d'arrondis peuvent être relativement fréquentes. Là encore, Silicon a raison : ça va dégrader un peu, mais d'une manière inaudible parce-que la dégradation ne se fera pas d'une manière systématique qui pourrait être identifiée par l'oreille humaine (à la différence d'un filtrage, écho ou autre).


sauf cas specifiques et tres rares, l'erreur d'arrondi (ou le choix de l'arrondi puisque je crois que les softs choisissent comment arrondir) est largement en dessous du seuil de l'audition, largement aussi en dessous de ce que les convertisseurs peuvent fournir, aucune chance donc que ça ne perturbe quoi que ce soit.
65

Citation : l'erreur d'arrondi est largement en dessous du seuil de l'audition


Effectivement : la plupart des softs travaille en 32 bits virgule flottante, soit 1 bit de signe S (+1 ou -1), 8 bits d'exposant E, et 23 bits de mantisse M (+1 bit implicite, ce qui fait une précision de 24 bits). La mantisse étant un nombre entre 1 et 2.
Un nombre est donc = S x M x 2^E

Il faut comprendre que la mantisse contient "la partie utile du nombre", là où les chiffres ne sont pas nuls. En gros, dans le nombre 0,00245014 la mantisse serait 245014, et dans 145,87 ce serait 14587. L'exposant permet de placer la virgule. Tout ceci n'est pas rigoureusement exact, mais c'est l'idée. C'est d'ailleurs toute la différence entre un nombre à virgule flottante et un nombre à virgule fixe (qui est une sorte d'entier, genre en centimes ou en micromètres, mais fondamentalement un entier).

Grâce à cette virgule flottante, on est donc toujours en 24 bits. Une erreur d'arrondi sur le dernier chiffre causerait une erreur à un volume de -144dB, sur l'avant dernier : -138dB. Il faudrait donc un énorme paquet d'erreurs pour se rapprocher de l'audible. Bref, ce n'est pas trop là qu'il faut chercher des dégradations.

Après il faut être sûr de faire des comparaisons "toutes choses égales par ailleurs". Vous parliez d'un logiciel L3 qui serait tantôt dans un hardware dédié, tantôt dans la UAD. Il faut être sûr que les softs sont exactement les mêmes... Là encore, si dans l'UAD le soft a été modifié pour faire face à un hardware moins puissant ou offrant des fonctionnalités limitées (voire pour des raisons commerciales évidentes : hardware plus cher), c'est normal que ce soit différent (et probablement moins bien).

En dehors de ce genre de limitations, et à convertisseurs équivalent, il n'y a pas de raison qu'un soft marche mieux dans une machine dédiée que dans un PC (ou Mac).
66

Citation :
Après il faut être sûr de faire des comparaisons "toutes choses égales par ailleurs". Vous parliez d'un logiciel L3 qui serait tantôt dans un hardware dédié, tantôt dans la UAD. Il faut être sûr que les softs sont exactement les mêmes... Là encore, si dans l'UAD le soft a été modifié pour faire face à un hardware moins puissant ou offrant des fonctionnalités limitées (voire pour des raisons commerciales évidentes : hardware plus cher), c'est normal que ce soit différent (et probablement moins bien).



Le prix va limiter la qualite des convertisseurs, par exemple, limite que tu n'as pas vraiment avec le software. Je sais pas combien coute le L3 (je l'ai pas retrouve sur la pages de Waves), mais je pense pas qu'ils peuvent se permettre de mettre des convertisseurs haut de gamme. La comparaison doit se faire sur les signaux numeriques.

Mais typiquement, la difference TDM contre soft "natif", sur un meme algorithme, si c'est designe correctement, faudra deja me montrer des tests bien foutus pour me convaincre que l'on peut faire la difference. Ca me parait vraiment relever du meme phenomene que les mixers de soft qui sonnent differement, alors qu'en fait, pas vraiment.

Apres, pour les erreurs d'arrondis, ca peut quand meme etre un probleme, meme en flottant 32 bits (en particulier tout ce qui est filtre recursif, qui sont les filtres utilises pour les EQ en general et quasiment toujours pour les synthes). Le probleme est souvent bien moindre qu'en fixe, mais certaines topologies de filtre implementees naivement peuvent poser problemes (me souvient d'un filtre que j'avais programme a mes debuts pour un time stretcher, et dont les erreurs d'arrondis s'accumulaient avec le temps, et etaient carrement visibles sous cool edit :) ).

Il y a aussi toutes les approximations utilisees pour optimiser les softs (qui sont bien plus importantes en effet d'ailleurs que tous les problemes dont on a parle avant): typiquement, on utilise rarement sin, cos ou exp de la librairie C en DSP audio, parce qu'on a justement pas besoin de la precision donnee par ces functions !
67

Citation : Apres, pour les erreurs d'arrondis, ca peut quand meme etre un probleme, meme en flottant 32 bits (en particulier tout ce qui est filtre recursif, qui sont les filtres utilises pour les EQ en general et quasiment toujours pour les synthes). Le probleme est souvent bien moindre qu'en fixe, mais certaines topologies de filtre implementees naivement peuvent poser problemes.


Oui mais, si je ne m'abuse, ce sera finalement un défaut de conception du logiciel. Ce défaut donnera le même résultat sonore dégradé sur toutes les machines, et non pas une dégradation qui varie en fonction du niveau de qualité du hardware sur lequel ça tourne.

Pareil pour le sin, cos, exp... Par contre tu fais bien de souligner que ces approximations existent : donc là encore, le savoir-faire de l'équipe qui réalise le logiciel compte énormément.

Citation : Ca me parait vraiment relever du meme phenomene que les mixers de soft qui sonnent differement, alors qu'en fait, pas vraiment.


Ca me donne l'occasion de recaser un échange lu sur une mailing-list :

Citation : A > There is no way, there never was and there never will be, that either Nuendo, Cubase or Logic have a warmer, big sounding and more analog way of adding two floating point numbers and converting the result to integer unless one of these uses a flawed method or wastes precision of the processor at hand (and none of them does).

B > I realize this may not be relevant, due to the "math" issues, both programs using a cpu to sum, etc. But for some reason, my mind still says Nuendo sounds better.

A > An interesting point in discussions like these, is that whereas the summing in the digital domain is the absolutely most simple, repeatable and straightforward process, whilst the perception of audio by your brain is the most complex, unrepeatable and undocumented, still the summing is blamed for differences and the psychologic element is discarded. :o)

68
Je me disais que je pourrais implementer deux petits softs, un avec entier, l'autre avec float. Mais evidemment, qqn l'a deja fait:

https://www.kvraudio.com/forum/viewtopic.php?t=181990

C'est un peu maniaque, car le code est un peu crypte pour qu'on puisse pas faire la difference en desassemblant le code, mais clairement, personne n'a pu trouve les difference entre entier 64 et double 64 bits (enfin, les bonnes). Ce qui est assez rigolo, c'est de voir qu'a ce niveau, les personnes sont vraiment persuades d'entendre des differences (il aurait ete marrant d'avoir les memes, aussi).

Dans https://www.kvraudio.com/forum/viewtopic.php?t=181220&postdays=0&postorder=asc&start=0

C'est interessant de voir que celui qui sonne le mieux est le moins precis (entier en 24 bits) d'apres un gars qui prentend entendre de grosses differences. Il y a aussi AMD qui sonne mieux qu'Intel (je me demande bien pourquoi n'entend pas de differences entre Core duo et Pentium 4).
69
A propos du L3, il ne fonctionne pas sur l'uad1, c'est un simple plug que tu mets en vst sur ton séquenceur, je ne pense pas qu'il soit encore distribué quand à la version hard je ne connais pas, mais on peut imaginer que la différence vienne des convertisseurs.
70

Citation : Il y a aussi AMD qui sonne mieux qu'Intel



Là, perso, je ne pense pas que j'aurais osé aller jusque-là... :ptdr:

Quant à moi, quand j'aurai l'occase de refaire des tests (c'est pas pour tout de suite malheureusement), je vous balancerai les fichiers en ligne, ça nous fera de quoi se marrer.

Malgré tous les progrès scientifiques, force est d'admettre que le pet reste quelque chose qui nous échappe...

http://www.cubamericas.com

http://www.ecoledeviolon.com