Enth
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: Ни кто, в этой строке, сам с собой ни чем не занимается, а происходит перенос в новый клип. | Ну, что бы получить стерео центр + LFE. Цитата: Или как, по вашему правильно микшировать LFE в стерео? Сначала фронт + центр, потом к ним саб? Или как в вашем примере - сначала центр + LFE и потом к ним фронт? Вы сами понимаете хоть чего пишите? Я нет. | Это тот случай, когда перемена слагаемых дает разный результат. И дело в том, что вы не просто цифры складываете, а звуковой сигнал. По этому каждый из этих вариантов микширования, на первый взгляд одинаковых, дадут разный результат. (flr+fcc)+lfe не равно (flr+lfe)+fcc и соответственно не равно (fcc+lfe)+flr В каждом из этих варинтов будет получен разный звук. Вот об этом я писал. Скобки, естественно, для того, что бы подчеркнуть, что с чем микшируется в первую очередь в конкретном примере. Готовые матрицы микширования для AviSynth: Код: function Dmix3Stereo(clip a) { # 3 Channels L,R,C or L,R,S flr = GetChannel(a, 1, 2) fcc = GetChannel(a, 3, 3) return MixAudio(flr, fcc, 0.5858, 0.4142) } function Dmix3Dpl(clip a) { # 3 Channels only L,R,S flr = GetChannel(a, 1, 2) sl = GetChannel(a, 3) sr = Amplify(sl, -1.0) blr = MergeChannels(sl, sr) return MixAudio(flr, blr, 0.5858, 0.4142) } function Dmix4lStereo(clip a) { # 4 Channels L,R,C + LFE flr = GetChannel(a, 1, 2) fcc = GetChannel(a, 3, 3) lfe = GetChannel(a, 4, 4) clf = MixAudio(fcc, lfe, 0.2929, 0.2929) return MixAudio(flr, clf, 0.4142, 1.0) } function Dmix4qStereo(clip a) { #4 Channels Quadro L,R,SL,SR flr = GetChannel(a, 1, 2) blr = GetChannel(a, 3, 4) return MixAudio(flr, blr, 0.5, 0.5) } function Dmix4qDpl(clip a) { # 4 Channels Quadro L,R,SL,SR flr = GetChannel(a, 1, 2) bl = GetChannel(a, 3) br = GetChannel(a, 4) sl = MixAudio(bl, br, 0.2929, 0.2929) sr = MixAudio(bl, br, -0.2929, -0.2929) blr = MergeChannels(sl, sr) return MixAudio(flr, blr, 0.4142, 1.0) } function Dmix4qDpl2(clip a) { # 4 Channels Quadro L,R,SL,SR flr = GetChannel(a, 1, 2) bl = GetChannel(a, 3) br = GetChannel(a, 4) sl = MixAudio(bl, br, 0.3714, 0.2144) sr = MixAudio(bl, br, -0.2144, -0.3714) blr = MergeChannels(sl, sr) return MixAudio(flr, blr, 0.4142, 1.0) } function Dmix4sStereo(clip a) {# 4 Channels L,R,C,S flr = GetChannel(a, 1, 2) fcc = GetChannel(a, 3, 3) lrc = MixAudio(flr, fcc, 0.4142, 0.2929) blr = GetChannel(a, 4, 4) return MixAudio(lrc, blr, 1.0, 0.2929) } function Dmix4sDpl(clip a) { # 4 Channels L,R,C,S flr = GetChannel(a, 1, 2) fcc = GetChannel(a, 3, 3) lrc = MixAudio(flr, fcc, 0.4142, 0.2929) sl = GetChannel(a, 4) sr = Amplify(sl, -1.0) blr = MergeChannels(sl, sr) return MixAudio(lrc, blr, 1.0, 0.2929) } function Dmix5Stereo(clip a) { # 5 Channels L,R,C,SL,SR -> Stereo flr = GetChannel(a, 1, 2) fcc = GetChannel(a, 3, 3) lrc = MixAudio(flr, fcc, 0.3694, 0.2612) blr = GetChannel(a, 4, 5) return MixAudio(lrc, blr, 1.0, 0.3694) } function Dmix5Dpl(clip a) { # 5 Channels L,R,C,SL,SR -> dpl flr = GetChannel(a, 1, 2) fcc = GetChannel(a, 3, 3) lrc = MixAudio(flr, fcc, 0.3205, 0.2265) bl = GetChannel(a, 4) br = GetChannel(a, 5) sl = MixAudio(bl, br, 0.2265, 0.2265) sr = MixAudio(bl, br, -0.2265, -0.2265) blr = MergeChannels(sl, sr) return MixAudio(lrc, blr, 1.0, 1.0) } function Dmix5Dpl2(clip a) { # 5 Channels L,R,C,SL,SR -> dpl II flr = GetChannel(a, 1, 2) fcc = GetChannel(a, 3, 3) lrc = MixAudio(flr, fcc, 0.3254, 0.2301) bl = GetChannel(a, 4) br = GetChannel(a, 5) sl = MixAudio(bl, br, 0.2818, 0.1627) sr = MixAudio(bl, br, -0.1627, -0.2818) blr = MergeChannels(sl, sr) return MixAudio(lrc, blr, 1.0, 1.0) } function Dmix6Stereo(clip a) { flr = GetChannel(a, 1, 2) fcc = GetChannel(a, 3, 3) lrc = MixAudio(flr, fcc, 0.3694, 0.2612) blr = GetChannel(a, 5, 6) return MixAudio(lrc, blr, 1.0, 0.3694) } function Dmix6Dpl(clip a) { flr = GetChannel(a, 1, 2) fcc = GetChannel(a, 3, 3) lrc = MixAudio(flr, fcc, 0.3205, 0.2265) bl = GetChannel(a, 5) br = GetChannel(a, 6) sl = MixAudio(bl, br, 0.2265, 0.2265) sr = MixAudio(bl, br, -0.2265, -0.2265) blr = MergeChannels(sl, sr) return MixAudio(lrc, blr, 1.0, 1.0) } function Dmix6Dpl2(clip a) { flr = GetChannel(a, 1, 2) fcc = GetChannel(a, 3, 3) lrc = MixAudio(flr, fcc, 0.3254, 0.2301) bl = GetChannel(a, 5) br = GetChannel(a, 6) sl = MixAudio(bl, br, 0.2818, 0.1627) sr = MixAudio(bl, br, -0.1627, -0.2818) blr = MergeChannels(sl, sr) return MixAudio(lrc, blr, 1.0, 1.0) } function Dmix6StereoLfe(clip a) { flr = GetChannel(a, 1, 2) fcc = GetChannel(a, 3) lfe = GetChannel(a, 4) lfc = MixAudio(fcc, lfe, 0.2071, 0.2071) mix = MergeChannels(lfc, lfc) lrc = MixAudio(flr, mix, 0.2929, 1.0) blr = GetChannel(a, 5, 6) return MixAudio(lrc, blr, 1.0, 0.2929) } function Dmix6StereoLfe2(clip a) { flr = GetChannel(a, 1, 2) fcc = GetChannel(a, 3, 3) lrc = MixAudio(flr, fcc, 0.2929, 0.2071) lfe = GetChannel(a, 4, 4) lrc = MixAudio(lrc, lfe, 1.0, 0.2071) blr = GetChannel(a, 5, 6) return MixAudio(lrc, blr, 1.0, 0.2929) } function Dmix6DplLfe(clip a) { flr = GetChannel(a, 1, 2) fcc = GetChannel(a, 3, 3) lrc = MixAudio(flr, fcc, 0.2613, 0.1847) lfe = GetChannel(a, 4, 4) lrc = MixAudio(lrc, lfe, 1.0, 0.1847) bl = GetChannel(a, 5) br = GetChannel(a, 6) sl = MixAudio(bl, br, 0.1847, 0.1847) sr = MixAudio(bl, br, -0.1847, -0.1847) blr = MergeChannels(sl, sr) return MixAudio(lrc, blr, 1.0, 1.0) } function Dmix6Dpl2Lfe(clip a) { flr = GetChannel(a, 1, 2) fcc = GetChannel(a, 3, 3) lrc = MixAudio(flr, fcc, 0.2646, 0.1870) lfe = GetChannel(a, 4, 4) lrc = MixAudio(lrc, lfe, 1.0, 0.1870) bl = GetChannel(a, 5) br = GetChannel(a, 6) sl = MixAudio(bl, br, 0.2291, 0.1323) sr = MixAudio(bl, br, -0.1323, -0.2291) blr = MergeChannels(sl, sr) return MixAudio(lrc, blr, 1.0, 1.0) } | Compands для SOX, написанные по мотивам Dolby Digital: Код: # film light fast SoxFilter("compand 0.01,1.00 -90,-90,-70,-64,-53,-47,-41,-41,-21,-21,-10,-16,0,-15 0 0 0.054") # film light slow SoxFilter("compand 0.10,3.00 -90,-90,-70,-64,-53,-47,-41,-41,-21,-21,-10,-16,0,-15 0 0 0.054") # music light fast SoxFilter("compand 0.01,1.00 -90,-90,-70,-58,-65,-53,-41,-41,-21,-21,0,-11 0 0 0.054") # music light slow SoxFilter("compand 0.10,3.00 -90,-90,-70,-58,-65,-53,-41,-41,-21,-21,0,-11 0 0 0.054") #film standard fast SoxFilter("compand 0.01,1.00 -90,-90,-70,-64,-43,-37,-31,-31,-21,-21,0,-20 0 0 0.054") #film standard slow SoxFilter("compand 0.10,3.00 -90,-90,-70,-64,-43,-37,-31,-31,-21,-21,0,-20 0 0 0.054") # music standard fast SoxFilter("compand 0.01,1.00 -90,-90,-70,-58,-55,-43,-31,-31,-16,-21,0,-20 0 0 0.054") # music standard slow SoxFilter("compand 0.10,10.0 -90,-90,-70,-58,-55,-43,-31,-31,-16,-21,0,-20 0 0 0.054") # speech fast SoxFilter("compand 0.01,0.20 -90,-90,-70,-55,-50,-35,-31,-31,-16,-21,0,-20 0 0 0.054") # speech slow SoxFilter("compand 0.10,1.00 -90,-90,-70,-55,-50,-35,-31,-31,-16,-21,0,-20 0 0 0.054") | Пример готового скрипта .avs: Код: file = "Путь_до\test.mkv" LoadPlugin("Путь_до\Avisynth\plugins64\LSMASHSource.dll") video = LWLibavVideoSource(file) audio = LWLibavAudioSource(file, stream_index=-1, av_sync=true) AudioDub(video, audio) LoadPlugin("Путь_до\Avisynth\plugins64\SoxFilter.dll") # music light fast SoxFilter("compand 0.01,1.00 -90,-90,-70,-58,-65,-53,-41,-41,-21,-21,0,-11 0 0 0.054") Dmix6StereoLfe2 function Dmix6StereoLfe2(clip a) { flr = GetChannel(a, 1, 2) fcc = GetChannel(a, 3, 3) lrc = MixAudio(flr, fcc, 0.2929, 0.2071) lfe = GetChannel(a, 4, 4) lrc = MixAudio(lrc, lfe, 1.0, 0.2071) blr = GetChannel(a, 5, 6) return MixAudio(lrc, blr, 1.0, 0.2929) } | |