Interactions Software/Harware, quels effets sur le son ?
- 113 réponses
- 14 participants
- 6 247 vues
- 25 followers

Phil443

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...

ihbar

1)
Citation :
Sous-entendrais-tu qu'un soft parfait existe ?
Un soft parfait n'existe pas, sinon, je n'aurai pas de travail

Il manque toujours des fonctions et il reste toujours des bugs. Par contre, un soft bien conçu ne devrait pas être sensible au hardware sur lequel il tourne.
2) Mon boulot ? Je bosse sur des sous-ensembles pour GSM. Ca ne travaille pas en 32 bits 96Khz (plutot 16Khz 16 bits), mais par contre, il y a des DSP qui travaillent (annulation d'écho, correction d'erreur, équalisation, dithering, upsampling, compression, ...)

Anonyme


Phil443

Citation : Déso pour la polution : Plus que 2 réponses aux questions de Phil :
Ah non, tu ne pollues pas, au contraire !
Citation : Je bosse sur des sous-ensembles pour GSM.
Tu peux être très utile, donc...

Citation : ce que je voulais dire c'est qu'un changement apeine audible modifit le fichier completement, alors deux fichiers presque semblables, y'a de bonnes chances qu'ils sonnent pareils, malgréles quelques bits de difference.
Sans vouloir t'offenser, Silicon, j'ai des doutes là-dessus. Tant que je n'aurai pas d'explication rationnelle, je ne décramponerai pas. Je sais, je suis ch**nt...
Citation : hey moi il m'arrive ça je fais venir un exorciste!!
C'est ce que j'ai fait, on ne manque pas de sorciers par ici (des bons, en plus : avec les morsures de serpents, t'as tout le temps de crever à l'hosto alors que les "bush-men" te règlent ça illico...).
Eh ben y m'a dit : "change de carte son".
Le con !
Citation : dont les intersections se deplacent suite a des données corrompues
Ca, on sait pas...
Citation : Si les comparaisons ont été faites en utilisant les cartes audio des machines, ce n'est pas la peine de comparer les résultats en hexa : la tolèrance des "bons" composants électroniques tournant dans les 1%, la simple numérisation du signal entraine donc une erreur sur plusieurs bits !
Entièrement d'accord. Les traîtements ont été opérés sur un fichier numérique, c'est le même disque de données qui a été utilisé pour charger les deux machines (un Atari Falcon et un Amiga 2000/Zeus 68040, belle époque sniff...). Les traîtements ne passaient pas par la carte son et ont été faits en interne sur la machine. L'écoute des résultats s'est faite en couchant le fichier via S/PDIF sur un DAT, puis diffusé sur le même système d'écoute, cqfd. Entre-temps, les files avaient été passés au crible via MasterFile, un prog redoutable pour ce genre de boulot (je craquais des jeux pour mes gamins avec, mais chuuut...)
Si tu veux d'autres précisions, demandes...
Pour les docs, ce n'est pas tant leurs domaines d'application que leurs résultats qui me mettent la puce à l'oreille : ils témoignenet d'interactions notoires entraînant des déviances dans la relation soft/hard. Certes, on a pas envie que les avions se plantent et on a peut-être tendance à "chipoter", mais l'on remarquera que la marine, l'aviation civile ou militaire ne s'équipent pas au Cora du coin question hardware...
Certes, la fiabilité et la peur de la panne n'y sont pas étrangères, mais à la lecture de ces documents, il semblerait que le choix des machine ne se fasse pas que sur ces seuls critères...
Citation : C'est une histoire de fous ce post !
J't'en cause pas ! C'est pour cela que sur l'autre thread, j'ai un peu fulminé, parce que je ne peux pas me contenter d'explications qui ne soient étayées correctement, ou de comparaisons plus ou moins aléatoires et ne reposant sur aucune donnée scientifiquement prouvable. (Je sais Silicon, je suis ch**nt, très ch**nt même à mes heures...

Les documents que je cite reposent par contre sur des bases solides, on ne me les démontera pas avec des dictons.
Malgré tous les progrès scientifiques, force est d'admettre que le pet reste quelque chose qui nous échappe...

Anonyme


Pov Gabou

Citation :
Sans vouloir t'offenser, Silicon, j'ai des doutes là-dessus. Tant que je n'aurai pas d'explication rationnelle, je ne décramponerai pas. Je sais, je suis ch**nt...
L'explication rationnelle a deja ete donnee. Lorsque tu modifies un seul bit sur un fichier sonore (parties donnees, pas header), selon que ca affecte un bit de poid faible ou fort, ca va entrainer une forte discontinuite: un clic. En analogique, tu ne peux pas generer facilement de discontinuite comme ca, c'est la nature meme de l'analogique.
Puis bon, c'est assez facile a faire comme experience: un petit programme qui change aleatoirement quelques bits de donnees.
Les composants qui ont une tolerancede 1 %, ca ne veut absolument pas dire que ton signal va changer de 1 % entre deux machines, c'est justement la tout l'interet du numerique ! Avec une tolerance donnee, le numerique est capable de restituer exactement le meme signal: le numerique, theoriquement, a commence a vraiment prendre avec les travaux de Shanon et cie, qui entre autre concerne les codes correcteur d'erreur, etc...
Changer un bit sur ton exe, il y a de grandes chances qu'il ne se lance meme pas: changer un bit revient a changer l'instruction du programme (ode machine) correspondant, qui a toutes les chances de ne pas exister ou de faire en sorte que ca ne va pas marcher du tout. Fais l'experience: essaye un programme dont tu a change un bit avec un editeur hexa.

Anonyme

Citation : ou de comparaisons plus ou moins aléatoires et ne reposant sur aucune donnée scientifiquement prouvable.
Oui helas, j'ai rien d'autres que mon experience et ma curiosité a proposer vu que je ne suis pas DU TOUT issu du milieu du traitement du signal ou de l'informatique. J'ai juste été curieux a un moment, me suis renseigné, fait pas mal de tests. Et constaté que les "surprises" etaient rares.

saimonn

Citation : Pour les docs, ce n'est pas tant leurs domaines d'application que leurs résultats qui me mettent la puce à l'oreille
Le domaine d'application est crucial pour le débat, puisqu'il est lié à la contrainte temps réel.
Dans les systèmes temps-réel type avion ou centrale nucléaire, on raisonne à l'échelle de quelques microsecondes.
Dans le son, on est à la milliseconde.
Pour moi le changement d'echelle invalide la comparaison entre les deux domaines.
Dans le son, et avec une machine moderne, on a une marge énorme avant d'être embetté par les performances du matériel. D'autant plus que, comme dit précédemment, dans le son, on passe par un buffer.

saimonn

Citation : comparaisons plus ou moins aléatoires et ne reposant sur aucune donnée scientifiquement prouvable
Sans animosité aucune, Phil, je trouve que tu t'enfonces un peu dans la névrose là... En gros on est tous (sauf toi) d'accord pour dire que c'est possible, mais que ça n'arrive jamais...
Tu peux t'echiner à essayer de prouver le contraire, mais perso j'y perdrai pas davantage de temps...

Pov Gabou

Citation :
Dans le son, et avec une machine moderne, on a une marge énorme avant d'être embetté par les performances du matériel.
Oula ! On n'a pas une marge de manoeuvre enorme en audio. A 44.1 khz, avec une latence de quelques ms, on a des buffers de quelques dizaines de samples. Tu as de l'ordre d'une ms pour faire des traitements. Si ton buffer est pas em ram mais dans le fichier swap, ca peut clairement etre l'ordre de grandeur pour charger quelques pages, pour prendre un exemple. Vu l'ordre de grandeur, on est au contrairement clairement dans les limites de ce qu'un PC peut faire avec un OS "normal". Windows est d'ailleurs pas tres avantage a ce niveau la (par exemple, la latence maximum d'une interruption est tres elevee sur windows).
Faire du temps reel en audio, c'est difficile, et si on fait naivement, on est au contraire tres rapidement embette par les performances materiels et software .

