Se connecter
Se connecter

ou
Créer un compte

ou
FR
EN

Conversion sample 16 bit vers 32 bit. pertes?

  • 38 réponses
  • 9 participants
  • 7 267 vues
  • 2 followers
Sujet de la discussion Conversion sample 16 bit vers 32 bit. pertes?
Bonjour à tous,

Je suis totalement newbi dans ce forum alors excusez moi si...
Dites moi où G gaffé & je rectifierai le tir...
Voilà, j'aimerais savoir s'il y a une perte de qualité quelconque en convertissant un sample 16 bits en 32 bits...
En fait je suis en train de mater 'Steinberg Internal Mixing' que je conseille à tous et notre ami Tieshman nous conseille de travailler sur des samples 32 bits... il y plusieurs raisons à cela... on peut en discuter...
Je me pose cette question pcq déjà quand on converti un sample d'une fréquence d'échantillonnage à une autre qui n'est pas un multiple, il y a des erreurs d'arondi... ets ce la même chose avec la résolution?...
Merci d'avance pour vos réponses que j'attend avec grande impatience...
Que le son soit avec toi Luc SoundTalker!... héhé...
2
Salut et bienvenu

non, il n'y a aucune perte il y a juste 8 bit ajoutés à la mantisse, pour passer sur du 24 bit fixe et 8 bit d'exposant, ce qui fait la propriété du flottant.

Ce qu'oubli de dire l'ami tishmeyer, c'est que cette manipulation ne sert strictement à rien si tu ne fait pas ou peu de traitements hors lignes (accessibles dans le menu audio->traitement ou plugin), car cubase comme la majorité des softs travail de toute façon en 32 bit flottant en interne, quelque soit la résolution du fichier.
3
Sujet deja traité sur AF...

passer un sample enregistré en 16 bits au format 32 bits ne fait qu'augmenter sa taille sur le disque dur, le sample ne sera ni dégradé ni amelioré (pas de perte d'infos, mais la conversion en 32 bits n'en crée pas non plus, au mieux elle "remplie les trous" par des bits "neutres") au final cela demandera plus de place sur ton dur, demandera plus de ressource CPU pour etre traité (mm si c'est surtout la freq d'echantillonnage qui impacte leplus sur les ressources CPU). Idem pour le upsampling qui ne crée rien (a part généré de la place supplementaire sur le dur). la freq d'echantillonnage, impacte neamoins dans une certaine mesure sur le rendu des fichiers apres traitement via effet vst. toutefois, le vst en question doit quand mm este d'un grande qualité.

par ailleurs des convertisseurs AN 32 bits pas sur que cela existe encore,

le meilleurs echantillonnage proposé a l'heure actuel etant le 24 bits 384 kHz si mes souvenirs sont exact, ou en DSD (1 bit 2,8 MHz) format qui n'est malheureusement pas supporter par les DAW actuelles.

ds le cadre d'une prod home studio (et finalement pour enormement de prod) le consensus actuelle est de travailler avec des fichiers enregistrés en 24 bits 44,1 kHz (88,2 kHz eventuellement) pour la zik ou 24 bits 48 kHz (96 kHz) pour la musique a l'image.
4
Cross post avec docks,

qui sera de toute facon bc plus pointu que moi sur la question,

PS : si correction a faire n'hésites pas a les faire docks, tu la bc plus potasser que moi le sujet
5
Un grand merci pour vos réponses les gars... ça me fait chaud au choeurs... hihi...
En fait, Tishmeyer conseille de passer en 32 bits pour plusieurs bonnes raisons et notament que le rendu après traitements par D plug DSP comme la compress, l'EQ, etc. sera meilleur... avec D plugs de qualité bien évidemment... a t'il encore oublié de dire qqch ou C effectivement le cas?
Cross post avec doc?... moi pas comprendre Dzolé... toi m'éclairer?...
Encore un grand merci à vous les gars... je suis enfin soulaG d'un de mes nombreux poids...
6
OK G compris le cross post avec doks...
G fait une recherche dans les forum avec 'doks' non pas comme sujet mais comme auteur... mais il y en a tellement... comment cibler ce que je recherche?...
7

Citation : En fait, Tishmeyer conseille de passer en 32 bits pour plusieurs bonnes raisons et notament que le rendu après traitements par D plug DSP comme la compress, l'EQ, etc. sera meilleur... avec D plugs de qualité bien évidemment... a t'il encore oublié de dire qqch ou C effectivement le cas?


