Se connecter
Se connecter

ou
Créer un compte

ou

fréquences d'échantillonnage, resampling et résolution démystifées ?

  • 104 réponses
  • 18 participants
  • 13 843 vues
  • 27 followers
Sujet de la discussion fréquences d'échantillonnage, resampling et résolution démystifées ?
Bonjour,

J'ai passé du temps à faire des tests et à réfléchir pour essayer de déterminer le format audio optimum pour l'enregistrement et le travail en studio.

Au final je me pose encore quelques questions, auxquelles peut-être des spécialistes pourront répondre de façon éclairée ? (je les ai mises en gras)

Voici d'abord quelques réflexions suite à mes observations.
Vu que c'est un chouilla long :oops: et un peu pointu (sans mauvais esprit :mdr:), j'ai essayé de structurer clairement les choses.


Fréquence d'échantillonnage :


1) première approche :

il paraît évident dans l'absolu qu'un signal échantilloné à une fréquence élevée sera plus proche du signal analogique original (continu).
Au-delà de la bande passante et du théorème de Shanon Nyquist (qui sert un peu vite d'argument à tous les partis), le rendu des aigus en particulier devrait être plus juste, moins distortionné (décrire une sinusoïde avec 2 points ça paraît pas top).
Evidement on pourrait répondre que les fréquences en question sont inaudibles pour nos vieilles oreilles et que la distorsion des aigues ne fera que créer des harmoniques encore plus aigus et inaudibles (et qui seront de toute façon filtrés dans les formats audio de consommation actuels, fort heureusement dirait Nyquist).
Au final, est-ce que ça fait réellement une différence (surtout pour de la musique consommée en 44.1 kHz) ?


2) traitements et sommation :

en cas de mixage numérique, je suppose que les plugins peuvent délivrer un résultat sonore plus proche de l'analogique s'ils traitent un son "plus continu". En tous cas la différence m'a semblée flagrante à l'audition sur des réverbs qui prenaient une toute autre dimension et consistance (comparaison projet test en 44.1 et en 192).
Au delà du point de vue spectral, je suppose qu'une F.d'E. plus élevée amène une meilleure fluidité temporelle et dynamique.
La sommation aussi est meilleure je suppose, vu la résolution temporelle accrue et la plus grande précision des valeurs à sommer (erreurs de crête moindres, représentation des niveaux plus fidèle à chaque échantillon).


3) rendu final (44.1 kHz) :

Pour me rendre compte si au final ça faisait une différence de travailler à des F.d'E. supérieures, j'ai fait ce test :
- j'avais un projet enregistré en 44.1 kHz.
- j'ai resamplé toutes les pistes en 192 kHz (crystal resampler, wavelab 7).
- j'ai mixé en 192 kHz.
- exporté en 192 kHz puis resamplé en 44.1 kHz.
- j'ai dupliqué le projet de mixage en 44.1 kHz et passé les fichier originaux dedans.
- j'ai créé un fichier delta (différence entre les deux exports finaux).

Conclusions :
- à l'écoute il me semble entendre une différence entre l'export 192 et l'export 44.1 (plus d'ampleur, d'ouverture).
- par contre entre l'export travaillé en 192 puis resamplé en 44 et l'export tout 44, c'est moins évident (difficile de jurer que la différence n'est pas suggérée).
- Evidement, je ne saurai jamais si j'aurais mixé de la même façon en 44 qu'en 192 (ça m'a quand même paru auditivement très confortable, impression d'entendre plus clairement ce qu'il y avait à faire et ce que je faisais).
- le fichier delta montre une différence objective tout à fait flagrante entre les 2 exports (travaillés en 192 puis resamplé en 44 contre tout 44). On a l'impression d'entendre la composante "définiton" du son. Mais je me demande si elle n'est pas liée au resampling à des fréquences non multiples (parce qu'en écoute comparative c'est loin d'être aussi flagrant).

