Se connecter
Se connecter

ou
Créer un compte

ou
FR
EN
Techniques du Son

Histoire de db (nouveau thread pour clarifier, nouvelles avancés)

  • 54 réponses
  • 13 participants
  • 3 045 vues
  • 4 followers
Sujet de la discussion Histoire de db (nouveau thread pour clarifier, nouvelles avancés)
Salut à tous,

Bon après avoir vider mes bouteilles d'aberlour voila les nouvelles avancées.

Je résume pour les nouveaux venus.

Tout est venu d'un expérience qui est la suivante :

Citation : Je prend une wave qui se trouve en gros au alentour de -6db (pour être sur que les manip qui vont suivre n'écrêtent pas le signal) : c'est l fichier original.

J'ouvre sound forge je prend l'outil qui se trouve dans le menu process et qui augemente le volume. J'applique +2 DB, je sauve sous le nom "+2DB sound forge". Je réouvre le fichier "+2db sound forge" j'applique -2, je sauve sous "-2db sound forge".

Ensuite je lance wave lab et j'ouvre le fichier original et le fichier "-2 db sound forge". Je fais une analyse comparaison des fichiers.. verdict ils sont différents



Bon en gros deux explications ont émergés :

1) le calcul (traitement) déforme le signal car les valeur de ce calcul sont arrondis du fait même de la résolution (16 bits)

2) Le db est un mesure relative c'est un rapport comme les pourcentages. Ce qui fait que lorsqu'on applique +2/-2db on ne retrouve pas la même wave qu'au départ.


Alors j'ai fait une autre expérience, j'ai créé un wave de 100 samples à 440 hz forme sine, à 5db.



Comme cela on connait très bien les caractéristique de cette vawe.

J'applique +2 db, puis -2 db

Je fais une analyse et la j'obtiens, le même nombre de samples, la même hauteur, le même volume -5db, bref je suis d'un point de vue des caractéristique physiques sur deux wave identiques.

Je fais un analyse sous wavelab et j'obtiens toujours une différence entre le fichier original et le +2/-2.

J'ai localisais la différence elle est dans le dessin en escalier de la wave. (c'est wave lab qui a pointé sur celle ci car l'outil d'analyse comparative place un marqueur sur la différence (dans l'image suivant j'ai enlevé le marqueur pour ne pas embrouiller l'image).

Voila l'image comparative (c'est très fin comme différence mais on peut la voir a l'oeil nue).



Il y a d'autres endroits sur la courbe ou l'on observe ce type de différences, mais les deux courbes partent du même point et arrivent au même point en ce qui concerne l'amplitude, ce n'est que le trajet en escalier qui est de temps en temps différent au niveau des marches.

Ce qui tendrait à prouver que c'est la solution 1 qui est la bonne (déformation due au calcul)
Le coté relatif de la mesure DB n'est ici (à expliquer) pas de mise, puisque on retombe bien sur une courbe de même amplitude, avec les même caractéristiques audio/physiques.


Voili...

J'attends vos remarque.

PS : tout ceux qui ont une bonne cave à wisky sont les bien venue :mdr: :mdr:

~ Raziel ~
---------------
o==]::::::::::::::>
---------------
"Mon âme brûlait paisiblement"
---------------
"Mon âme brûlait paisiblement" http://www.maldoror-web.com
Afficher le sujet de la discussion
26

Citation : Travailler en 48KHz pour faire un CD au final en 44.1, c'est complètement absurde. Si gain il y a au niveau de l'enregistrement et du mix, tout est perdu lors du passage à 44.1.


Faux. Ca fait partie des idées reçues. Si les règles du traitement du Signal sont respectées, Il n'y a pas de dégradation.
Bien sùr, vu le peu de différences entre 48Khz et 44,1Khz, il est plus "simple" de travailler directement à 44,1, mais de dégradation il n'y a pas !

Citation : Or en plus, on va dégrader le signal (et utiliser un très bon algorithme de conversion ne fera que limiter cette dégradation mais jamais la supprimer).


Là encore, idée reçue ! La seule chose qui pourrait "dégrader" le signal est le filtrage numérique anti-aliasing indispensable à toute opération de "down sampling".
Mais c'est surtout quand le développeur du soft de conversion a "oublié" d'inclure un tel filtre qu'il y a dégradation du signal parcequ'il y aura un peu d'aliasing entre 48 et 44,1Khz !!!

Citation : Par contre, 88.2 c'est intéressant, le passage à 44.1 s'effectuant sans douleur. Mais ce n'est pas essentiel.


Idées reçues, idées reçues !!!
88,2 vers 44,1 sans douleur ?
Faux ! Plus facile à programmer, oui certainement (pour les feinéants), mais tout aussi risqué qu'une autre conversion, si le programmeur n'est pas un caid du traitement du signal ...
Très rares sont ceux qui incluent un filtre anti-aliasing en divisant le Sample rate par 2 !
Or il est indispensable de filtrer pour le 44,1 S/s (soit à 22,05 Khz).
La plupart se limitent à moyenner 2 échantillons 88,2 pour en faire 1 à 44,1, ce qui est bien plus catastrophique pour le signal puisqu'il s'agit là d'une interpolation linéaire, contraire à tous les principes de TS ...
La seule interpolation correcte n'est pas linéaire, mais bi-cubique, et nécessite de travailler au moins sur 4 ou 8 échantillons ... quand au filtrage il agit lui sur au moins 64 ou 128 échantillons pour chaque échantillon traité pour donner un bon résultat...

Petite note aux développeurs : Pour faire un filtre anti-aliasing 48K vers 44,1, il FAUT passer par 96Khz (numériquement) en doublant le sample rate par sur-filtrage à 48K, puis appliquer de nouveau un filtre 44,1 sur le 96K pour travailler dans de bonnes conditions.
Il n'y a aucune dégradation, et en tout cas BEAUCOUP MOINS de bruit et de distorsion qu'en ayant enregistré avec un convertisseur 96K à 3 sous !

Toutes ces reflexions pour dire qu'il n'y a PAS de meilleure solution, ce qui compte AVANT TOUT c'est un TRES BON soft de manipulation d'échantillons !!!!!!!!!!
Tout est relatif, et il vaut mieux pas de traitement du tout qu'un mauvais traitement !

Même chose pour les convertisseurs, il vaut 1000 fois mieux un "bon" convertisseur 16 bits/44,1 ou 48Khz qu'un convertisseur 24 bits/96Khz bon marché .......

Willy, zicos electronicien
Willy, zicos electronicien et algorithmes mathématiques
27
Putain, bien interessant tout ca.
Est-ce qu'il existe un site internet ou on puisse trouver des articles a ce propos ??? j'aimerais voir noir sur blanc les equations qui prouvent ce que tu dis, par curiosite. Pcq tu traitement du signal j'en ai fait mais j'ai de grosses lacunes, et j'aimerais comprendre un peu mieux de quoi qu'on cause.
28

Citation : Là encore, idée reçue ! La seule chose qui pourrait "dégrader" le signal est le filtrage numérique anti-aliasing indispensable à toute opération de "down sampling".
Mais c'est surtout quand le développeur du soft de conversion a "oublié" d'inclure un tel filtre qu'il y a dégradation du signal parcequ'il y aura un peu d'aliasing entre 48 et 44,1Khz !!!



Alors là faut qu'on m'explique, je vois pas par quel miracle manthématique on va passer de 48 000 S/s à 44 100 S/s sans perdre de l'information. Et les 3900 samples perdus par secondes c'est pas une perte ?

Alors deux chose soit on se comprend pas sur le mot dégradation (qui pour moi est synonyme de perte d'amputation). Peut ête veut tu dire qu'il n'y a pas de dégradation audible et que l'oreille humaine ne sait pas, si la conversion est bien faites, entendre la perte de 3900 sample/s. Soit l'algorythme de conversion relève de la science fiction.

Ou alors (chose possible je nai pas saisi ce qu'est le sample rate)

~ Raziel ~
---------------
o==]::::::::::::::>
---------------
"Mon âme brûlait paisiblement"
---------------
"Mon âme brûlait paisiblement" http://www.maldoror-web.com
29

Citation : Alors là faut qu'on m'explique, je vois pas par quel miracle manthématique on va passer de 48 000 S/s à 44 100 S/s sans perdre de l'information. Et les 3900 samples perdus par secondes c'est pas une perte ?

Alors deux chose soit on se comprend pas sur le mot dégradation (qui pour moi est synonyme de perte d'amputation). Peut ête veut tu dire qu'il n'y a pas de dégradation audible et que l'oreille humaine ne sait pas, si la conversion est bien faites, entendre la perte de 3900 sample/s. Soit l'algorythme de conversion relève de la science fiction.



Point de science fiction (même si j'adore ...)

Je parle bien de perception :
L'oreille humaine perçoit les sons jusqu'à environ 20 Khz, donc théoriquement un sample rate de 40 Khz serait suffisant pour coder TOUT ce qu'on entend ...
à 44,1Ksps on code jusqu'à 22050 Hz et à 48Ksps on code jusqu'à 24000 Hz, ok ?

Dans les 2 cas, on est à 10% ou 20% au dela du seuil de perception...

Bien sùr que mathématiquement, "down sampler" de 48 à 44,1 fait "perdre" de l'information
(dans la bande 22050 à 24000 Hz) ... mais c'est inaudible, non perceptible

Par contre, si la conversion est mal faite, genre interpolation linéaire ou absence de filtrage pour l'aliasing, alors on récupère des problème DANS la bande audible ... c'est ce que moi j'appelle dégradation ou pas : c.a.d. dégradation dans la bande 0-20000 Hz.

Pour en revenir à la SF, il y a un tas de choses possibles en traitement du signal qui pourraient paraitre du domaine de la science fiction, mais c'est mathématiquement béton, et il faut être le nez dedans pour se rendre compte de la puissance et la portée de la TS.

Par exemple, il est reconnu que le bruit ne peut pas être modélisé, prédit, etc ...
Mais il est tout à fait possible de distinguer différentes formes de bruit dans un signal et de ne garder que ce qui est intéressant.

Pour les observatoires astronomiques, certaines observations consistent à analyser le "bruit" des étoiles ... mais il est extrêmement faible et quasiment du même niveau que le bruit intrinsèque de l'electronique qui permet ces mesures !!!
On pourrait penser que du bruit noyé dans du bruit, c'est foutu ... et ben non, pas du tout,
parcequ'on peut corréler le bruit, et en utilisant plusieurs recepteurs synchronisés, on pourra facilement éliminer tout le bruit "local" (dù à l'electronique) pour conserver seulement le bruit "utile" c.a.d. celui venant des étoiles !!! véridique !

ou encore utiliser l'effet dopler pour déterminer la distance d'une source sonore ...

Des applications de folie, type "science fiction" il y en a des tonnes en TS, et les problèmes de sampling, filtrage et résolution sont parmi les mieux maitrisés.
Dommage que nombre de développeurs, pondeurs de lignes C ou C++ au kilomètre, ne prennent pas assez souvent de références dans le domaine qu'ils mettent en oeuvre...
D'où parfois des erreurs monumentales par rapport à la théorie.

Par exemple, la recrudescence d'appareils bon marchés depuis une paire d'années, vantant des qualités de conversions AD de 24 bits à 96 Khz, feraient peut être bien de regarder entre autres la qualité de leurs alimentations (quand ce n'est pas purement et simplement directement l'alim du PC ...) pour se rendre compte que le bruit généré par ces alims ramène la vrai résolution de leurs convertos 24 bits à quasiment l'équivalent d'un 16 bits ...

Mais la mode est plus forte que tout, alors vive le 24bits/96Khz !

Willy, zicos electronicien
Willy, zicos electronicien et algorithmes mathématiques
30
En fait je crois qu'il est important de comprendre que 0 dB correspond à 1V.

L'équation correspondant au calcul est :

Vs(dB) = 20 * log (Vs(Volts)).

On comprend alors pourquoi les dB s'ajoutent et les V se multiplient.

Il existe également une autre échelle qu'on rencontre plus rarement en audio le dBm qui correspond à:

Vs (dBm) = 20 * log (Vs(millivolts)).

En ce qui concerne la fréquence d'échantillonage, j'aimerais préciser qu'on considère couramment que l'oreille humaine entend jusqu'à 22 kHz. Lorsqu'on sait qu'il fautq ue la fréquence d'échantillonage soit au minimum le double de la fréquence du signal utile, on comprend mieux les 44,1 kHz!!!
31

Citation :
Faux. Ca fait partie des idées reçues. Si les règles du traitement du Signal sont respectées, Il n'y a pas de dégradation



Ouais, sauf que bon, en pratique, c'est impossible à faire. Passer de 48 a 44.1 estpas evident ( en gros, il faut d'abord surechantillonner par le plus petit multiplicateur commun, ce qui fait un truc autour de plusieurs Mhz ).

Je sais pas comment ça se passe en pratique, mais je pense pas que c'est fait avec la méthode "parfaite".

Ensuite, plusieurs choses :

- les traitements audio, dans la plupart des éditeurs audio, sont faite en flottants. Donc vos resultats correpondent pas à la réalité.
- si vous travaillez avec des fichiers temporaires, il va y avoir dégradation du signal à ce moment là.

Citation :
Des applications de folie, type "science fiction" il y en a des tonnes en TS, et les problèmes de sampling, filtrage et résolution sont parmi les mieux maitrisés.
Dommage que nombre de développeurs, pondeurs de lignes C ou C++ au kilomètre, ne prennent pas assez souvent de références dans le domaine qu'ils mettent en oeuvre...



Le problème, c'est quand même aussi que des trucs de folie en TS restent de l'ordre de la théorie, et sont pas toujours applicables. Ou les résultats sont pas forcément mirobolants.
Mais aujourd'hui, en effet, il y a de la recherche sur la séparation de sources ( genre séparer deux voix dans un même wave ), etc...

Sans compter les trucs qui existent pour de vrai, avec des softs, mais qui sont inutilisables par le commun des mortels ( car demande de comprendre ce que le soft a dans le ventre. C'est d'ailleurs un sacré problème ).
32

Citation : En ce qui concerne la fréquence d'échantillonage, j'aimerais préciser qu'on considère couramment que l'oreille humaine entend jusqu'à 22 kHz. Lorsqu'on sait qu'il fautq ue la fréquence d'échantillonage soit au minimum le double de la fréquence du signal utile, on comprend mieux les 44,1 kHz!!!

Pourquoi le double ? Pourquoi 22 kHz ça suffit pas ? c'est quoi la logique là ?
(je suis pas matheu moi...)
33
Si t'es pas matheux, c'est pas facile à expliquer.
34
Essaye quand même steuplé, en vulgarisant un max... ça m'intrigue vraiment ce truc.
Je veux savoir :(((
35

Citation : car demande de comprendre ce que le soft a dans le ventre. C'est d'ailleurs un sacré problème

Huhu, ca me rappelle de loooongs threads ca... :clin:
36
Robono, pour faire vraiment très très simple, imagine un signal carré à 100 Hz,
c.a.d. 100 fois un front montant, un plat, un front descendant, un plat ... ok ?

Si tu echantillonne à 100 Hz, tu tombera à chaque fois sur le plat supérieur par exemple !

alors ton signal echantillonné te donnera un signal continu, toujours plat, du niveau du signal carré ... mais plus du tout de carré à 100 Hz ... tu vois ?

Alors il faut echantillonner à 200 Hz pour avoir à chaque carré au moins un echantillon sur le plat supérieur et un echantillon sur le plat inférieur !!!

C'est vraiment extrêmement simpliste, mais ça montre un peu pourquoi il faut le double.

En fait, en ayant ainsi que 2 echantillons par période du signal echantillonné, le signal
reconstruit s'apparente à une sinusoide puisque seule la sinusoide ne contient que la fréquence fondamentale ...
Pour vraiment échantillonner un signal carré proprement, il faut monter, monter, monter
très haut en fréquence pour attrapper toutes les harmoniques.
En théorie si le signal carré est parfait (ça n'existe pas...), il faudrait une fréquence d'échantillonnage infinie !


Dans la pratique, on limite l'échantillonnage à la fréquence (harmonique) la plus élévée que l'on considère utile (20Khz ou 22Khz) pour l'oreille humaine.

D'où un sample rate de 40Khz ou 44 Khz.

Le 44,1Khz lui même à des raisons historiques ... mais n'importe quoi entre 40Khz ou 44Khz aurait été aussi bien ...
Willy, zicos electronicien et algorithmes mathématiques
37
William !! Ca faisait longtemps, content de revoir ton pseudo et tes commentaires :bravo:
38
Bon, allez, j'attends que mes tomates farcies cuisent.

Bon, t'as deux domaines utiles en TS : le domaine temporel ( ou le signal a une amplitude en fonction du temps ) et le domaine fréquentiel ( où le signal a une amplitude en fonction de la fréquence : c'est le spectre, quoi ).

On dit que ces deux domaines sont duaux; c'est à dire que si tu passes un signal d'un domaine a son dual ( donc de temporel à fréquentiel, ou l'inverse ), beaucoup de propriétés sont conservées, mais sous une forme souvent differente.

Par exemple, si tu appliques un gain à un signal temporel, son dual fréquentiel sera augmenté de la même amplitude. Si tu multiplies un signal par ce que l'on appelle un gain complexe, le signal dual sera translaté ( déplacé horizontalement ). Par exemple, si tu multiplies un signal temporel par un gain complexe, ben tu obtiens un frequency shifter, bien connu des guitaristes, par exemple.

Pour ce qui nous interesse : passer du signal réel continu ( analogique, quoi ) avant le convertisseurs à un signal discrétisé en temps ( le signal echantillonné, quoi ) après conversion a aussi une opération duale, qui est la périodisation. C'est à dire que le spectre du signal echantillonné sera le même que celui du signal analogique, à ceci près qu'il sera répété sur l'axe des fréquences. Et cette periode est exactement égale à la fréquence d'achantillonnage. Le problème, c'est que du coup, si le spectre est plus large que cette fréquence divisée par 2, deux périodes succéssives peuvent se superposer : c'est le recouvrement, ou alisaing fréquentiel.

Avec un dessin, ce serait super facile. Je vais voir si je peux t'en trouver un sur un site...
39
Merci bien William77, maintenant c'est très clair. :bravo:
40
Je vais essayer de t'expliquer avec un petit visuel mais attention le TS c'est des maths!!:

Quand tu échantillonnes à la fréquence Fe (Oméga C sur le schéma), le spectre du signal échantillonné va se reproduire des 2 côtés autour de ta fréquence fe mais aussi autour de toutes ses harmoniques : 2Fe, 3Fe, ... jusqu'à l'infini.


Si jamais la fréquence maximal de ton signal (Oméga S sur le schéma) est inférieure à Fe/2, c OK comme sur la figure du haut. Mais si jamais ce n'est pas le cas, tes fréquences se mélangent et on a un repliement de spectre (figure du bas).

Il faut donc au minimum le double! :bravo:
41
Oops le temps de trouver une image et tout c'était éclairci...
42
Yes ! Avec le dessin et mon explication, t'as l'explication "prfonde" du pourquoi du comment. William77, c'est un electronicien, il explique par l'exemple ( bonjour à William77 par ailleurs :bravo: ).

En tout cas, le vrai théorème mathématique ne fait que prouver ce que montre le dessin. C'est finalement pas très interessant.
43
Dans Spiral dB, il y a quand même dB :clin:
44
Ben dans Gabou, il y a pas Whitaker ?

Ah, non. Merde.
45
OK, merci les gars :)
J'ai pas vraiment compris le coup du recouvrement des fréquences mais c'est pas grave. Ce que j'ai compris finalement c'est que faire un échantillonage c'est un peu comme appliquer un effet stroboscopique à une onde (en ce qui concerne les fréquences) et il en résulte une "approximation", et pour éviter les effets audibles d'une telle approximation à cause des fréquences inaudibles il faut prendre celles-ci en compte, au moins jusqu'à un certain degré.
Enfin bon.... j'me comprends :mdr:
46
Salut Gabou !
Comment ça va ?

Mon explication simpliste avait pour but d'être comprise sans prérequis ...

Citation : Ouais, sauf que bon, en pratique, c'est impossible à faire. Passer de 48 a 44.1 estpas evident ( en gros, il faut d'abord surechantillonner par le plus petit multiplicateur commun, ce qui fait un truc autour de plusieurs Mhz ).



Si pour suréchantillonner tu utilises un FIR, tu n'aura en fait à calculer QUE tes echantillons de sortie, soit à 44,1 Khz ... quelquesoit la fréquence de référence du FIR, même en Mhz ...
Mais utiliser le plus petit multiple commun est un peu archaique, bien que fonctionnant parfaitement.

Le mieux c'est d'utiliser une interpolation bi-cubique basée sur des sinus cardinaux appliqués aux échantillons adjacents... la précision ne dépend que du nombre d'échantillons pris en compte, à la manière des développements limités ...

Au fait, ce n'est pas toi qui voulait partir faire une thèse au Japon ?
ton projet avance t-il ?

Willy, zicos electronicien
Willy, zicos electronicien et algorithmes mathématiques
47

Citation : Robono : Ce que j'ai compris finalement c'est que faire un échantillonage c'est un peu comme appliquer un effet stroboscopique à une onde



C'est exactement ça :
L'effet stroboscopique est un échantillonnage visuel !!!
Willy, zicos electronicien et algorithmes mathématiques
48

Citation : Le mieux c'est d'utiliser une interpolation bi-cubique basée sur des sinus cardinaux appliqués aux échantillons adjacents... la précision ne dépend que du nombre d'échantillons pris en compte, à la manière des développements limités ...



Le pire c'est que c'est vrai... t'as quoi comme formation william77?
49

Citation : t'as l'explication "prfonde" du pourquoi du comment. William77, c'est un electronicien, il explique par l'exemple ( bonjour à William77 par ailleurs ).



Gabou, t'es un peu dur avec moi !
Je n'explique pas par l'exemple parceque je suis electronicien,
mais pour me faire comprendre par qui n'a peut être pas les bases pour une explication plus académique ...
Et puis electronicien "seulement", c'était avant de retourner sur les bancs de la fac,
eh oui, comme quoi on peut faire un dea puis continuer en doctorat, même à 40 ans ...

Willy, zicos electronicien
Willy, zicos electronicien et algorithmes mathématiques
50
Hé William77, tu connaitrai le DEA ATIAM à l'IRCAM, t'en penses quoi?