il a raison pour du traitement hors ligne (ce que je disait plus haut), tord pour du traitement en ligne (via les plugin en inserts, en send, les fader,les pan de la console virtuelle du soft) puisque de toute façon sauf cas particuliers (powercore, protools HD...)tous les traitements seront fait en 32 bit flottant, peu importe la résolution de tes fichiers, le rendu sera le même que ton sample de base soit en 16 bit ou que tu l'ai passé en 32 bit, ce qui ne changera rien car il n'aura de 32 bit que le nom.

Citation : par ailleurs des convertisseurs AN 32 bits pas sur que cela existe encore,


je ne pense pas non plus, de toute façon ca n'aurai pas grand intérêt, le 32 bit flottant et le 24 c'est "pareil", ils ont la même partie fixe (partie "utile" du mot binaire), la seule différence c'est que le flottant introduit 8 bit d'exposant qui permettent de s'adapter à l'échelle du signal à traiter, il en résulte qu'on ne remonte pas le bruit de quantification à chaque traitement (pas de troncature au rendu des calculs), et qu'on introduit une notion de "headroom numérique" qui fait qu'on ne peu pas saturer en interne ant que toute la chaine tourne en flottant.

Il faut bien dissocier 2 choses:
- la résolution de quantification qui défini le nombre de bit utilisé lors de la conversion d'un signal analogique en flux numérique, ici le flottant n'a aucun intérêt, en tout cas je n'en vois pas, par contre il est effectivement vivement conseillé de préférer le 24 bit au 16 lors de cette étape, pour plein de raisons.

- la résolution des calculs lors des traitements internes, et c'est là que le flottant est utile pour les raisons évoqués au dessus, il permet de conserver l'intégrité de la mantisse, et de rendre au mieu les détails des traitements.

Sinon te prends pas la tête avec le "cross post avec docks" (c'est ni doc, ni doks :clin: )il veu juste dire qu'il a poster en même temps que moi.

Edit: par contre je t'invite à lire la charte du forum, tu y verras que l'écriture sms n'est pas très bien vue. :clin:
8
OK mon bon vieux docks... Désolé d'avoir écorché ton nom...
Tu es trop loin pour moi... je ne conprends pas grand chose à ce que tu me racontes.. trop technique... apparament je suis dans la cour des grands là... & moi je suis un beginner...
Tu es quoi? Ingénieur du son ou quoi?...
Je viens de parcourir 2 heures à lire tes threads comme vous appelez ça... c'est de la balle car c'est souvent très objectif mais une fois encore, je suis bien trop souvent dépassé...
Je te remercie quand même de consacrer du temps à répondre à un tout petit comme moi... j'espère qu'un jour je pourrais te suivre... tu me donne envie d'apprendre...
T'as vu?... plus de contractions smsiques... Désolé pour ça...
Je voudrais pas abuser de ton temps... mais je viens de poster un 2e sujet mais personne n'y a encore répondu... peut-être ai-je écrit des énormités... pourrais-tu jeter un oeil à ça & me répondre stp?...
Je te file le lien pour pas que tu cherches après:
/prise-de-son-mixage/forums/t.361152,timestreching-vs-resampling-qualite.html
Un grand merci à toi...
9
Pour ton deuxième sujet, désolé mais je ne te serais pas d'une grande aide, je n'en connais pas assez sur le sujet

Citation : Tu es trop loin pour moi... je ne conprends pas grand chose à ce que tu me racontes.. trop technique


alors allons y par étape, tu verras, c'est pas si compliqué que ca.

Tout d'abord, la quantification:
http://www.iict.ch/Tcom/Laboratoires/digivox2000/chap/chap2/quantification.htm

En lisant ca, tu devrais comprendre le principe, et aussi comprendre pourquoi il vaut mieux enregistrer en 24 bit, plutôt qu'en 16.

Ensuite, la résolution:
En audionumérique, tout du moin en PCM (pulse code modulation) on utilise deux choses, la fréquence d'échantillonnage qui définie le nombre de point par secondes auxquels on va attribuer une valeur, et la résolution qui défini le nombre de bit qu'on utilise pour coder chaque point.
Donc, 44.1/24 bit par exemple, signifie qu'on prend 44 100 points par seconde et qu'on code chaque point avec 24 bit.

En gros, toujours pour du 44.1/24 bit, si tu prends une feuille de papier millimétré, en horizontale tu as la fréquence d'échantillonnage (44 100 divisions pour 1 seconde), et en vertical tu as 2^24 (16 777 216) lignes qui représentent chaque valeur possible.

De là, tu peux tracer la courbe qui représente au mieux les variations de tensions d'un signal analogique, et c'est ce que fait (schématiquement) un convertisseur analogique/numérique.

Après, on distingue deux choses au niveau de la résolution:
1- la résolution fixe
2- la résolution à virgule flottante

Dans les deux cas, un mot binaire est fait de la manière suivante:
- 1 bit de signe
- X bit de mantisse (la mantisse est la partie "utile" du mot binaire)
- X bit d'exposant pour du flottant

Pour du 16 bit, on a 1 bit de signe et 15 bit de mantisse
Pour du 24 bit, on a 1 bit de signe et 23 bit de mantisse
Pour du 32 bit flottant, on a 1 bit de signe, 23 bit de mantisse et on rajoute 8 bit d'exposant.

Sachant qu'un bit peu prendre 2 valeurs (0 ou 1), ca nous donne:
2^16 valeurs possibles en 16 bit soit 65 536
2^24 valeurs possibles en 24 bit soit 16 777 216 (voir exemple du papier millimétré plus haut)
On appel l'écart entre deux valeur possible le PAS DE QUANTIFICATION (voir le lien pour en savoir plus, notamment sur le bruit de quantification)

autre chose, 1 bit permet de coder 6dB
pour du 16 bit on a donc 96 dB (6x16) de plage dynamique
pour du 24 bit on a 144 dB (6x24)de plage dynamique

Pour du 32 bit flottant, on peu "déplacer" nos 24 bit sur une échelle beaucoup plus grande (envron 1500dB théoriques) grace aux 8 bit d'exposant., on peu donc coder sur 24 bit des signaux très hauts et des signaux très bas.

Voila en gros quelques bases sur le sujet, à compléter ou à reprendre en cas de boulettes. :bravo:

Citation : Tu es quoi? Ingénieur du son ou quoi?...


non, pas du tout.
10
C'est un Passionné de musique qui souhaite en faire son métier :mdr: .
Sauf qu'il est réelement un peut plus que passionné :mdr:
perso, je le classe dans ma section pédagogie d'AF.
chaque fois que je me pose une question, il est souvant la conclusion (avec Rroland et youtou) :bravo2:

apprendre est une des choses les plus difficile à faire. Alors j'apprends chaque jours.

11
Salut docks, merci à toi pour ton aide...
J'ai potassé le dossier du lien que tu m'avais filé & j'ai décortiqué tes explication dans ce thread... cependant il reste des points obscurs...

J'ai bien compris qu'une conversion A/N en 24 bit sera une meilleure approximation numérique qu'une conversion 16 bits d'un signal analogique...
qu'en partant d'un signal numérique 16 bits & en le convertissant en 24 bits, je ne dégrade ni enrichi le signal déja encodé en 16 bit... d'ailleurs si G bien compris en passant de 16 à 17 bit (je sais ca n'existe pas, mais bon, disons que...) j'aurais 2 fois plus de valeurs possibles pour représenter mon signal... donc pas d'erreurs d'arrondi comme avec le changement sa fréquence d'échantillonnage (non multiple...)

