Page 2 sur 2

Posté : jeu. 10 avr., 2008 23:25
par leon1789
J'ai repris le code DownMix de Dirk-Pitt en
-1- renommant les variables (plus lisibles je trouve)
-2- réajustant les constantes de mixage (sorties aussi de AC3Filter, année 2007)
-3- corrigeant une baisse indésirée de 50% du volume final (sur les deux derniers MixAudio).

Code : Tout sélectionner

function DownMix( clip V )
{
  Assert( V.AudioChannels == 6, "This clip must have 6 audio WAV channels" )
  L = GetChannel( V, 1 )
  R = GetChannel( V, 2 )
  C = GetChannel( V, 3 )
  LFE = GetChannel( V, 4 )
  SL = GetChannel( V, 5 )
  SR = GetChannel( V, 6 )

  CLFE = MixAudio( C, LFE, 0.2071, 0.2071 )
  L = MixAudio( MixAudio( L, SL, 0.2929, 0.2929 ), CLFE, 1, 1 )
  R = MixAudio( MixAudio( R, SR, 0.2929, 0.2929 ), CLFE, 1, 1 )

  A = MergeChannels( L, R )
  Return( V.HasVideo ? AudioDub( V, A ) : A )
}

Posté : jeu. 10 avr., 2008 23:33
par Puppet
J'comprend vraiment rien moi !

Posté : jeu. 10 avr., 2008 23:36
par leon1789
Tu ne comprends pas quoi ? :D

Moi, je ne comprends pas pourquoi les constantes de mixage de AC3Filter ont changées avec leur dernière version... étrange, non ?

Posté : jeu. 10 avr., 2008 23:37
par pepsilite
bon, si tout le monde est ok, je l'intègre ...

Posté : jeu. 10 avr., 2008 23:39
par pepsilite
leon1789 a écrit :Tu ne comprends pas quoi ? :D

Moi, je ne comprends pas pourquoi les constantes de mixage de AC3Filter ont changées avec leur dernière version... étrange, non ?
AC3filter, hem, il est tellement bien que j'utilise ffdshow pour décoder le AC3 moi :hop:
Ils ont du se rendre compte qu'il n'était pas au point (ce en quoi je suis à 1000% d'accord :hop:)

Posté : ven. 11 avr., 2008 9:29
par leon1789
pepsilite a écrit :Ils ont du se rendre compte qu'il n'était pas au point (ce en quoi je suis à 1000% d'accord :hop:)
oui peut-être :o:

Posté : sam. 12 avr., 2008 1:37
par leon1789
En comparant les matrices de AC3Filter et de Azid, j'ai aussi l'impression que AC3Filter n'est pas forcément la référence car lors d'une conversion 5.1 --> 4.0 (par exemple),
-- AC3Filter diffuse le canal LFE sur les quatres canaux de sortie L,R,SL,SR ;
-- Azid diffuse le canal LFE sur les deux canaux de sortie L,R.
Or, il est inutile (et peut-être même dangereux...) de diriger les basses sur les enceintes surround !
Donc, ben, AC3Filter, c'est pas top top...

Posté : sam. 12 avr., 2008 2:48
par pepsilite
CQFD...

Posté : mar. 15 avr., 2008 18:30
par leon1789
leon1789 a écrit :J'ai repris le code DownMix de Dirk-Pitt (...)

Code : Tout sélectionner


  CLFE = MixAudio( C, LFE, 0.2071, 0.2071 )
  L = MixAudio( MixAudio( L, SL, 0.2929, 0.2929 ), CLFE, 1, 1 )
  R = MixAudio( MixAudio( R, SR, 0.2929, 0.2929 ), CLFE, 1, 1 )

  A = MergeChannels( L, R )
  Return( V.HasVideo ? AudioDub( V, A ) : A )
}
J'ai refait les calculs de "pression efficace" et je suis retombé pile sur ces coefficients !
L' = 0.2929*L + 0.2071*C + 0.2929*SL + 0.2071*LFE
R' = 0.2929*R + 0.2071*C + 0.2929*SR + 0.2071*LFE

C'est ok.

Posté : mer. 16 avr., 2008 18:52
par Underground78
Qui sont ceux de AC3Filter ? donc ils ne sont pas si illogiques que ça ...

Posté : mer. 16 avr., 2008 20:52
par leon1789
Pour faire un downMix 5.1 --> 2.0, les coefficients utilisés dans le script de Dirk-Pitt étaient utilisés par AC3Filter. Mais en 2007, ceux de AC3Filter ont changé... Personnellement, je les trouve mieux maintenant qu'avant. C'est même la première matrice ici http://img387.imageshack.us/my.php?image=51av6.jpg
Là je parle des coefficients spécifiques aux downMix 5.1 --> 2.0

En revanche, les coefficients de AC3Filter concernant le downMix 5.1 --> 4.0 sont mauvais car ils envoient (en partie) le canal LFE (ou SW, ie. pour le caisson de basses) dans les enceintes surround. Alors d'une part c'est inutile (les enceintes surround ne sont pas faites pour ça, donc elles ne donneront rien), mais en plus c'est dangereux pour les enceintes (les enceintes surround ne sont pas faites pour ça, donc elles vont souffrir physiquement).
Par exemple, les coefficients de downMix 5.1 --> 4.0 d'azid ne font pas cette erreur... et les miens non plus ;) (voir l'avant-dernière matrice ici http://img387.imageshack.us/my.php?image=51av6.jpg) : le canal LFE est distribué sur les enceintes principales gauche/droite.

Posté : mer. 16 avr., 2008 21:24
par Underground78
Oki !