compression sur un mixage (par informatique)

Ici on discute le tout numérique et l'informatique, Mac-OS-X, PC-Windaube, Cubase et Logic et tout le bazar.....
Avatar du membre
sam
Équipier
Équipier
Messages : 561
Enregistré le : 25 sept. 2004, 16:01
Localisation : Nantes
Contact :

Message par sam » 12 déc. 2005, 23:24

je commence à mieux comprendre
par contre, le dithering n'est pas très clair, pourrais tu ré expliquer stp ?
UV22 est free ou pas ?

merci

prout
Habitué
Habitué
Messages : 62
Enregistré le : 12 oct. 2005, 14:29

Message par prout » 13 déc. 2005, 16:05

C’est très complexe en théorie, mais heureusement pas trop en pratique:

Dans ton soft le son est traité en 32bitfloat, c'est comme ça, c’est le cas de la majorité des softs.

Lors de l'export (ou bounce), si tu passe tes fichiers en 44/16 ou 48/24, tu perds le bénéfice du 32flt, et tu te retrouve avec un son forcement moins bon puisque certains bits sont tronqués. Et c'est audible malheureusement.

Donc l'astuce c'est de garder tes fichiers en 32flt en sortie, pour appliquer les opérations de pré-mastering, pour seulement à la fin convertir en 44/16 qui est le format CD (ou 24/48 si tu fais un DVD). Et c’est à ce moment la qu’on fait un dithering.

L’opération de dithering permet d'optimiser la conversion de données de 32flt à 16 (ce qui fait quand même la moitié), et ainsi rester le plus prés possible du son de sortie du soft.

Comme je le disais, c'est une opération qui n'est pas bien connus du grand public mais qui est d'une importance capital.

PS : ne me demandez pas plus d’explications, car je ne sui pas théoricien…

Avatar du membre
cedoulala
Équipier
Équipier
Messages : 304
Enregistré le : 29 mars 2004, 11:21
Localisation : Rhone Alpes
Contact :

Message par cedoulala » 13 déc. 2005, 18:18

Pour rappel: un signal encodé sur 16 bits signifie que le signal est échantillonné "horizontalement" selon 512 possibilités sur chaque point d'échantillon "vertical". En 24 bits tu as donc deux fois plus de points. Une valeur sur 24 bits peut ne pas correspondre sur 16 bits les codes sont forcément des nombres entiers. Ainsi, si tu as en 24 bits x=201, après une conversion en 16 bits sans dithering tu ne pourras pas trouver 100.5 mais un nombre entier 100 ou 101. Tu as donc à ce moment là, une perte d'information. :idea:
Pour ceux qui veulent un peu de théorie, un lien sur maomusique :
http://www.maomusique.com/topic.asp?TOPIC_ID=3799
8)
"Aime, et fais ce que tu veux"

Avatar du membre
Stuf
Équipier
Équipier
Messages : 540
Enregistré le : 10 août 2004, 18:53
Localisation : Paris
Contact :

Message par Stuf » 13 déc. 2005, 19:44