Citation : Ce qu'oubli de dire l'ami tishmeyer, c'est que cette manipulation ne sert strictement à rien si tu ne fait pas ou peu de traitements hors lignes (accessibles dans le menu audio->traitement ou plugin)...



Il m'arrive de de faire des traitements hors ligne dans le menu audio/traitement de cubase comme du time stretch, normalize, remove DC comp... donc mieux vaut convertir mes samples en 24/32 bits, non?

Citation : ...car cubase comme la majorité des softs travail de toute façon en 32 bit flottant en interne, quelque soit la résolution du fichier.



Ca veut dire quoi ça?... que de toute facon mon sample 16 bit avant le traitement sera converti d'office en 32 bit à l'entrée du plug avant d'appliquer le traitement, puis reconverti en 16 bit à la sortie du plug?...
Si tel est le cas, alors même si ca prend plus de place disque/mémoire, en convertissant mon sample en 32 bits au préalable, j'ai au moins l'avantage d'économiser des ressources proccesseurs pour les traitements en temps réèls puisque plus de conversion en amont & en aval...

Tishmeyer, lui, conseille de tout faire en 32 bits puis à la fin, quand tout est mixé, masterisé, etc, d'appliquer un dithering... mais si ca ne sert à rien, alors autant laisser mes samples en 16 bits, comme ça j'ai pas à appliquer un dithering, car j'ai appris en lisant, qu'une règle d'or C au moins de traitement sur la chaine du signal, au moins de deterioration du signal originel (question fidélité, bruit, etc.)... du moins pour l'analogique... est ce le cas en numérique?

A ce propos, quand j'exporte une piste solo midi pour en avoir une version audio qui me servira pour le mixage (car C conseillé de ne travailler qu'avec des pistes audio au mixage), dois-je la régler à son volume maximal pour avoir un meilleur rapport signal utile/bruit comme en analogique? ou peu importe mon niveau sonore j'aurais toujours le même rapport?...
Un plugin d'effet genre compress, EQ, etc.. introduit t'il du bruit comme en analogique?...