Du coup, vu que j'étais lancé, j'ai resamplé mes fichiers en 174.6 kHz, je les ai repassés dans le mix version 174, puis j'ai exporté et resamplé en 44.1.
Effectivement, le fichier delta est beaucoup moins flagrant même s'il reste une différence du même genre que l'autre fichier delta.
A part ça, les conclusions sont du même ordre qu'avec le mix en 192.

Plein de motivation, j'ai reproduit les processus en 88.1 kHz. Comme on pouvait s'y attendre, les constats sont du même acabit mais moins prononcés.

Il y a quand même quelque chose qui me turlupine :

La comparaison entre le mix en 44 et en 192 (fréquences non multiples) sous forme de fichier delta fait ressortir un résidu très estéthique (sorte de composante de définition du son).
C'est manifestement lié au resampling à des fréquences non multiples : j'ai fait le test de resampler un fichier 44.1 en 192 puis de nouveau en 44.1 et de comparer avec l'original. La différence est du même type.

Les questions que je me pose (même si la différence semble moins flagrante en écoute comparative) :
- est-ce dû à un phénomène de "déphasage d'échantillonnage" qui ferait entendre une différence flagrante mais non pertinente (de la même façon qu'on pourrait obtenir un effet de filtre en peigne flagrant en comparant 2 fichiers très légèrement décalés) ?
- si ce n'était pas le cas, serait-il possible qu'un resampler de bonne qualité, "obligé" d'extrapoler la courbe continue d'une façon plus approfondie pour des fréquences non multiples, offre au final un meilleur résultat ?


4) questions en suspens :

- fréquences multiples ou pas ?

pour les multiples :

. ça paraît plausible que la reconversion soit plus simple en cas de fréquences multiples et amène moins d'artéfacts...

. pourquoi les constructeurs s'emmerderaient sinon à proposer 88.2 et 176.4 kHz ?

pour les non multiples :

. dans l'absolu, avec une fréquence d'échantillonnage plus élevée on se rapproche davantage de ce cher son continu.

. la différence absolue du nombre d'échantillons devient peut-être intéressante aux ordes supérieurs de fréquence d'échantillonnage ?

. avec de bons convertisseurs ou en cas de mastering analogique par exemple, l'histoire de fréquences multiples devient peut-être moins pertinente ?

- 44/48, 88/96 ou 174/192 ?

. par rapport au rendu sonore final, à quel point est-ce que ça vaut la peine de mutliplier la F.d'E. (vu que les ressources nécessaires doublent chaque fois) ? Concrètement, est-ce que ça vaut pas la peine ? x2 ? x4 ?

. le son qu'on entend est quand même toujours reconverti en analogique, passé dans des haut-parleurs avec une inertie non nulle, propagé dans un air élastique et capté par nos oreilles au fonctionnement continu.

Au mieux tous ces éléments sont de très bonne qualité. Dans ce cas les convertisseurs lisseront joliment le signal, les haut-parleurs rendront fidèlement ce signal joliment analogisé, l'air sera transparent (si j'ose dire ;)) et les oreilles averties et ravies percevront très finement les jolies subtilités du son si bien rendu (en supposant que le signal sonore vaille le coup/coût évidement...).

Ou alors les convertisseurs lissent mal le signal sonore, les caractéristiques des HPs se combinent justement très mal avec ces irrégularités (tweeter hyper agressif), l'air déforme le son en le propageant avec un mauvais goût total, les oreilles qui perçoivent le résultat sont abîmées et la personne à qui appartiennent ces oreilles ne cherche pas à apprécier les jolies subtilités (ça tombe bien).

Dans l'immense majorité des cas, la réalité se situe quelque part entre ces 2 extrêmes (toutes les combinaisons d'incidence étant possibles).

Mais honnêtement, dans quels cas le fait de travailler à des F.d'E. supérieures à 44.1 kHz aboutira à une différence pertinente pour l'auditeur ?


