Scripts Audio

Modérateur : Modérateurs

Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Scripts Audio

Message par Dirk-Pitt »

Code : Tout sélectionner

function MonoToStereo( clip C )
{
  Assert( C.AudioChannels == 1, "This clip must have 1 audio channel" )
  A1=GetChannel( C, 1 )
  A=MergeChannels( A1, A1 )
  Return( C.HasVideo ? AudioDub( C, A ) : A )
}
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Message par Dirk-Pitt »

Code : Tout sélectionner

function UpMix( clip C, bool "Reverb" )
{
  Reverb=Default( Reverb, false )
  Assert( C.AudioChannels == 2, "This clip must have 2 audio channels" )
  P=GetLibPath( )
  A1=GetChannel( C, 1 )
  A2=GetChannel( C, 2 )
  A3=MixAudio( SuperEq( A1, P+"CENTER.FEQ" ), SuperEq( A2, P+"CENTER.FEQ" ) )
  A4=MixAudio( SuperEq( A1, P+"LFE.FEQ" ), SuperEq( A2, P+"LFE.FEQ" ) )
  A5=SuperEq( A1, P+"SURROUND.FEQ" )
  A6=SuperEq( A2, P+"SURROUND.FEQ" )
  A1=Reverb ? A1.SoxFilter( "reverb 1.0 600.0 150.0" ) : A1
  A2=Reverb ? A2.SoxFilter( "reverb 1.0 600.0 150.0" ) : A2
  A3=Reverb ? A3.SoxFilter( "reverb 1.0 600.0 280.0" ) : A3
  A5=Reverb ? A5.SoxFilter( "reverb 1.0 600.0 120.0" ) : A5
  A5=Reverb ? A6.SoxFilter( "reverb 1.0 600.0 120.0" ) : A6
  # === WAV, AAC Order === L R C LFE SL SR =============================
  A=MergeChannels( A1, A2, A3, A4, A5, A6 )
  # === AC3, OGG Order === L C R SL SR LFE =============================
  # A=MergeChannels( A1, A3, A2, A5, A6, A4 )
  Return( C.HasVideo ? AudioDub( C, A ) : A )
}
Remplacer P=GetLibPath( ) par la valeur appropriée.
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Message par Dirk-Pitt »

CENTER.FEQ

Code : Tout sélectionner

-20
-20
-20
-20
-20
-20
-10
-10
-10
-10
-10
-10
-10
-10
-10
-10
-10
-10
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Message par Dirk-Pitt »

SURROUND.FEQ

Code : Tout sélectionner

-3
-3
-3
-3
-3
-3
-3
-3
-3
-3
-3
-3
-3
-3
-3
-3
-3
-3
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Message par Dirk-Pitt »

LFE.FEQ

Code : Tout sélectionner

-3
-3
-3
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Message par Dirk-Pitt »

Code : Tout sélectionner

function DownMix( clip C )
{
  Assert( C.AudioChannels == 6, "This clip must have 6 audio channels" )
  A1=GetChannel( C, 1 )
  A2=GetChannel( C, 2 )
  A3=GetChannel( C, 3 )
  A4=GetChannel( C, 4 )
  A5=GetChannel( C, 5 )
  A6=GetChannel( C, 6 )
  A1=MixAudio( MixAudio( A1, A5, 0.2698, 0.2698 ), MixAudio( A3, A4, 0.1907, 0.2698 ) )
  A2=MixAudio( MixAudio( A2, A6, 0.2698, 0.2698 ), MixAudio( A3, A4, 0.1907, 0.2698 ) )
  A=MergeChannels( A1, A2 )
  Return( C.HasVideo ? AudioDub( C, A ) : A )
}
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Message par Dirk-Pitt »

Code : Tout sélectionner