Citation : autre chose, 1 bit permet de coder 6dB



Alors là je comprends plus rien...

1 bit pour 6db?... n'est ce pas bcp plus petit que cela? pour du 16 bits, 1/65K de la dynamique du signal... pour du 24 bit 1/16M de la dynamique du signal?

Pour ce qui est de mon 2e sujet, c'est bizarre... personne ne m'a répondu depuis 2 jours... j'ai du dire une enormité aussi grosse que moi...
Pour mieux te décrire, la fonction /audio/traitement/resample me permet de jouer mon sample 44Khz à une autre fréq comme par ex 30Khz ou 50 Khz... ce qui a pour conséqunce de le ralentir/acceérer et de monter/descendre sa hauteur tonale...
Je sais qu'en procedant de la sorte, j'introduis des erreurs d'arrondi (C pas comme la résolution... tu vois... j'ai bien compris), mais j'ai l'impression que ca donne quand même un meilleur résultat qu'en appliquant un algo de time stretch qui, certes, qui ne modifie pas la hauteur tonale, mais ça, ça m'est égal
Si j'insiste, C pcq je vois qu'au niveau fréq d'échantillonage tu en connais un rayon...
Si tu sais pas me répondre, où puis-je trouver la réponse ou à qui d'aussi qualifié que toi pourrais-je demander?...

Citation : C'est un Passionné de musique qui souhaite en faire son métier .
Sauf qu'il est réelement un peut plus que passionné
perso, je le classe dans ma section pédagogie d'AF.
chaque fois que je me pose une question, il est souvant la conclusion (avec Rroland et youtou)



Clair... je suis en train d'étudier ses treads même si G pas le niveau... le type est un tueur... toujours très objectif... moi j'aime pas me baser sur les on dit...

Et docks G été voir sur le lien CLIP WOOZ-LA RUE CHANTE RENAUD, C toi dans le clip?...
Tu fais quoi comme genre de zik?...
12

Citation : Il m'arrive de de faire des traitements hors ligne dans le menu audio/traitement de cubase comme du time stretch, normalize, remove DC comp... donc mieux vaut convertir mes samples en 24/32 bits, non?


si vraiment tu empiles pas mal de traitements hors ligne sur plusieurs pistes, ca peut être effectivement moin dégradant de convertir tes pistes en 32 bit flottant.

Citation : Ca veut dire quoi ça?... que de toute facon mon sample 16 bit avant le traitement sera converti d'office en 32 bit à l'entrée du plug avant d'appliquer le traitement, puis reconverti en 16 bit à la sortie du plug?


oui sauf qu'il ne sera pas reconverti en 16 bit, il sera en 32 bit flottant à la sortie du plug, sauf dans le cas de traitements hors ligne, ou là le résultat est requantifié à la résolution du fichier.

Citation : alors autant laisser mes samples en 16 bits, comme ça j'ai pas à appliquer un dithering


et bien si, en toute fin lors de l'export au format cd (16 bit/44.1), il faudra mettre un dithering puisque comme dit au dessus, malgré le fait que tes samples de bases soient en 16 bit, une fois traités en interne (même avec un simple pan ou niveau via le fader) ils ressortent en 32 bit flottant, donc avec une mantisse de 23 bit, ce qui fait que lors de l'export en 16 bit( 15 bit de mantisse) tu vas "virer" les 8 derniers bit, donc dithering pour limiter l'effet dégradant de l'opération.

Citation : j'ai appris en lisant, qu'une règle d'or C au moins de traitement sur la chaine du signal, au moins de deterioration du signal originel (question fidélité, bruit, etc.)... du moins pour l'analogique... est ce le cas en numérique?


Non ce n'est pas vraiment le cas, en tout cas en terme de bruit, puisque justement le 32 bit flottant te permet de chainer autant d'effet que tu veux sans faire remonter le bruit de quantification.
Par exemple, en analo si tu chaines 15 equas même en bypass, bonjour les dégâts, en numérique et en flottant, pas l'ombre d'un soucis, tu récupères en sortie ce que tu avais en entrée.

Citation : A ce propos, quand j'exporte une piste solo midi pour en avoir une version audio qui me servira pour le mixage (car C conseillé de ne travailler qu'avec des pistes audio au mixage), dois-je la régler à son volume maximal pour avoir un meilleur rapport signal utile/bruit comme en analogique?


déjà il ya deux cas de figures:
- soit ton vsti lit des samples issus d'un échantillonnage (enregistrement d'un vrai instrument, d'un synthé analo, d'une BAR etc...)
- soit il génère de lui même (grace à un algorithme) un flux de données représentant un signal (genre émulation de machine existante...)