Petite note:
sur 16 bits, il y a 65536 (2^16) valeurs d'échantillonnage, c'est la résolution (ce sont des valeurs d'amplitude, la fréquence correspond au nombre de ces valeurs que l'on va sampler en une seconde, c'est la qualité).
sur 24 bits, on passe à 2^24, soit 16777216 valeurs d'échantillonnage.
Le problème lors du "downsampling" va donc être de retomber sur une valeur d'échantilonnage existante dans la base 16 bits ce qui n'arrivera pas dans la majorité des cas.
Par exemple, sur des valeurs de 0 à 100, en 24 bits, on va coder 49 par:
8220836 (c.àd. 011111010111000010100100) et on perd déja de l'info...
si on passe en 16 bits, on n'a plus que 65536 valeurs possibles d'échantillonage, donc il faut représenter notre valeur codée en 24 bits par la valeur en 16 bits la plus proche:
pour trouver la valeur correspondante de 24b à 16b, on divise par 256 (le nombre de valeur représentables en 24b est 256 fois plus grand qu'en 16b)=> 8220836/256 = 32112,640625. C'est balot, parceque c'est plus un code binaire, donc on prend le plus proche: 32113 (c.àd. 0111110101110001). Mais ce code, représente la valeur 49,0012970168...
Donc, de notre 49 de départ sur l'amplitude du signal, on est passé à cette nouvelle valeur.
Et sur un signal complexe et musical, ça va bien bien bien se sentir...
Le dithering est un effet psychoacoustique qui va consister en l'ajout d'un "bruit de fond" ayant pour effet sur no zoreilles de dissiper l'effet de ces arrondis et pertes lors des sampling et downsampling. Je ne rentrerais pas dans les détails, mais il y a de très bon liens sur la page qu'a donné cedou. Le principe global, issu en fait de la synthèse d'images (l'algo de Floyd-Steinberg pour le halftoning), est de procéder à une diffusion d'erreur autour des points critiques (un peu comme l'antialiasing en imagerie, mais qui lui n'opère que sur les contours...)
Un excellent papier sur le dithering dans le wikipedia en anglais:
http://en.wikipedia.org/wiki/Dithering
Stuf.

Avatar du membre
sam
Équipier
Équipier
Messages : 561
Enregistré le : 25 sept. 2004, 16:01
Localisation : Nantes
Contact :

Message par sam » 13 déc. 2005, 20:49

ca me parait clair...
par contre, moi qui bosse sur Logic, j'ai pas vu une option pour
rester en 32bit lors du bouncage...
32bitfloat.... float ??
ca veut dire ?
merci !!! 8-[

Avatar du membre
Stuf
Équipier
Équipier
Messages : 540
Enregistré le : 10 août 2004, 18:53
Localisation : Paris
Contact :

Message par Stuf » 13 déc. 2005, 21:52

Alors, quand on dit que l'on représente un nombre sur 32 bits, c'est qu'on va utiliser 32 bits pour le coder en binaire (une série de 32 0 et 1 qui va nous permettre de représenter 4294967296 valeurs), que ce soit un entier ou un réel. Pour représenter un réel, on va fixer le nombre de bits utilisés pour représenter la partie entière, et le nombre de bits pour représenter la partie décimale. Donc, par exemple avec 32 bits, on va utiliser 16 bits pour avant la virgule et 16 bits pour aprés. C'est la virgule fixe.
Le problème, c'est qu l'on perds beaucoup de bits et de précision (la plage de valeurs est réduite, et en plus, on réserve des bits pour la partie entière, alors qu'on pourrai en avoir besoin pour la partie décimale, et vice-versa=> perte de précision).
C'est pourquoi on utilise la représentation en virgule flottante (floating point), basée sur la notation scientifique: mEe, ou m s'appelle la mantisse (1<=m<10 et e au plus 2 chiffres), et e l'exposant. C'est la "virgule flottante", parceque la position de la virgule dépend de la valeur de l'exposant. Dès lors, on peut représenter de plus grand nombres, et plus précisemment.
Le format 32 bit floating point est défini par l'IEEE avec:
23 bits pour la mantisse,
8 bits pour l'exposant,
1 bit pour le signe.
C'est le format interne des rééls dans nos machines, que l'on appelle "float" et je crois que c'est Wavelab le premier logiciel de traitement audio à l'avoir utilisé en interne (mais chui pas sur)...
Stuf.

Avatar du membre
cedoulala
Équipier
Équipier
Messages : 304
Enregistré le : 29 mars 2004, 11:21
Localisation : Rhone Alpes
Contact :

Message par cedoulala » 13 déc. 2005, 22:57

Merci Stuff pour toutes ces précisions! 8-)
"Aime, et fais ce que tu veux"

Avatar du membre
Stuf
Équipier
Équipier
Messages : 540
Enregistré le : 10 août 2004, 18:53
Localisation : Paris
Contact :

Message par Stuf » 13 déc. 2005, 23:07

de nada mon bon cedou,

ça fera une tournée en plus quand on se verra à Lyon :))°^ :wink:
Stuf.

Avatar du membre
sam
Équipier
Équipier
Messages : 561
Enregistré le : 25 sept. 2004, 16:01
Localisation : Nantes
Contact :

Message par sam » 13 déc. 2005, 23:23

impressionant Stuff ! :shock: :lol:
merci pour ces explications très techniques et très claires à la fois !!

Répondre