function AddVideo( clip C )
{
  Assert( C.HasAudio, "This clip must have audio track" )
  L=AudioLength( C )
  R=AudioRate( C )
  V=BlankClip( Length=( L / R ) * 25, Fps=25, Color=$000000 )
  Return( C.HasVideo ? C : AudioDub( V, C ) )
}
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
pepsilite
The Grinch
The Grinch
Messages : 23287
Enregistré le : sam. 03 févr., 2007 19:13
Localisation : Chez moi le plus possible ...

Message par pepsilite »

gné? :mdr
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
Avatar du membre
cdoris
Administrateur
Administrateur
Messages : 5674
Enregistré le : lun. 05 févr., 2007 10:28
Localisation : Toulouse

Message par cdoris »

Je sens que cela va faire... du bruit ! :band
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Message par Dirk-Pitt »

Il n'y a pas de raison que ces scripts soient ailleurs et pas ici. :bzz
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Re: Scripts Audio

Message par leon1789 »

Dirk-Pitt a écrit :

Code : Tout sélectionner

function MonoToStereo( clip C )
ok :)
Dirk-Pitt a écrit :

Code : Tout sélectionner

function UpMix( clip C, bool "Reverb" )}
Remplacer P=GetLibPath( ) par la valeur appropriée.
Heu... c'est-à-dire ?

C'est aussi une de tes fonctions SuperEq ? Et SoxFilter ?
Dirk-Pitt a écrit :

Code : Tout sélectionner

function DownMix( clip C )
Les 0.2698, 0.2698 0.1907, 0.2698 , etc... sont là pour éviter la saturation ?
Dirk-Pitt a écrit :

Code : Tout sélectionner

function AddVideo( clip C )
ok
Dirk-Pitt a écrit :Il n'y a pas de raison que ces scripts soient ailleurs et pas ici. :bzz
exact ! :)
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Re: Scripts Audio

Message par Dirk-Pitt »

leon1789 a écrit :
Dirk-Pitt a écrit :

Code : Tout sélectionner

function UpMix( clip C, bool "Reverb" )}
Remplacer P=GetLibPath( ) par la valeur appropriée.
Heu... c'est-à-dire ?
En général c'est P="C:\Program Files\AviSynth 2.5\plugins" ... c'est là que l'on doit mettre les fichiers .FEQ, mais ce n'est pas obligatoire.
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
pepsilite
The Grinch
The Grinch
Messages : 23287
Enregistré le : sam. 03 févr., 2007 19:13
Localisation : Chez moi le plus possible ...

Message par pepsilite »

Dirk-Pitt a écrit :Il n'y a pas de raison que ces scripts soient ailleurs et pas ici. :bzz
étant donné leur (c), ils n'ont même RIEN A FOUTRE ailleurs qu'ici ...........
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Re: Scripts Audio

Message par Dirk-Pitt »

leon1789 a écrit :C'est aussi une de tes fonctions SuperEq ? Et SoxFilter ?
Non pour Sox infos ici http://forum.doom9.org/showthread.php?t=104792 et SuperEq ici http://avisynth.org/SuperEQ

SuperEq fait partie d'AVISynth.
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Message par Dirk-Pitt »

pepsilite a écrit :
Dirk-Pitt a écrit :Il n'y a pas de raison que ces scripts soient ailleurs et pas ici. :bzz
étant donné leur (c), ils n'ont même RIEN A FOUTRE ailleurs qu'ici ...........
Certes, mais il va être difficile de les enlever. :oups:
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Re: Scripts Audio

Message par Dirk-Pitt »

leon1789 a écrit :Les 0.2698, 0.2698 0.1907, 0.2698 , etc... sont là pour éviter la saturation ?
J'ai pris les valeurs de la matrice d'UpMix d'AC3Filter.
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
pepsilite
The Grinch
The Grinch
Messages : 23287
Enregistré le : sam. 03 févr., 2007 19:13
Localisation : Chez moi le plus possible ...

Message par pepsilite »

ben ouais, tout ce qui est resté là-bas leur appartient, c'est bien connu, mais c'est pas du vol .... :hop:
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Re: Scripts Audio

Message par leon1789 »