Dans le premier cas ton rapport signal/bruit est déjà défini, il sera équivalent au pus mauvais maillon de la chaine utilisé lors de l'enregistrement, donc coller le 0dBfs n'y changera rien.
Dans le second cas, si je ne dit pas de connerie, le seul bruit présent sera le bruit de quantification, donc si tu exportes ta piste en 24 bit il sera vers les -140dBfs, donc même à -40dBfs t'as encors un bon rapport signal/bruit.

Citation : Un plugin d'effet genre compress, EQ, etc.. introduit t'il du bruit comme en analogique?...


- En hors ligne sur un fichier en résolution fixe, oui, puisqu'il y a requantification au format du fichier
- En "temps réel" si le plug calcul en résolution fixe (Protools HD, tc powercore) ou sur une mantisse plus élevée (UAD etc...) et qu'il introduit un dithering pour rendre au format du soft, techniquement oui, mais on est quand même à des niveaux très bas, à mon avis il faut commencer à empiler un sacré paquet de pistes avant que ca devienne significatif.

Citation : 1 bit pour 6db?... n'est ce pas bcp plus petit que cela?


non, n'oublions pas qu'on code une tension, et que 6dB en plus correspond à un doublement de la tension, comme quand on rajoute un bit, on double le nombre de pas de quantification, et on gagne 6 dB de plage dynamique.
Je sais pas si je suis clair. :?!:

Citation : Si j'insiste, C pcq je vois qu'au niveau fréq d'échantillonage tu en connais un rayon


dans les grandes lignes, oui un peu, mais pour ce qui est de la mise en ouevre des algos que tu évoques, bof, en tout cas pas suffisemment pour te conseiller efficacement.
Tu peux aussi te fier à tes oreilles et choisir ce qui te convient le mieux.

Citation : Clair... je suis en train d'étudier ses treads même si G pas le niveau... le type est un tueur


je suis touché, mais ne me surestimez pas trop quand même, ce que je sais ets bien peu de chose par rapport à tout ce que je ne sait pas, et ce n'est vraiment pas de la fausse modestie. :clin:

Hors sujet :

Citation : Et docks G été voir sur le lien CLIP WOOZ-LA RUE CHANTE RENAUD, C toi dans le clip?...


non, c'est ben seagle (du collectif MOROVACH) et wooz, wooz étant l'artiste avec lequel je taf.

Citation : Tu fais quoi comme genre de zik?...


je ne suis pas musicien, je m'occupe surtout de toute la technique (prise de son, mixage, "mastering") à mon peit niveau, essentiellement en hiphop avec wooz justement, et parfois dans d'autres styles (pop/rock voir même métal ou autre...)pour des potes.

13
En fait, passer les fichiers de 16 bits à 32 bits entraine des pertes. Deux types de pertes, de temps et d'espace disque.

Redevenons sérieux (mais pas trop longtemps). Le dither ne doit être appliqué qu'une seule fois, et ce doit être la dernière opération.

Il n'est pas tout à fait exact qu'en numérique, les traitements n'ajoutent pas de bruit, vu qu'a chaque opération on subit une nouvelle erreur de quantification. Mais il faut se rappeler que cela se situe aux alentours de -130dBFS, soit sous le niveau de bruit du convertisseur. Cet ajout de bruit reste donc assez théorique, pour ne pas dire anecdotique.

JM
14
Voila un VRAI tueur qui sait plein de trucs! :bravo: (quoi? fayot moi? :non: :lol: )

Citation : Redevenons sérieux (mais pas trop longtemps). Le dither ne doit être appliqué qu'une seule fois, et ce doit être la dernière opération


ben oui, c'est ce que j'ai dit, je me suis encors mal exprimé comme c'est là. :noidea:

Citation : Il n'est pas tout à fait exact qu'en numérique, les traitements n'ajoutent pas de bruit, vu qu'a chaque opération on subit une nouvelle erreur de quantification