saimonn

Avec 1Go de Ram je gère sans probleme un projet dont les données font 14 Gigas (un live d'une heure enregistré sur HD24). Cubase se débrouille très bien avec ça. Je peux sauter à n'importe quel endroit du projet, je n'ai aucun souci et une latence à quelques ms (J'ai une carte son M-Audio à 80 euros). J'ai un paquet de plugins sur ce projet et mon proc est à 75%.
Après, tu peux toujours trouver des contre-exemples à tout.
Citation : Faire du temps reel en audio, c'est difficile, et si on fait naivement, on est au contraire tres rapidement embette par les performances materiels et software .
A moins que j'ai mal compris, on ne parle ici pas de programmer ses propres applications audio.

Pov Gabou

Citation :
Pour éviter que ton buffer passe dans le swap, il suffit de rajouter un peu de ram.
Malheureusement non, ce n'est pas aussi simple. Rien ne te garantit que si tu as 2 Go de ram, et encore de la place, tu vas pas devoir swapper (phenomenes de fragmentation memoire, par exemple).
Citation :
A moins que j'ai mal compris, on ne parle ici pas de programmer ses propres applications audio.
Oui, bien sur

Apres, personnellement, je vois vraiment pas trop le rapport non plus entre les articles cites et le probleme. Il s'agit de savoir si tout chose etant egale par ailleurs, est-ce qu'un different CPU peut influencer sur la qualite de son, et ma reponse est non. Souvent, on ne pourra pas reproduire exactement les resultats parce que beaucoup de choses influences les resultats en flottant (compilateur, optimisation, etc...), mais c'est totalement negligeable par rapport a tout le reste, et de toute facon pas propre au PC.