Dirk-Pitt a écrit :
leon1789 a écrit :Les 0.2698, 0.2698 0.1907, 0.2698 , etc... sont là pour éviter la saturation ?
J'ai pris les valeurs de la matrice d'UpMix d'AC3Filter.
Oui, c'est ce que je viens de vérifier aussi :mrgreen:
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Re: Scripts Audio

Message par leon1789 »

Dirk-Pitt a écrit :En général c'est P="C:\Program Files\AviSynth 2.5\plugins" ... c'est là que l'on doit mettre les fichiers .FEQ, mais ce n'est pas obligatoire.
ah ok
Dirk-Pitt a écrit :
leon1789 a écrit :C'est aussi une de tes fonctions SuperEq ? Et SoxFilter ?
Non pour Sox infos ici http://forum.doom9.org/showthread.php?t=104792 et SuperEq ici http://avisynth.org/SuperEQ

SuperEq fait partie d'AVISynth.
ok, merci :)
Avatar du membre
Underground78
Administrateur
Administrateur
Messages : 11272
Enregistré le : mar. 06 févr., 2007 21:54
Localisation : France
Contact :

Message par Underground78 »

Cool, je lisais l'autre post sur le test du son et je me disais justement que ça serait cool de retrouver tes scripts de conversion ! :D
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Message par Dirk-Pitt »

Ben vala ... :o:
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

Dirk-Pitt a écrit :

Code : Tout sélectionner

function UpMix( clip C, bool "Reverb" )}
Bonjour

Je pense qu'il y a plusieurs manières d'envisager un upmix 2.0 -> 5.1.

Notons G et D les pistes audios Gauche et Droite de l'audio 2.0 d'origine.
Notons C, L, R, SL, SR, SW les pistes audios Centre, Left, Right, Surround Left, Surround Right, SubWoofer de l'audio 5.1 de sortie.

On peut "upmixer" 2.0 -> 5.1 via pleins de stratégies différentes :
la plus simple : C = rien , L = G, R = D, SL = rien, SR = rien, SW = rien
une stéréo élargie : C = rien , L = G, R = D, SL = G, SR = L, SW = rien
..avec C et W : C = G+D , L = G , R = D, SL = G, SR = L, SW = G+D
...avec "effet" : C = G+D , L = G , R = D, SL = G-L, SR = L-G, SW = G+D
etc etc.

Pourquoi pas un script qui laisse la possibilité à l'utilisateur de prendre en charge la répartition des canaux ? :)
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

sur http://avisynth.org.ru/docs/english/cor ... hannel.htm, l'ordre des canaux est spécifié ainsi

Code : Tout sélectionner

reference:  	channel 1: 	channel 2: 	channel 3: 	channel 4: 	channel 5: 	channel 6:
5.1 WAV 	front left channel 	front right channel 	front center channel 	LFE 	rear left channel 	rear right channel
5.1 AC3 	front left channel 	front center channel 	front right channel 	rear left channel 	rear right channel 	LFE
5.1 DTS 	front center channel 	front left channel 	front right channel 	rear left channel 	rear right channel 	LFE
5.1 AAC 	front center channel 	front left channel 	front right channel 	rear left channel 	rear right channel 	LFE
5.1 AIFF 	front left channel 	rear left channel 	front center channel 	front right channel 	rear right channel 	LFE
Pour AAC, ça ne correspond pas à ce que Dirk-Pitt propose dans UpMix :beuh: Où est l'erreur ?
Avatar du membre
pepsilite
The Grinch
The Grinch
Messages : 23287
Enregistré le : sam. 03 févr., 2007 19:13
Localisation : Chez moi le plus possible ...

Message par pepsilite »

pour le aac l'ordre est 3, 1, 2, 5, 6, 4 et pour l'OGG 1, 3, 2, 5, 6, 4
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 14:09
Contact :

Message par leon1789 »

Merci de confirmer :)
ok, donc Dirk-Pitt devrait changer son script.
Répondre