il me semblait justement (mais j'ai toujours eu un doute sur ce point) que le flottant évitait justement la remonté du bruit de quantification à chaque traitement.
Enfin même si c'est pas le cas, comme tu le soulignes, au niveau ou ca se passe, on s'en tape un peu.
15

Citation : 1 bit pour 6db?... n'est ce pas bcp plus petit que cela?

non, n'oublions pas qu'on code une tension, et que 6dB en plus correspond à un doublement de la tension, comme quand on rajoute un bit, on double le nombre de pas de quantification, et on gagne 6 dB de plage dynamique.


Attention : quand on dit "1 bit pour 6 dB", on veut dire "ajouter un bit à la résolution (par exemple en passant de 16 à 17, de 17 à 18...) va permettre de représenter des signaux dont la dynamique est plus grande de 6dB".

Bon cette formulation est encore un peu compliquée / académique, mais en fait c'est tout con : imagine que tu fasses tes comptes dans excel, et que tu aies une version qui ne gère que des nombres à 3 chiffres. Donc là, soit tes comptes varient entre 0 et 999 euros ; soit tu gères jusqu'à 10.000€ mais à une dizaine d'euros près...

Le jour où la nouvelle version d'excel prend en compte des nombres à 4 ou 5 ou 10 chiffres, tu te dis chouette ça va être plus précis ! Ben là c'est pareil.

Pour le "plus petit" : ajouter un chiffre ne veut pas dire faire ses comptes à 10 euros près, tu peux toujours les faire à un euro près. C'est juste que ça multiplie par 10 le rapport entre le plus petit et le plus gros nombre. C'est précisément ce rapport qu'on appelle la "dynamique".
16

Citation : il me semblait justement (mais j'ai toujours eu un doute sur ce point) que le flottant évitait justement la remonté du bruit de quantification à chaque traitement.


Point de vue théorique / mathématique (=quasi branlette) :
Tout traitement ajoute une petite erreur. Pour que l'erreur soit constante il faudrait que la taille des nombres augmente à chaque traitement.

En pratique :
Tu ne perds pas 1 bit à chaque sommation, loin de là. D'ailleurs même si les bruits s'additionnent (un peu seulement, car il ne sont pas corrélés entre eux ; il n'est d'ailleurs pas "impossible" qu'ils se réduisent, même si c'est très improbable), il ne faut pas oublier que les signaux utiles s'additionnent aussi. Et d'une certaine manière, ils sont beaucoup plus corrélés entre eux, donc je crois plutôt que l'addition fait reculer le niveau de bruit (dans la mesure où ce dernier est aléatoire, ce qui est le cas général : erreur d'échantillonnage, erreur d'arrondi...)


En résumé, et pour paraphrase Jan : même si c'est intellectuellement intéressant, ce n'est pas trop la peine de se soucier de tout ça ; c'est pas ça qui fera qu'un mix est réussi ou non.
17

Citation : même si c'est intellectuellement intéressant, ce n'est pas trop la peine de se soucier de tout ça ; c'est pas ça qui fera qu'un mix est réussi ou non.



Question toute conne, puisque j'ai pris le thread en diagonale, et que évidemment j'y ai rien compris, est-ce que réellement ça apportera quelque chose, ou à l'inverse même l'auditeur final équipé d'un systeme d'écoute à 50000€ n'entendra que dalle ?

je veux dire, parfois en milieu "pro", un assemblage de petits détails peut faire la différénce. Mais évidemment si tout ça est absolument inaudible, y a même pas lieu de parler de détail...
18
L'erreur de quantification sur une mantisse de 23 bit, clairement on s'en tape, et même avec du matos à 300 000 000$, t'es pas prêt de l'entendre là ou ca se situ, sous le niveau de bruit de n'importe quel converto comme l'a souligné Jan, vers les -130/-140dBfs, et encors, en prenant pour hypothèse que le converto est le moin bon élément niveau rapport signal/bruit, ce qui n'est pas forcément le cas (voir le SNR d'un mic par exemple)

En plus de ca, ca va finir en 16 bit, avec du coup un niveau de bruit de quantification qui va remonter vers les -90dBfs, alors celui qui se trouvait à -130, vraiment plus rien à secouer (déjà qu'avant :lol: )
19

Citation : Tout traitement ajoute une petite erreur. Pour que l'erreur soit constante il faudrait que la taille des nombres augmente à chaque traitement.


c'est là que je lache, et avoue mes lacunes.
Pour moi, l'erreur est "constante" dans le sens ou elle dépend du pas de quantification, donc l'erreur de quantification sera toujours comprise entre 0 et 0.5 fois le pas de quantification, et celui ci ne changeant pas, pourquoi le niveau de bruit changerait?
Pour moi il reste toujours du même ordre,non?

:?!: Y'a encors une subtilité à la con que j'ai pas du capter. :noidea:
20
Imaginons que l'on applique plusieurs fois de suite un gain de -6dB, ce qui revient à diviser la valeur de l'échantillon par 2. Évidemment en réalité on ne ferait pas ça, mais des effets successifs (gain, compression, EQ, pan...) peuvent engendrer cela.

Dans un premier temps je fais le calcul exact (enfin en base 10, parce-que en base 2 c'est un peu chiant), suivi d'un arrondi unique (le nombre avant arrondi est entre parenthèses) :
17 -> 8,5 -> 4,25 -> 2,125 -> (1,0625) 1

Si je fais un arrondi à chaque fois :
17 -> (8,5) 9 -> (4,5) 5 -> (2,5) 3 -> (1,5) 2

Il y a le même nombre de division par deux, mais à la fin il y a un écart de plus de 0,5
On remarque aussi que pour rester exact il faut de plus en plus de chiffres.

Mais c'est juste un cas "extrême" pour comprendre, en pratique les erreurs d'arrondis ne seront pas toutes dans le même sens, et surtout, comme tu l'as dit on est toujours dans du "bruit à -130dB" ; ça va pas s'entendre des masses...
21

Citation : Imaginons que l'on applique plusieurs fois de suite un gain de -6dB, ce qui revient à diviser la valeur de l'échantillon par 2


oui, on "utilisera" un bit de poids fort en moin.

Citation : Si je fais un arrondi à chaque fois :
17 -> (8,5) 9 -> (4,5) 5 -> (2,5) 3 -> (1,5) 2

Il y a le même nombre de division par deux, mais à la fin il y a un écart de plus de 0,5
On remarque aussi que pour rester exact il faut de plus en plus de chiffres


au final, j'ai quand même l'impression qu'on dit la même chose.
Dans ton exemple on voit que l'erreur est constante (et donc que le niveau de bruit n'augmente pas), il sera toujours égal à 0.5 max, ce qui se dégrade par contre, c'est le rapport signal/bruit, je sait je chippote, mais c'est pour être sûr que je comprend bien, parce que je reste quand même sur le fait que le niveau de bruit de quantification reste toujours du même ordre quelque soit le nombre de traitement qu'on empile (je parle là de théorie, car en pratique un compresseur peu faire remonter le bruit mais ce n'est pas du au principe de quantification), le signal quantifié sera toujours une approximation à 0.5 max près du signal réel, donc avec un bruit de quantification oscillant entre 0 et 0.5 fois le pas de quantification. :noidea:
22

Citation : Dans ton exemple on voit que l'erreur est constante (et donc que le niveau de bruit n'augmente pas), il sera toujours égal à 0.5 max