Résolution :


1) 16 bit :

Si je ne me trompe pas, il y a 1 bit de signe (pour la polarité), il reste donc 15 bits pour décrire l'amplitude du signal, soit 2^15 = 32768 valeurs pour décrire le niveau de l'échantillon.
Pour une plage dynamique de 90 dB, ça ferait donc 364 valeurs possibles par dB...
Si c'est bien juste, ça me paraît déjà franchement bien !

2) 24 bit :

Les 8 bits supplémentaire ne servent qu'à décrire les niveaux inférieurs à - 90dB. C'est d'ailleurs confirmé avec un bitmètre.
Franchement, est-ce que ça change quelque chose ?
Je veux bien croire que ce n'est pas purement marketing, mais j'ai du mal à comprendre où est la pluvalue, que ce soit à l'enregistrement, pour les traitements ou la sommation : même pour de la musique classique ou un instrument seul très léger et plein de transitoires et d'harmoniques, j'ai l'impression que c'est quand même rare d'avoir un passage musical qui module suffisament bas pour que ce qui se passe quelque part à -90dB ne soit pas masqué par d'autres composantes sonores ou simplement par le bruit de fond environnant à l'écoute (ampli et HP compris).

3) 32 bit flottant :

Grâce à la virgule flottante on peut décrire à travers toute la plage dynamique des niveaux intermédaires qui ne sont pas utilisés en virgule fixe. Dès lors la pluvalue semble plus claire (enregistrement, traitements, sommation).
Sauf que si mes calculs sont justes (quelqu'un peut-il confirmer ?), même en 16 bit on a 364 valeurs par dB cf. § 16 bit).
Si c'est bien le cas, est-ce vraiment utile d'en avoir plus (même pour la sommation de nombreuses pistes), vu qu'on travaille au mieux au 1/10 de dB ?
Si je calcule bien (mais je me trompe peut-être), on obtiendrait une différence d'1/10 de dB entre une résolution à virgule fixe ou flottante si on avait par exemple à sommer 73 signaux tous très mal approximés par la virgule fixe.
Calcul : en virgule fixe 364 valeurs par dB -> erreur d'approximation maximale = moitié de cet intervalle (donc 1/728ème de dB) -> il faudrait donc cumuler 72,8 erreurs pour atteindre 1/10 de dB...
Et en plus, en cas de travail en virgule flottante, au final les valeurs sont de toute façon arrondies. Donc même si les valeurs finales sont légèrement plus justes après traitements et sommation que si on était resté en virugle fixe, cette précision est quand même partiellement rabotée (et là, même débat que pour les fréquences d'échantillonnage supérieures).

4) en conclusion :

Je veux bien croire qu'il y ait une bonne raison pour que les constructeurs et développeurs proposent des produits qui travaillent en 24 bit, 32 bit flottant, 48 bit non flottant... mais quelle est-elle ?

Quelqu'un d'avisé peut-il expliquer clairement si ça vaut la peine d'enregistrer et/ou de travailler en plus que 16 bit et à quel point ça fera une différence ou pas ?


Si vous avez tout lu, waw !
Si vous avez parcouru et relevé certaines questions, super !
Si vous pouvez y répondre de façon éclairante et justifiée, MERCI !!
Afficher le sujet de la discussion
51
Citation :
Quand je dis troncature je parle bien d'ecretage.

La troncature est l'arrondi à la valeur la plus proche de 0 (par défaut si la valeur est positive, par excès si la valeur négative).

Sinon, l'autre nom de l'écrêtage est la saturation.


Citation :
En 32bits float tu peux dépasser le 0Db en interne sans troncature. Pas en 24.

Si ça arrive trop souvent c'est que tu travailles mal. Une dynamique ça se gère, même en float.


Citation :
Les proc Intel et AMD travaillent en 32 pour la plupart, ce qui nécessite moins de calcul et de processus en bossant en 32bits float.

Non, c'est faux.
D'abord parce qu'aujourd'hui ils proposent principalement des archis en 64bits.
Ensuite parce que les ALU et les FPU d'intel, par exemple, montrent quasiment les mêmes perfo.


Citation :
Qui dit troncature dit perte de définition et erreurs d'arrondi.

Qui dit "quantification" dit perte de définition et erreurs d'arrondis.

Ce n'est pas un problème spécifique à la virgule fixe et il existe également en virgule flottante.
Nous sommes justement en train de discuter de la différence de comportement du bruit de quantification en virgule fixe et en virgule flottante.
52

d'ailleurs, si quelqu'un connais un plug de gain qui travail en 24 entier (pas facile à trouver à mon avis) on pourrait imaginer un test très simple pour comparer les deux méthodes et leur impact sur le BDQ.

ça doit aussi pouvoir assez facilement se faire en programmation, mais là j'ai aucune compétence.

53
Attention Il ne faut pas confondre codage 32bit et processeur 32 bit (ou 64).
On peut très bien faire des calcul 64 bit sur un x86 32bit. On peut même utiliser des codages arbitraire de 128, 256 et beaucoup plus.
Pour le bruit de quantification c'est bien un bruit blanc pour les fort niveaux. Il devient une distorsion seulement quand le niveau est proche du pas de quantification. Le cas typique de cette configuration est la queue de reverb.

L’intérêt pour des fréquences supérieure à 44kHz ne se manifeste pas dans le cas d'un mixage pur ne comportant que des transformation linéaires. En revanche les effets susceptible de créer des harmoniques peuvent amener un aliasing dans le haut du spectre. On pourrais penser qu'à ce titre les distorsions serait les premières dans ce cas. C'est seulement partiellement vrai.
La plupart du temps les plugins vont fonctionner sur un signal suréchantilloné. l’imprécision éventuelle va survenir au niveau du filtre passe bas précédant le sous échantillonnage final.
Il m'est même arrivé de trouver des plugins qui fonctionnaient mieux a 44kHz qu'à 88kHz.

En ce qui concerne les filtres, il ne vont pas se comporter des la même manière selon la Fe. Mais c'est ni mieux ni moins bien, c'est juste subtilement différent.

En terme purement qualitatif je suis pas persuadé qu'il est un gain réel. En revanche je ne nie pas qu'il puisse exister des différences mais elle ne se manifeste pas en terme de précision, finesse et authenticité.

[ Dernière édition du message le 21/01/2012 à 15:19:39 ]

54

Citation :

La troncature est l'arrondi à la valeur la plus proche de 0 (par défaut si la valeur est positive, par excès si la valeur négative).

Sinon, l'autre nom de l'écrêtage est la saturation.

Tu joues avec les mots.

Citation :

Si ça arrive trop souvent c'est que tu travailles mal. Une dynamique ça se gère, même en float.

J'ai pas dis que je recommande d'être dans le rouge à tout va ou que je procède ainsi.

Je dis simplement ce que permet cette résolution, c'est un fait.

Ne juge pas ma façon de faire sans savoir stp.

Citation :

Non, c'est faux.
D'abord parce qu'aujourd'hui ils proposent principalement des archis en 64bits.

Et tu penses pas qu'un proc en 64, travaille plus facilement avec du 32 que du 24?

55

Mais IL TRAVAIL quoi qu'il arrive avec du 32.

56

Tu parles de quoi?

57

du fait que peut importe la résolution du fichier ou la configuration du projet, toutes les données manipulées via cubase le sont en 32 bit flottant, et c'est pareil dans toutes les DAW, alors que toutes ne proposent pas le format d'enregistrement/export 32bit flottant.

58
Citation :
Tu joues avec les mots.

Je ne joue à rien du tout. Ce sont des termes qui définissent des opérations bien précises.

Saturer (ou écrêter) consiste à mettre à 0 les bits de poids forts.
Tronquer consiste à mettre à 0 les bits de poids faibles.

Les résultats n'ont rien à voir.


Citation :
Je dis simplement ce que permet cette résolution, c'est un fait.

Ce n'est pas une "résolution" mais un système de codage.

Le fait est que le codage en virgule flottante permet une plus grande dynamique au détriment de la résolution justement (en cédant les bits "après la virgule" à la partie entière).
Il permet aussi d'atteindre une résolution plus fine quand la dynamique "utile" du signal l'autorise.


Citation :
Ne juge pas ma façon de faire sans savoir stp.

Ok désolé pour la formulation maladroite : c'est une mauvaise pratique, à éviter.


Citation :
Et tu penses pas qu'un proc en 64, travaille plus facilement avec du 32 que du 24?

Non, et je sais que ce n'est pas le cas.
De plus nous traitions du comportement du bruit de quantification, et ce n'est pas un problème de performance de temps de calcul.

Qu'est-ce qui t'interdit, par exemple, de mettre tous les bits de poids faible à 0 ?
Le proc traite 32bits dont seulement 24bits de poids forts sont utiles, et ça ne change rien au temps de calcul.

Et comme le fait justement remarquer guitoo, tu peux aussi travailler en 128bits sur un proc 8bits. Tu vas alors reproduire de façon logicielle les mécanismes de codage des valeurs qui ne sont pas "câblés en dur" dans l'UAL du processeur.
(mais là, pour le coup, ça va avoir un impact sur la "consommation de CPU" parce qu'il faut jongler avec les registres).


Par exemple, pour la conception d'un système numérique (un FPGA pour l'encodage temps réel de vidéo HD) j'ai réalisé un simulateur "temps réel" qui effectuait une opération sur 72bits en virgule fixe sur un environnement de développement qui ne gère en natif que le 32 bits float...
J'ai juste géré 3 mots de 32bits flottants en réalisant "manuellement" les opérations de saturation et de troncature d'un opérateur en virgule fixe.

[ Dernière édition du message le 21/01/2012 à 16:29:18 ]

59
Citation :
Si la bande passante du signal est limitée (par ex. à 20 kHz), on peut reconstituer parfaitement la courbe originale (continue) en échantillonnant au double de la fréquence la plus élevée du signal.
Il existe en fait une subtilité mathématique : en théorie de la "transformation de Fourier", on peut démontrer rigoureusement qu'un signal dont la bande passante est limitée (= signal à support compact fréquentiel) doit posséder une extension temporelle infinie, i.e. le signal n'est pas à support compact temporel.

Et réciproquement, un signal à support compact temporel (comme un morceau de musique réel, qui possède une durée finie) n'a pas une bande passante limitée, même si la "bande de fréquences dominante" possède une largeur typique (Delta f) de l'ordre de 1/(Delta t).

Sur le papier, l'utilisation d'un filtre passe-bas + CAN avec fréquence d’échantillonnage finie amène donc toujours une dégradation lors de l'enregistrement.

La question, à laquelle je n'ai pas de réponse, est de savoir si cette dégradation est en pratique audible ou non :?!:

Before you play, ask yourself: will it improve upon the silence ?

60

Pour répondre à odieux Fonzy aussi à ceux que ça intéresse et parce que je n'ai pas la réponse en numérique :

Voilà ce qu'il se passe en analogique :sur l'écran de scope déssiné ci-dessous( en x-y ),au regard de la trace de référence axée à 45° "pile-poil" ,un tout petit décalage tel que la trace 1 ou bien la trace 2 :s'entend et est moins bon à l'écoute.J'ai fait des tests d'écoute là-dessus ou j'ajustais par l'électronique les traces 1 et 2 pour qu'elles soient ,soit décalées ,soit calées par rapport à la référence.

Mais je n'ai rien fait en numérique sur un convertisseur par exemple :je ne sais pas le résultat ...

Mon soundcloud  Good times !