saimonn

Citation : Rien ne te garantit que si tu as 2 Go de ram, et encore de la place, tu vas pas devoir swapper (phenomenes de fragmentation memoire, par exemple).
Mouais, ça reste assez théorique quand même. Si tu as 100 Megas de libres et pas la place de caser un buffer de 2Ko, il y a un probleme dans l'alloc mémoire...
Evidemment c'est pas impossible que ça arrive. Si tu le fais expres, tu vas y arriver. Mais pour moi la question importante est celle de la probabilité que ça arrive dans une utilisation "normale".
De toutes façons, si ton temps total de calcul dépasse la taille du buffer, il y a aura un trou dans le signal et ça s'entendra sans équivoque, donc on revient au problème déjà cité...

Pov Gabou

Hors sujet : Citation :
Mouais, ça reste assez théorique quand même. Si tu as 100 Megas de libres et pas la place de caser un buffer de 2Ko, il y a un probleme dans l'alloc mémoire...
C'est pas theorique du tout. L'OS decide de quoi faire avec la memoire, et s'il decide qu'il en a besoin pour autre chose plutot que pour ton buffer, ben c'est bonbon. Tu peux suivre cette discussion, si tu veux:
http://www.freelists.org/archives/gmpi/11-2003/msg00529.html
Avec des gens qui savent un minimum ce qu'ils fonts (ron Kuper etait le developeur en chef chez Cakewalk, P. Davis a cree Ardour, etc...)

saimonn

Citation : C'est pas theorique du tout. L'OS decide de quoi faire avec la memoire
J'entends bien, mais l'OS ne décide pas ça en fonction de la phase de la lune, mais seulement s'il en a besoin. Et pour qu'il en ait besoin, il faut des conditions...
Bon là on est sur "le swap du buffer", on diverge encore par rapport au sujet initial...

guillaumed

A vous les studios...
ps:"Si ton buffer est pas em ram mais dans le fichier swap", là je décroche, what is "swap?

vinxz



Phil443