Ben non, à la fin l'erreur est de 1. Elle est de 0.5 entre 8,5 et 9, mais de 1 entre 1 et 2 !

Ou encore si tu additionnes 5 pistes avec un échantillon 10,4 ça fera 50 s'il y a eu arrondi avant, alors que ça devrait faire 52...


Citation : ce qui se dégrade par contre, c'est le rapport signal/bruit


C'est vrai aussi sur cet exemple, mais de ce point de vue ce n'est pas très représentatif, c'est parce-que "l'effet" est une baisse de gain.

Citation : je reste quand même sur le fait que le niveau de bruit de quantification reste toujours du même ordre quelque soit le nombre de traitement qu'on empile (je parle là de théorie, car en pratique un compresseur peu faire remonter le bruit mais ce n'est pas du au principe de quantification), le signal quantifié sera toujours une approximation à 0.5 max près du signal réel, donc avec un bruit de quantification oscillant entre 0 et 0.5 fois le pas de quantification.


Il ne reste pas toujours à 0.5 max du signal réel, la preuve dans l'exemple que j'ai donné. Par contre je suis d'accord pour dire qu'il restera du même ordre.
23
Je crois avoir capté la subtilité:
dans ton exemple, on cumule les erreurs, donc au final elle est plus importante, j'ai bon?

Et c'est là ou il me semblait que ca n'était valable que pour des calculs en résolution fixe, et que le flottant évitait justement ce cumul d'erreurs, et qu'on se retrouvait avec une seule erreur supplémentaire (en plus de celle due à la quantification lors de l'échantillonnage d'une prise analo par exemple) qui est celle de l'arrondi final lorsqu'on exporte en 24 bit (même mantisse que le 32 bit flottant), si on exporte en 16 bit, évidemment l'erreur est bien plus importante.

En gros pour moi:
--calcul en résolution fixe (ou offline sur un fichier en résolution fixe) = cumul des erreurs
-calcul en flottant = une seule erreur à la fin lors de l'export en résolution fixe.
24

Citation : dans ton exemple, on cumule les erreurs, donc au final elle est plus importante, j'ai bon?


C'est ça. Mais comme dit précédemment, l'ordre de grandeur des erreurs même cumulées va rester faible. Et les exemples sont plutôt caricaturaux (erreurs toujours dans le même sens, petits nombres...)

Citation : Et c'est là ou il me semblait que ca n'était valable que pour des calculs en résolution fixe, et que le flottant évitait justement ce cumul d'erreurs, et qu'on se retrouvait avec une seule erreur supplémentaire


