Page 1 sur 2
Scripts Audio
Posté : mer. 31 oct., 2007 17:11
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 )
}
Posté : mer. 31 oct., 2007 17:15
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.
Posté : mer. 31 oct., 2007 17:16
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
Posté : mer. 31 oct., 2007 17:16
par Dirk-Pitt
Posté : mer. 31 oct., 2007 17:17
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
Posté : mer. 31 oct., 2007 17:18
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 )
}
Posté : mer. 31 oct., 2007 17:19
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 ) )
}
Posté : mer. 31 oct., 2007 17:20
par pepsilite
gné?
Posté : mer. 31 oct., 2007 17:22
par cdoris
Je sens que cela va faire... du bruit !
Posté : mer. 31 oct., 2007 17:23
par Dirk-Pitt
Il n'y a pas de raison que ces scripts soient ailleurs et pas ici.
Re: Scripts Audio
Posté : mer. 31 oct., 2007 18:32
par leon1789
ok
Dirk-Pitt a écrit :
Remplacer P=GetLibPath( ) par la valeur appropriée.
Heu... c'est-à-dire ?
C'est aussi une de tes fonctions SuperEq ? Et SoxFilter ?
Les 0.2698, 0.2698 0.1907, 0.2698 , etc... sont là pour éviter la saturation ?
ok
Dirk-Pitt a écrit :Il n'y a pas de raison que ces scripts soient ailleurs et pas ici.
exact !
Re: Scripts Audio
Posté : mer. 31 oct., 2007 18:41
par Dirk-Pitt
leon1789 a écrit :Dirk-Pitt a écrit :
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.
Posté : mer. 31 oct., 2007 18:45
par pepsilite
Dirk-Pitt a écrit :Il n'y a pas de raison que ces scripts soient ailleurs et pas ici.
étant donné leur (c), ils n'ont même RIEN A FOUTRE ailleurs qu'ici ...........
Re: Scripts Audio
Posté : mer. 31 oct., 2007 18:47
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.
Posté : mer. 31 oct., 2007 18:49
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.
étant donné leur (c), ils n'ont même RIEN A FOUTRE ailleurs qu'ici ...........
Certes, mais il va être difficile de les enlever.
Re: Scripts Audio
Posté : mer. 31 oct., 2007 18:50
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.
Posté : mer. 31 oct., 2007 18:52
par pepsilite
ben ouais, tout ce qui est resté là-bas leur appartient, c'est bien connu, mais c'est pas du vol ....
Re: Scripts Audio
Posté : mer. 31 oct., 2007 18:54
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
Re: Scripts Audio
Posté : mer. 31 oct., 2007 18:58
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
ok, merci
Posté : lun. 05 nov., 2007 8:21
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 !
Posté : lun. 05 nov., 2007 11:50
par Dirk-Pitt
Ben vala ...
Posté : mer. 09 avr., 2008 8:49
par leon1789
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 ?
Posté : mer. 09 avr., 2008 16:16
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
Où est l'erreur ?
Posté : mer. 09 avr., 2008 16:40
par pepsilite
pour le aac l'ordre est 3, 1, 2, 5, 6, 4 et pour l'OGG 1, 3, 2, 5, 6, 4
Posté : mer. 09 avr., 2008 17:23
par leon1789
Merci de confirmer
ok, donc Dirk-Pitt devrait changer son script.