Citation : changer un bit revient a changer l'instruction du programme (ode machine) correspondant, qui a toutes les chances de ne pas exister ou de faire en sorte que ca ne va pas marcher du tout. Fais l'experience: essaye un programme dont tu a change un bit avec un editeur hexa.
Oui, ça m'est déjà arrivé : soit le soft refuse de démarrer, soit il plante lors de certaines opérations précises. Ca revient au même qu'un bug. Donc si un soft crée des erreurs sur un fichier, ce dernier est corrompu et peut entraîner diverses conséquences. Nous sommes d'accord ?
Citation : Dans le son, et avec une machine moderne, on a une marge énorme avant d'être embetté par les performances du matériel.
Tu plaisantes ? C'est pas parce que tu es habitué à des machines modernes et puissantes que c'est si facile que ça. A leurs débuts, les ordis avaient toutes les peines du monde à faire tourner des applis en temps réel en 8 bits, man, souviens-toi ou documente-toi !
Alors maintenant, il faut voir les résolutions auxquelles on bosse : plus un ordi en offre, plus on lui en demande. Qu'est-ce que tu paries que le jour où on fait tourner les procs en 128 bits, les gars vont tellement demander à leurs machines que ces dernières seront vite à toc ?
Citation : Sans animosité aucune, Phil, je trouve que tu t'enfonces un peu dans la névrose là...
Sans animosité aucune, Saimonn, je trouve que tu t'enfonces un peu dans l'exagération là...
Je te rassure : à part un serpent corail retrouvé dans la piscine ce matin, je suis calme et détendu comme personne...
Citation : Faire du temps reel en audio, c'est difficile, et si on fait naivement, on est au contraire tres rapidement embette par les performances materiels et software .
+1.
Citation :
Apres, personnellement, je vois vraiment pas trop le rapport non plus entre les articles cites et le probleme. Il s'agit de savoir si tout chose etant egale par ailleurs, est-ce qu'un different CPU peut influencer sur la qualite de son, et ma reponse est non. Souvent, on ne pourra pas reproduire exactement les resultats parce que beaucoup de choses influences les resultats en flottant (compilateur, optimisation, etc...), mais c'est totalement negligeable par rapport a tout le reste, et de toute facon pas propre au PC.
Le rapport, c'est que si des erreurs peuvent être générées sur des fichiers par un harware insuffisant en qualité, comment affirmer de façon sûre que c'est sans conséquences sur l'audition de ce fichier ? Lors d'applis en temps réel (et c'est surtout sur ce point que je bloque), quelles peuvent être les différents défauts susceptibles d'apparaître suite à ces erreurs de traîtement ? Uniquement des clics ou d'autres phénomènes sont possibles ?
Le nombre d'ingés-son qui "prétendent" entendre une différence entre un plug et une machine hardware dédiée utilisant le même algo est légion. Alors on est pour ainsi dire tous tarés dans ce métier ou quoi ?
Citation : là je décroche, what is "swap?
Pour faire simple, le swap est une partie du disque dur qui supplée la RAM. Quand cette dernière sature, les données sont inscrites provisoirement sur une partie dédiée du HD puis effacées lorsqu'on en a plus besoin. Cela ralentit considérablement la machine, c'est sûr, mais permet de passer des applis plus lourdes que la mémoire vive ne peut en supporter. Sous Linux, on crée une partition swap de quelques Go spécifiquement pour cette usage.
Malgré tous les progrès scientifiques, force est d'admettre que le pet reste quelque chose qui nous échappe...

ihbar

A mon avis, lors de ces taches effectuées par le noyau avec prioritées élevées il y a aussi un risque important de retard pour les applications temps réel.
Je pense qu'on a plus de risque d'avoir un problème temps réel liée au system (OS + drivers ) qu'au hardware pur.
(Pour mac OS ou linux, je ne me prononce pas.)

Phil443

Mais sous Linux, tout, absolument tout est débrayable. Donc tu peux bosser avec une pré-configuration que tu as définie et qui s'occupera de ton appli, rien d'autre.
Il y a en plus des distros spécialisées audio/vidéo avec noyau basse latence et tout et tout, et si tu fais ramer ta bécane, c'est déjà pas parce qu'elle est en train de fouiller le net à ton insu à la recherche d'un patch salvateur...
Malgré tous les progrès scientifiques, force est d'admettre que le pet reste quelque chose qui nous échappe...

Anonyme


Phil443


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

Anonyme


sub-d25


Phil443

Citation : Le temps reel n'existe pas, jamais, en audio, tu travailles toujours sur un buffer.
Citation : Je n'ai lu personne parler des systems SADIE ou SONICS SOLUTIONS, PYRAMIX ,pro tools....les interactions soft/hard sont plutot soignés..
Ben justement :
Citation : SADiE’s editing and processing features are real-time without ANY rendering, all fades, level changes, EQ etc. operations are real-time without latency.
Silicon : t'as plus qu'à alerter la répression des fraudes pour publicité mensongère...
Malgré tous les progrès scientifiques, force est d'admettre que le pet reste quelque chose qui nous échappe...

Phil443

1/ Travaillant en constante collaboration avec les programmeurs, il me dit que ces derniers ont (pour des raisons de marketing évidentes), la tâche de fabriquer des softs et algos à même de tourner sur la plus grande variété de machines possibles. Pour ce faire, ils (pre) incluent des "patches" dans leurs softs destinés par exemple à compenser le manque de vitesse d'une bécane, la présence ou non de copros, la taille de la mémoire cache qui est variable selon les fabricants etc...
Histoire de ne pas se retrouver avec des phénomènes qui deviendraient très vite limitatifs, ils pré-calculent des algorithmes de compensation. Exemple : pour le cas où le soft serait amené à tourner sur du hard un peu paresseux au niveau vitesse, l'algo est prévu pour diminuer la quantité de traîtement par unité de temps. En gros, une réverb ou une EQ ne sera appliquée qu'à 90% des échantillons à traîter.
Ceci évitera les fameux "clics" en soulageant le proc ou les DSP et permettra donc au logiciel de tourner correctement sur une machine modeste. Simplement pour avoir la même sensation, l'utilisateur d'un ordi peu puissant sera obligé de "pousser" un peu plus sur les réglages que celui qui possède un gros ordi (10% dans cet exemple). Afin de noyer le poisson et d'éviter des phénomènes cycliques qui seraient audibles, les "trous" de traîtement sont répartis de manière irrégulière sur chaque lot d'échantillons traîtés à l'aide d'un générateur aléatoire (vicieux les mecs)...
2/ Chaque système électronique possède son bruit de fond propre. Rien que le réseau de condensateurs entourant le ou les procs se doit de répondre à des normes qualitatives strictes sous peine de fausser les calculs de ce(s) dernier(s). En effet, au delà d'un certain seuil, ces tensions résiduelles seront interprétées comme appartenant au signal à traîter par le proc, et deviendront partie intégrante du résultat final. C'est en général très discret, mais ce facteur est cependant à prendre en compte pour un résultat optimal.
Vu les fonctions d'intégration concernées (

3/ Machines dédiées Vs plugs tournant avec le même algo :
Les bécanes en hard utilisent leur électronique dédiée pour faire tourner des filtres. Ces mêmes fonctions de filtrage sont reproduites par émulation soft dans les plug-ins. Or, l'électronique assurant ces traîtements dans les machines dédiées possède des caractéristiques propres relevant du domaine de l'analogique, ce qui sous-entend un champ d'amplitude dynamique et un champ fréquentiel dynamique bien supérieur aux systèmes digitaux :
Citation : There are still many applications where analog filters should, or must, be used. This is not related to the actual performance of the filter (i.e., what goes in and what comes out), but to the general advantages that analog circuits have over digital techniques. The first advantage is speed: digital is slow; analog is fast. For example, a personal computer can only filter data at about 10,000 samples per second, using FFT convolution. Even simple op amps can operate at 100 kHz to 1 MHz, 10 to 100 times as fast as the digital system!
The second inherent advantage of analog over digital is dynamic range. This comes in two flavors. Amplitude dynamic range is the ratio between the largest signal that can be passed through a system, and the inherent noise of the system. For instance, a 12 bit ADC has a saturation level of 4095, and an rms quantization noise of 0.29 digital numbers, for a dynamic range of about 14000. In comparison, a standard op amp has a saturation voltage of about 20 volts and an internal noise of about 2 microvolts, for a dynamic range of about ten million. Just as before, a simple op amp devastates the digital system.
The other flavor is frequency dynamic range. For example, it is easy to design an op amp circuit to simultaneously handle frequencies between 0.01 Hz and 100 kHz (seven decades). When this is tried with a digital system, the computer becomes swamped with data. For instance, sampling at 200 kHz, it takes 20 million points to capture one complete cycle at 0.01 Hz. You may have noticed that the frequency response of digital filters is almost always plotted on a linear frequency scale, while analog filters are usually displayed with a logarithmic frequency. This is because digital filters need a linear scale to show their exceptional filter performance, while analog filters need the logarithmic scale to show their huge dynamic range.
Il m'a en outre recommandé de jeter un oeil là-dessus :
http://www.dspguide.com/pdfbook.htm
Alors messieurs, à vous Cognac-Jay...
Malgré tous les progrès scientifiques, force est d'admettre que le pet reste quelque chose qui nous échappe...
- < Liste des sujets
- Charte