Ben non. Bien qu'on soit en flottant, le nombre de bits de mantisse est fixe, donc le nombre de chiffres permettant de représenter le nombre est fixe. Par contre on peut bouger la virgule et rajouter des zéros sans pertes (ce qui, au passage, offre un headroom fabuleux), tant qu'on dépasse pas la limite évidemment.

Voici des exemples en base 10, avec le nombre réel, puis une représentation informatique en virgule fixe et une autre en virgule flottante. Pour "émuler" protools (48 bits fixe sur une tranche mais 24 sur un bus) et les autres (32bits flottants = 24 de mantisse et 8 d'exposant), je vais simplifier et faire comme si PT était toujours en 32 bits fixes ; et imiter ça en base 10 par 4 chiffres sur PT, et 3 chiffres de mantisse +1 d'exposant pour les autres (Cubase, Logic, Live, Sonar...) En fait en réalité ce serait plutôt 7 chiffres décimaux qui correspondraient à 24 chiffres binaires.

Pour chacun, je mets d'abord le stockage informatique puis la représentation "humaine". Pour le fixe on a un nombre de 4 chiffres (qui devrait être signé, mais qui ne l'est pas dans mon exemple), pour le flottant on a 2 nombres : la mantisse sur 3 chiffres puis l'exposant sur 1 chiffre signé.



réel = 12 123 1234 12345 1,2 0,2 0,002 0,012345

fixei= 0012 0123 1234 clip! 0001 0000 0000 0000
fixeh= 12 123 1234 clip! 1 0 0 0

floti= 012 +0 123 +0 123 +1 123 +2 012 -1 002 -1 2 -3 123 -2
floth= 12 123 1230 12300 1,2 0,2 0,002 0,0123



réel = 123456789012 1234567890123 0,0000002

fixei= 0000
fixeh= clip ! clip ! 0000

floti= 123 +9 2 -7
floth= 123000000000 clip ! 0,0000002



Si je reprends mon exemple de traitement :

réel = 17 -> 8,5 -> 4,25 -> 2,125 -> 1,0625
fixe = 17 -> 9 -> 5 -> 3 -> 2
flott= 17 -> 8,5 -> 4,25 -> 2,13 -> 1,07



On peut en conclure que le format protools est un tout petit peu plus précis pour des signaux ayant un bon gain, mais est beaucoup moins précis sur les petits signaux, et n'offre pas ou peu de headroom (comparé aux 700dB de Cubase, Logic et co ;) ).

Pour finir, je crois que la dernière version de Sonar est en 64 bits flottants. Si ça s'entendait nettement, tout le monde abandonnerait immédiatement Protools, Cubase, Logic, Live et autres pour passer sur Sonar, ce qui n'est pas le cas !



Citation : -calcul en résolution fixe (ou offline sur un fichier en résolution fixe) = cumul des erreurs
-calcul en flottant = une seule erreur à la fin lors de l'export en résolution fixe


Non : il y a cumul des erreurs dans tous les cas, car presque à chaque opération il y a un arrondi. De même que si on fait bêtement :
10 / 3 = 0,333 et 0,333 x 3 = 0,999 au lieu de 10.
Mais en résolution fixe on "perd" plein de chiffres dès qu'on s'approche des limites : grands nombres = "clip" ci-dessus, petits nombres = 0 ci-dessus aussi.

:bravo:


(tout ça est assez peu intéressant et plutôt casse-tête, mais ça a un rapport avec l'actualité avec le bug de la sécu qui est un peu dans ce genre de problématique ;) )
25

Citation : -calcul en résolution fixe (ou offline sur un fichier en résolution fixe) = cumul des erreurs
-calcul en flottant = une seule erreur à la fin lors de l'export en résolution fixe

Non : il y a cumul des erreurs dans tous les cas, car presque à chaque opération il y a un arrondi. De même que si on fait bêtement :
10 / 3 = 0,333 et 0,333 x 10 = 0,999 au lieu de 10.
Mais en résolution fixe on "perd" plein de chiffres dès qu'on s'approche des limites : grands nombres = "clip" ci-dessus, petits nombres = 0 ci-dessus aussi.


ok, ca change juste "l'échelle" de l'erreur.


Citation : tout ça est assez peu intéressant et plutôt casse-tête


casse tête c'est clair, on a vite fait de s'y perdre.
peu intéressant, d'un point de vue pratique, c'est clair aussi, on s'en tape profondément, d'un point de vue théorique, j'aime bien, par simple curiosité, savoir comment tout ca fonctionne, et il faut bien reconnaitre que tu es souvent sur le coup. :bravo: