Se connecter
Se connecter

ou
Créer un compte

ou

Sujet Une conversion de fréquence d'échantillonnage augmente le niveau crête ?

  • 146 réponses
  • 18 participants
  • 14 963 vues
  • 25 followers
Sujet de la discussion Une conversion de fréquence d'échantillonnage augmente le niveau crête ?
Il m est arriver une histoire a dormir debout :

Ce soir je finalisais des masters pour les mettre sur cd.
Mon projet est a 88,2 kHz, 24 bit, a l export du mastering, je sélectionne donc 44,1 et 16 bit.

Mes masters lors de la lecture dans Logic 9 modulent a -0,2 dB crête. Cependant logic en exportant en 44,1 16 bit me colle a 0 dB, ca clippe !!

Je fais le même export en 88,2 et ca marche, je retrouve bien mon signal modulant a -0,2 dB. Je n ai coche aucune option de normalisation ou quoi que ce soit ....

Logic ne sait pas passer de 88,2 a 44,1 .... C est pitoyable, je suis sur le cul

C est quoi ce bug !!!!!!

Afficher le sujet de la discussion
101
Citation :
je pense que sur les prods pro ils se prennent pas la tête



Alors pour ne pas se prendre la tête c'est :

Master à la freq d'origine modulant à 0 dB , export 44,1 kHz, on se retrouve avec un fichier tout lisse ou les éventuels pics auront été rabotés par le bounce du séquenceur.

Tu penses à ça ?


Ou autre solution, faire une conversion NA, puis entrer à 0 dB dans un converto AN dont la freq est à 44,1
J'ai pas essayé cette solution encore.

[ Dernière édition du message le 14/08/2011 à 22:39:42 ]

102
Citation :
Tu parles de pics comme sur la figure de gauche ?


La figure de droite c'est exactement ce qui se passe, et je vise à aligner les crêtes sur les pointillés.
103

aujourd'hui le clipping est un moyen comme un autre utilisé pour gagner encore quelques poils de cul de dB, je dit pas que c'est bien hein, je constate juste que c'est monnaie courante qu'un album clip du début à la fin.

Moi perso si j'étais dans ton cas, le "je me prend pas la tête" serait juste d'exporter à -0.5dBfs crête, au pire après conversion il sera à -0.2, pas de quoi m'empêcher de dormir, et puis pour les 3 ou 4 pics dont tu parles qui dépassent, pour moi ça sera inaudible, et en plus, à part nous, qui va mater la forme d'onde d'un morceau pour voir si il ressemble à un autre? icon_mrgreen.gif

104
En ce qui me concerne, j'applique la solution du post 76
105
Désolé Dr Pouet, je n'avais pas vu ta question.

Citation :
Pourtant tu as l'air de bien connaître le sujet, et tu n'évoques pas cette possibilité. Si tu peux expliquer pourquoi, je suis très preneur de tes éclaircissements !
lol je te sens un peu déçu :-p
Comme l'aurait dit l'illustre artiste pétomane Mizou-Mizou : "-Yé né sui pa oune machine."
https://www.dailymotion.com/video/x6bw0z_mizoumizou-le-petomane_fun

Citation :
Pour moi, chaque sample représente un sinus cardinal dans le contexte analogique. Du coup, sans contrainte de temps de calcul, j'aurais dit que la manière la plus rigoureuse et naturelle de faire la décimation serait de remplacer chaque sample par un sinus cardinal, ce qui revient à faire une convolution, et qui n'est peut-être même pas si lourd à faire (vu qu'on le fait dans les réverbs).

Un sample, qui est une impulsion de Dirac, ne représente pas un sinus cardinal.
C'est plutôt le sinus cardinal qui représente ce que l'impulsion va produire si l'on passe du numérique à l'analogique en supposant que la chaîne de conversion est parfaite. Le sinus cardinal est la réponse impulsionnelle du CNA (parfait).

Est-ce que tu ne tirerais pas ton idée de la façon dont les outils retracent la forme d'onde à l'écran ?
La représentation en somme d'une suite de sinc est en effet "fidèle" au comportement de la synthèse analogique (la courbe affichée ressemble effectivement à ce qui est envoyé aux écoutes), mais ce n'est pas ce qui donnera l'interpolation avec le moins d'erreur par rapport au signal d'entrée.

Petit détail, mais quand-même d'importance, le sinus cardinal est une réponse infinie. Pour faire une simple convolution il faut le fenêtrer (exactement comme lors de la synthèse d'un filtre passe bas).

Ça peut être quelque chose à prendre en compte pour l'interpolation en donnant la "borne max de l'effort à fournir", mais ça ne te donneras pas l'interpolation "ultime".
Ça peut aussi donner un piste lorsque que l'on n'a aucune idée sur la forme d'onde que l'on cherche à interpoler, mais en application audio on sait faire mieux.


Ce que l'on cherche à reproduire c'est l'excitation d'entrée qui peut avoir une forme quelconque. Or tu peux trouver tout un tas de façons différentes d'aller d'un échantillon à un autre (et donc des positions différentes de la valeur interpolée) compatibles du comportement fréquentiel de la chaîne de traitement (je parle des filtres de CAN / CNA...)
Nous venons d'ailleurs d'en donner 3 : linéaire (qui revient elle aussi à faire une convolution), sinc (qui revient à faire une interpolation "linéaire pondérée" ), cubique.

Autre façon de voir ceci, pour une même entrée tu peux obtenir des échantillons différents en décalant le "top départ" de la numérisation d'une valeur comprise entre [0 ; 1/Fe].
Si tu fais 2 numérisations, parfaite sans bruit, que tu les recales dans le temps et que tu fais une interpolation avec des sinc, tu ne trouveras pas les mêmes valeurs.


Si tu veux faire la meilleure interpolation possible, il faut que tu connaisses la forme d'onde de départ, ou du moins que tu cherches à l'estimer à partir du signal échantillonné dont tu disposes.

La technique la plus "chiadée" que j'ai vu fonctionner en labo utilise un modèle sinusoïdes amorties + ondelettes + bruit:
- On cherche les transitoires (en gros, les sons percussifs et les attaques des instruments).
- Les transitoires sont modélisés par les ondelettes puis retirés du signal d'origine (les formes des ondelettes sont des atomes de Gabor).
- Le signal obtenue est découpé en trames très courtes pendant lesquels le signal est considéré pseudo-stationnaire. Les débuts des trames sont placés sur les instants où il y avait un transitoire, pour que le modèle sinusoïde amortie soit le plus efficace possible.
- Sur chaque trame on ajuste les paramètres du modèle sinusoïdal amorti. C'est une technique "haute-résolution" qui utilise les décompositions en sous-espace (si ça te dit quelque chose) car les trames sont très courtes (une FFT aurait une résolution fréquentielle trop pourrie pour y trouver quelque chose à cause de la taille réduite du support temporel).
- Une fois l'ajustement fait, on retire les composantes pseudo-sinusoïdales du signal où il ne reste que la partie bruit. Il ne s'agit pas seulement du bruit de fond, mais du bruit de fond + le souffle d'un instrument à vent, les consonnes fricatives d'un chant, etc. qu'il ne faut pas perdre.
- Le bruit est modélisé par un modèle auto-régressif à moyenne ajustée.

En gros, ce que l'on obtient c'est une sorte de "super-mp3" avec un minimum de perte (on s'arrange pour que la puissance du signal résiduel soit en dessous d'un certain seuil qui peut être fixé par des critères psycho acoustiques et le réponse impulsionnelle de la partie restitution, pourquoi pas).
On exploite un modèle de connaissance du signal audio (le modèle sinusoïdes amorties + transitoires + bruit) et il ensuite possible de re-synthétiser le signal à la fréquence que l'on souhaite.
Ça élimine aussi le problème du filtre d'antialiasing (il suffit de ne pas reproduire les composantes du modèle qui sortent du nouveau domaine fréquentiel).

Ce n'est pas demain la veille que l'on trouvera un outil de ce niveau dans nos DAW.

[ Dernière édition du message le 15/08/2011 à 19:34:04 ]

106
Citation :
- CONVERSION 44,1 kHz / 24 bits avec R8brain Pro, Weiss Saracon ou izotope RX (mon préféré)


quel preset ou réglage utilises tu dans izotope RX pour le resample ?

merci

www.pierreclusters.fr

http://www.youtube.com/watch?v=cJL0xC454p4

107
Citation :
Est-ce que tu ne tirerais pas ton idée de la façon dont les outils retracent la forme d'onde à l'écran ?

Non. Je dirais plutôt que je la tire de lectures similaires à ce que tu as écrit, et que j'ai mal intégrées / reformulées ! Je parle de ça :
Citation :
C'est plutôt le sinus cardinal qui représente ce que l'impulsion va produire si l'on passe du numérique à l'analogique en supposant que la chaîne de conversion est parfaite. Le sinus cardinal est la réponse impulsionnelle du CNA (parfait).

J'ai du le lire aussi dans un article de Dan Lavry, dans la wikipedia...

Merci pour ta réponse ! Certains points m'échappent (atomes de Gabor...) mais ça répond bien à ma question. On voit que ce n'est pas simple d'ailleurs. Ce serait intéressant de savoir quels sont les algos retenus dans les logiciels. Pour Audacity, vu que c'est open-source, ça doit se trouver.


Sinon, l'autre question ( :-D ) :
Citation :
Il n'y a plus qu'à espérer qu'ils ont implémenté un filtre à réponse impulsionnelle finie... mais vu les courbes qu'ils présentent je pense que ce n'est pas le cas.

Qu'est-ce qui te fait dire ça ?

[ Dernière édition du message le 16/08/2011 à 17:42:04 ]

108
Citation :
C'est plutôt le sinus cardinal qui représente ce que l'impulsion va produire si l'on passe du numérique à l'analogique en supposant que la chaîne de conversion est parfaite.


Oui la fonction sinc correspond à la réponse impulsionnelle d'un passe bas parfait dans le domaine fréquentiel (brick wall filter), passe bas nécessaire pour la conversion NA.
Ce passe bas idéal n'est jamais le cas dans la réalité.

[ Dernière édition du message le 16/08/2011 à 19:09:51 ]

109
Citation :
Merci pour ta réponse ! Certains points m'échappent (atomes de Gabor...) mais ça répond bien à ma question.

x
Hors sujet :
Temporellement, les atomes de Gabor sont des sinusoïdes modulées en amplitude par des Gaussiennes (ça a un peu la même tête qu'un sinus cardinal).


Pour une explication, il faut faire un petit retour sur la décomposition en série de Fourier :
- L'ensemble des fonctions T-périodiques forme un espace vectoriel de dimension infinie (c'est un espace de Hilbert en fait)
- Les fonctions { sin(2π*n*t/T) ; cos(2π*n*t/T) | n dans [ 0 ; +oo] } forment une base de cette espace vectoriel.
- Pour deux fonctions f(x) et g(x), l'intégrale 1/T*∫f(x).g(x).dx pour x allant de -T/2 à T/2 définit un produit scalaire sur cette espace. D'ailleurs tu peux noter cette intégrale < f,g > = 1/T*∫f(x).g(x).dx comme on note usuellement un produit scalaire en algèbre linéaire.
- Le calcul des coefficients de la série de Fourier d'une fonction u(t) est "tout simplement" la projection de la fonction u sur les vecteurs de la bases : c_n = < u(t),cos(2π*n*t/T) >. En d'autres termes, les coefficients { c_n ; s_n } sont les coordonnées de la fonction u(t) dans la bases des cosinus et sinus.


Dès que tu estimes un spectre tu supposes quand-même, au passage, que la fonction u(t) est périodique... et donc à support temporel infini.
Ça ne marche pas vraiment dès que le son étudié est percussif ou si le signal est "fenêtré" comme avec un découpage en trames (tu es trop loin de l'approximation "support temporel infini" ).


L'effet de la "réduction" du support temporel a été étudié par un certain Gabor, en autres. En réalité c'est aussi un problème similaire au "principe d'incertitude" (qui est bien un théorème) d'Heisenberg en mécanique quantique.
En gros, pour faire simple, quand tu es très localisé dans le temps tu ne peux pas être précis en fréquence (et vice versa). Tu te retrouves avec une limite théorique formulée de cette façon :
σt * σf ≥ 1/2π

Ce qui implique que : σf ≥ 1/(2π*σt)

Dans la pratique tu l'observes quand tu calcules des spectres sur des fenêtres de temps très courtes : tu perds en résolution fréquentielle et deux pics de fréquences proches n'en formeront qu'un seul.
Tu auras beau jouer sur la forme de la fenêtre de ta trame (pour limiter l'effet de la convolution par un "sinus cardinal" en fréquence liée à l'application d'une "porte" en temporel ; je parle de la fenêtre de Blackman, Harris, ou autres) tu n'arriveras de toute façon jamais à séparer 2 pics proches de σf à cause du théorème d'incertitude.

Ça va même encore plus loin : même si tu n'as qu'un seul pic, il y a un probabilité non négligeable qu'il soit mal positionné sur les fréquences car il peut être écarté de sa valeur réelle suivant une distribution (statistique) d'écart-type σf.


Il se trouve qu'en plus la transformée de Fourier (i.e. la décomposition dans une base de sinusoïdes) ne permet pas d'atteindre la limite théorique.
En clair, tu n'as pas σt*σf = 1/2π mais σt*σf > 1/2π. Et si tu n'as pas de chance, tu peux même te retrouver avec un σf >> 1/(2π*σt).

Gabor a alors proposé une nouvelle base de décomposition, les atomes de Gabor, qui permet d'atteindre cette limite théorique (on parle aussi de base à compacité maximale) et qui est mieux adaptées aux signaux dont le support temporel est réduit.
C'est ce qui en fait une base de choix pour la modélisation d'un son percussif ou d'un transitoire. Il est même prouvé mathématiquement que l'on ne fera jamais mieux.



Citation :
Qu'est-ce qui te fait dire ça ?

Alors là, franchement, c'est plus un jugement à l'emporte pièce. :-p

Pour faire un filtre passe-bas à réponse impulsionnelle finie il n'y a pas 36 méthodes (à part des petits bricolages qui ne seront certainement pas probant ici) :
- Tu pars d'un sinus cardinal (en temporel), qui te donne une porte en fréquence (un filtre passe-bas donc),
- Puisque tu veux un FIR, tu tronques le support temporel du sinc. En fréquence ça revient à convoluer la porte de départ par un sinus cardinal ; la troncature génère des rebonds visibles lorsque l'on est proche de la fréquence de coupure du filtre. Ces rebonds sont répartis "symétriquement" (dans la bande passante et dans la bande atténuée), pour donner un filtre qui a cette forme :

http://img153.imageshack.us/img153/993/image245.gif

Bien sûr, plutôt que de faire une troncature brutale tu peux utiliser une fenêtre de Hanning (ou autres) pour lisser les rebonds, mais les quelques rebonds résiduels resterons "symétriques".


Maintenant, quand tu regardes les réponses impulsionnelles des filtres d'antialiasing présentées, il n'y a pas cette symétrie des rebonds : c'est ça qui me fait dire ce que ne sont pas des FIR. ;)

Ce que j'ai vu c'est une courbe bien lisse dans la bande passante, un descente assez rapide (sans résonance juste avant), et des rebonds dans la bande atténuée : ça ressemble vraiment à un filtre à réponse impulsionnelle infinie "Tchebyshev de type 2"
https://en.wikipedia.org/wiki/File:ChebyshevII5_GainDelay.png
(pour info, sur la figure de Wikipedia tu peux également observer le retard de phase en rouge de ce type de filtre).

Ces filtres introduiraient alors des retards de groupe, mais bon, ça se corrige avec des filtres "passe-tout" du type lattice filter.
https://en.wikipedia.org/wiki/Lattice_phase_equaliser
(en numérique, ça s'implémente comme ceci http://www.dspalgorithms.com/aspt/asptnode23.html )
Il "suffit" de présenter un filtre complémentaire (en phase) au filtre d'antialiasing dans la bande qui sera conservée.

[ Dernière édition du message le 16/08/2011 à 19:38:12 ]

110
x
Hors sujet :
> Gabor a alors proposé une nouvelle base de décomposition, les atomes de Gabor, qui permet d'atteindre cette limite théorique (on parle aussi de base à compacité maximale) et qui est mieux adaptées aux signaux dont le support temporel est réduit.
> C'est ce qui en fait une base de choix pour la modélisation d'un son percussif ou d'un transitoire. Il est même prouvé mathématiquement que l'on ne fera jamais mieux.

Balaise !




Citation :
les quelques rebonds résiduels resterons "symétriques".

Maintenant, quand tu regardes les réponses impulsionnelles des filtres d'antialiasing présentées, il n'y a pas cette symétrie des rebonds : c'est ça qui me fait dire ce que ne sont pas des FIR.

Donc : conservation d'un niveau crête homogène, ou FIR, il faut choisir !