Tordre le cou au moteur audio:
- 212 réponses
- 40 participants
- 29 056 vues
- 56 followers
Anonyme
pour ça, un autre thread:
Tordre le coup au moteur audio: polemiques et crtiques
Dr Pouet
Dans le message 47, la première et 3ème citation sont de Robert Henke, l'un des développeurs de Live, qui connaît parfaitement bien son sujet et qui en plus s'exprime clairement mais sans simplification ou approximation. Sur les points qu'il évoque, on peut lui faire une confiance totale.
Puisque l'on peut maintenant faire des tableaux, j'en profite pour essayer d'éclaircir les choses en illustrant ce qui a été dit ci-dessus.
Imaginons que l'on a enregistré 2 pistes en audio et en mono. Une très aiguë (cymbale), et une plus grave (basse). Les chiffres que j'ai mis sont pifométriques, mais le principe est juste.
Un enregistrement (type wav ou aif) n'est qu'une suite de nombre, lesquels sont les échantillons (=samples, s1 à s9 ci-dessous) que le convertisseur analogique -> numérique a produit en recevant le signal analogique. Cette suite de nombre est l'onde sonore, la waveform. Un son aigu passe fréquemment par zéro (de positif à négatif en fait, car ça passe rarement exactement par zéro), et un son grave passe moins souvent par zéro.
Dans mon exemple la cymbale joue à 22kHz (si l'enregistrement a été fait à 44kHz), ce qui n'est pas très réaliste.
Piste | s1 | s2 | s3 | s4 | s5 | s6 | s7 | s8 | s9 |
cymbale | +230 | -230 | +230 | -230 | +230 | -230 | +230 | -230 | +230 |
basse | +58 | +63 | +75 | +88 | +93 | +105 | +113 | +120 | +129 |
Mais c'est juste un exemple pour fixer les idées hein.
Faire la sommation telle que le fait un séquenceur consiste simplement à additionner les nombres d'une colonne. Appliquer un gain de +6dB consiste à multiplier par 2 les nombres, baisser de 6dB, revient à diviser par deux.
Supposons que j'applique un gain de +6dB à al cymbale, puis que je "bounce" (= effectuer la sommation), voici ce que cela donnera :
Piste | s1 | s2 | s3 | s4 | s5 | s6 | s7 | s8 | s9 |
cymbale | +230 | -230 | +230 | -230 | +230 | -230 | +230 | -230 | +230 |
basse | +58 | +63 | +75 | +88 | +93 | +105 | +113 | +120 | +129 |
cymbale +6dB | +460 | -460 | +460 | -460 | +460 | -460 | +460 | -460 | +460 |
sommation | +518 | -397 | +535 | -372 | +553 | -355 | +573 | -340 | +589 |
C'est donc hyper simple. D'où le code source de 6 lignes indiqué ci-dessus. C'est pas plus compliqué qu'une petite addition dans excel.
Il faudrait aussi ajouter le pan, qui consiste en gros à fabriquer une piste cymbale-gauche et une cymbale-droite, avec un gain sur celle de gauche et une baisse à droite, si l'on a "panné" à gauche. Mais enfin vous avez compris le principe, c'est hyper simple.
C'est pour ça qu'il ne peut pas y avoir de grandes différences auditives entre des "moteurs audio" de séquenceurs, au niveau de la sommation + gain + pan (alors qu'il y a de grandes différences entre des consoles analogiques à ce niveau).
Comme l'a expliqué Gabou ci-dessus, les différences sont ailleurs :
- meilleure utilisation du CPU et du disque
- fonctions de routage plus ou moins riches
- pitch shift...
etc.
[ Dernière édition du message le 17/10/2010 à 23:15:54 ]
J-Luc
Ben...
C'est là qu'on note qu'il est utile d'avoir des calculs en virgule flottante vu les valeurs instantanées que peut prendre la somme des pistes.
Il y a deux moyens d’oublier les tracas de la vie : la musique et les chats.
Albert Schweitzer
Dr Pouet
Audio Mixing
Question: What is the algorithm used by Audacity to mix separate sound tracks (i.e. what is the process of merging the tracks to a single one when the "Mix and Render" command is used)?
Answer: Mixing is just addition.
The waveforms show the air pressure moment by moment. If there are two sounds at the same time then the air pressures add. So we just add the waveform values.
It is a little more complex than that since for stereo we add right tracks to right tracks and left tracks to left tracks and mono to both, and we apply gain and amplitude envelopes before adding. Gains are just multiplying the signal by some value. Left-right panning, which is also done during mixing, is similar in that it applies different gains to left and right channels. Also, if the tracks being mixed were not at the desired sample rate for the project, we have to first do sample rate conversion too. There is also the problem of 'clipping' where the value after mixing is too loud. At the moment Audacity mixes the tracks as indicated by the waveform values and the setting of the gain and pan sliders on the Track Control Panels, without preventing clipping in the result.
Ça ne fait évidemment que confirmer ce qui a déjà été dit au-dessus !
Dans Ardour aussi la sommation n'est qu'addition (après quelques multiplications pour appliquer gain et pan) :
https://fr.audiofanzine.com/mao/forums/t.179681,tordre-le-cou-au-moteur-audio,post.3578705.html
Dans Live aussi, comme le confirme Robert Henke développeur chez Ableton :
https://fr.audiofanzine.com/mao/forums/t.179681,tordre-le-cou-au-moteur-audio,post.3578667.html
Et ma tentative de vulgarisation sous forme de "tableau excel" :
https://fr.audiofanzine.com/mao/forums/t.179681,tordre-le-cou-au-moteur-audio,post.5413434.html
[ Dernière édition du message le 14/04/2014 à 12:39:51 ]
Dr Pouet
Ça recommence. Vous êtes tous intoxiqué.
Ben ton lien est tout pourri, voilà ça c'est dit.
C'est con mais même les calculettes ne donne pas le même résultat, c'est pour ça qu'a l'école on demande un modèle identique à tout les élèves. Enfin si ça se fait encore.
Couillon https://fr.wikipedia.org/wiki/Erreur_d%27arrondi
Oui mais non (cher non moins couillon) : la manière de faire les arrondis a été normalisée, et cette norme est appliquée par tous les fabriquants de microprocesseurs. Et probablement désormais dans beaucoup de calculatrices (peut-être pas les moins chères, mais certainement toutes les "scientifiques" ).
Norme IEE 754 :
https://fr.wikipedia.org/wiki/IEEE_754
https://fr.wikipedia.org/wiki/IEEE_754#Arrondir_les_nombres_flottants
[ Dernière édition du message le 07/12/2014 à 21:22:00 ]
Anonyme
d'ailleurs un PC n'est qu'une grosse calculatrice. rien "d'intelligent" dans cette boîboîte.
Hohman
[ Dernière édition du message le 20/12/2014 à 17:45:06 ]
Dr Pouet
Si je t'ai froissé par un ton trop peu diplomate, je te prie de m'en excuser (menfin tu peux aussi, vu que tu as un peu lancé les hostilités en nous traitant de "couillon" ! )
Quant à débattre du point que tu évoquais, je pense qu'il y avait des qui pro quo parce-qu'on ne parlait pas forcément tous de la même chose.
En essayant d'être plus précis :
- la quasi-totalité des logiciels audio fait ses calculs en nombres 32 bits à virgule flottante, dont l'arrondi, et le reste, sont normalisés dans l'IEEE 754 mentionnée ci-dessus
- les calculs sont d'ailleurs faits par le microprocesseur (mais comme les microprocesseurs suivent l'IEEE 754, de toute façon...)
- les DAW ont toutes la même manière d'additionner des pistes ; et elles appliquent un gain de la même manière. PAr contre, si le gain est différent de zéro, l'interface graphique ne permettra pas toujours de contrôler la valeur de ce gain assez finement pour toutes les DAW produisent exactement la même sommation
- les boutons de panoramiques ont un effet qui peut varier, souvent on peut même choisir plusieurs modes de fonctionnement dans la configuration d'une même DAW
- par contre 2 effets de modèles ou marques différents n'auront pas le même son. Un même plug-in d'effet ou d'instrument virtuel devrait avoir le même son quelle que soit la DAW utilisée (mais là encore, des détails techniques peuvent induire des petites différences, ne serait-ce que les valeurs affichées par les IHM, cf gain ci-dessus)
[ Dernière édition du message le 20/12/2014 à 19:00:56 ]
Hohman
Dr Pouet
le moteur audio (...) ne représente pas la totalité de ce qui sort d'un soft
Ça c'est sûr ! D'ailleurs on n'a pas dit le contraire dans les messages précédents.
Canem
Nouveau clip CANIS CANEM - March of Ghosts
- < Liste des sujets
- Charte