Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
![]() |
|
Thread Tools | Search this Thread | Display Modes |
![]() |
#81 | Link | |
BeHappy/MeGUI developer
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
|
Quote:
__________________
BeHappy - AviSynth-based audio transcoding tool Audio encoding via AviSynth On2 VP7 is great in quality but it is unusable for long-term video backup puposes! Sincerely Yours, MCPD/MCTS |
|
![]() |
![]() |
![]() |
#82 | Link |
stupid
Join Date: Sep 2004
Location: Cologne
Posts: 638
|
I cant get work
- upmix (is it still not supportet) (invalid arguments to function "SuperEq" - normalize (nothing happens) Do I need some special software packages?
__________________
cu Joe ------------------------ freedom is just another word for nothing left to loose |
![]() |
![]() |
![]() |
#83 | Link |
Moderator
![]() Join Date: Feb 2005
Location: Spain
Posts: 6,778
|
- Upmix is in experimental stage by NorthPole, and need Sox Audio Effect Filter ( http://forum.doom9.org/showthread.php?t=104792 ), see the post:
http://forum.doom9.org/showpost.php?...8&postcount=66 - Normalize works fine (amplify the signal until the required level). |
![]() |
![]() |
![]() |
#84 | Link | ||
stupid
Join Date: Sep 2004
Location: Cologne
Posts: 638
|
Quote:
![]() Quote:
I told the tool to normalize to 100 %. Is this not ok?
__________________
cu Joe ------------------------ freedom is just another word for nothing left to loose |
||
![]() |
![]() |
![]() |
#85 | Link | |
Moderator
![]() Join Date: Feb 2005
Location: Spain
Posts: 6,778
|
Quote:
But, is true, the Normalize() function don't work after the upmix because do a second pass (the first to know the max value) to amplify the sound. And some Sox filters doesn't support restarts (crash), like say the documentation. I have the same problem with the Dynamic Range Compession function and the compand Sox filter. |
|
![]() |
![]() |
![]() |
#86 | Link |
Registered User
Join Date: Jan 2006
Posts: 141
|
Well here is the latest revision on the upmix extension
Code:
<?xml version="1.0"?> <BeHappy.Extension xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://workspaces.gotdotnet.com/behappy"> <AudioDSP UniqueID="9579E57B-2D27-4583-99A4-921718E25B41"> <Plugin> <MultiOptionDSP Type="BeHappy.Extensions.MultiOptionDSP, BeHappy"> <TitleFormatString>5.1 Upmix - {0}</TitleFormatString> <ScriptPrologue> # Store clip in variable Stereo_{2} = convertaudiotofloat(last) </ScriptPrologue> <Option> <Name>Audio with mostly dialog (ie. Comedy, Drama)</Name> <Value> # Profile to use with audio sources that has mostly mono content. 20ms delay and -2db attenuation on surround front_{2} = stereo_{2}.soxfilter("filter 20-20000") back_{2} = stereo_{2}.soxfilter("filter 100-7000") fl_{2} = mixaudio(front_{2}.GetLeftChannel(),front_{2}.GetRightChannel(),0.794,-0.794) fr_{2} = mixaudio(front_{2}.GetRightChannel(),front_{2}.GetLeftChannel(),0.794,-0.794) cc_{2} = mixaudio(mixaudio(front_{2}.GetLeftChannel(),fl_{2},1,-1),mixaudio(front_{2}.GetRightChannel(),fr_{2},1,-1),0.224,0.224) lfe_{2} = ConvertToMono(stereo_{2}).SoxFilter("lowpass 120","vol -0.562") sl_{2} = mixaudio(back_{2}.GetLeftChannel(),back_{2}.GetRightChannel(),0.631,-0.631) sr_{2} = mixaudio(back_{2}.GetRightChannel(),back_{2}.GetLeftChannel(),0.631,-0.631) sl_{2} = DelayAudio(sl_{2},0.02) sr_{2} = DelayAudio(sr_{2},0.02) </Value> </Option> <Option> <Name>Audio with a mix of sounds (ie. Action, Adventure)</Name> <Value> # Profile to use with audio sources that more range of sound content. 20ms delay and -2db attenuation on surround front_{2} = stereo_{2}.soxfilter("filter 20-20000") back_{2} = stereo_{2}.soxfilter("filter 100-7000") fl_{2} = mixaudio(front_{2}.GetLeftChannel(),front_{2}.GetRightChannel(),0.668,-0.668) fr_{2} = mixaudio(front_{2}.GetRightChannel(),front_{2}.GetLeftChannel(),0.668,-0.668) cc_{2} = mixaudio(mixaudio(front_{2}.GetLeftChannel(),fl_{2},1,-1),mixaudio(front_{2}.GetRightChannel(),fr_{2},1,-1),0.398,0.398) lfe_{2} = ConvertToMono(stereo_{2}).SoxFilter("lowpass 120","vol -0.447") sl_{2} = mixaudio(back_{2}.GetLeftChannel(),back_{2}.GetRightChannel(),0.531,-0.531) sr_{2} = mixaudio(back_{2}.GetRightChannel(),back_{2}.GetLeftChannel(),0.531,-0.531) sl_{2} = DelayAudio(sl_{2},0.02) sr_{2} = DelayAudio(sr_{2},0.02) </Value> </Option> <ScriptEpilogue> # Return result MergeChannels( fl_{2}, fr_{2}, cc_{2}, lfe_{2}, sl_{2}, sr_{2}) ConvertAudioTo16Bit() </ScriptEpilogue> </MultiOptionDSP> </Plugin> </AudioDSP> </BeHappy.Extension> - removed the frequency adjustment option because the quality was not very good. - optimized sox filter usage to speed up execution. - created 2 different sound profiles to use on different types of audio. Notes on Usage: 1. You need to have the avisynth sox filter in the avisynth plugin subdirectory. See tebasuna51s' post above for the link. 2. Normalize you audio before upmix. 3. Choose a profile to upmix with from the 5.1 upmix config button. If after upmixing, you can't hear the center channel dialog because the L & R channels are drowning it out, then try the other profile. Also, you can add your own profile or change the above ones as needed. @dimzon Small feature request... When you add a file to convert, the name of the destination file is shown as the same as the input file (excluding the dot extension) which is good. But when you add a 2nd file to convert, the destination file name doesn't change (it remains the same as the first). Therefore, you have to type in the destination file name. Not a big deal if its a problem to change... I hope I explained that clearly enough? |
![]() |
![]() |
![]() |
#87 | Link |
Registered User
Join Date: Aug 2003
Posts: 43
|
does downmixing dts to DLP II wav really work in behappy? wanted to know cause i like to trancode DLP II wav to itunes's aac format.
could you also clarify between DPL II and DPL II(lfe)? which one is equivalent to "-azid( -s dplii -c normal -L -3db )"? Last edited by iceborne; 16th February 2006 at 05:51. |
![]() |
![]() |
![]() |
#88 | Link |
Moderator
![]() Join Date: Feb 2005
Location: Spain
Posts: 6,778
|
DPL II is equal to "-azid( -s dplii )" (copied matrix).
DPL II(lfe) equivalent to "-azid( -s dplii -L -3db )". The "-azid( -c normal )" switch is for Dynamic Range Compression not yet implemented in BeHappy (problem with compand Sox Filter and Normalice see: http://forum.doom9.org/showpost.php?...5&postcount=60 ). If you have ffdshow like default directshow filter to play dts files you can use DirectShow input instead NicDtsSource, and use ffdshow Audio Decoder Configuration to set: - Codecs -> Dtd - libdts, Dynamic range compression (Checked) - Mixer -> Dolby Prologic II, LFE (Unchecked) -Output -> Output sample - only checked 16 bit integer, Don't use WAVEFORMATEXTENSIBLE ...(Checked) This is equivalent to "-azid( -s dplii -c normal -L -3db )". After use the Normalice DSP function in BeHappy and select your desired encoder. I test this method with ac3 source, I hope works also with dts. Edit: I make a test with dts source: - Same volume output with NicDtsSource and with ffdshow (drc checked and drc unchecked) (?). - The output length with NicDtsSource is 2:06.688 (like input) and with ffdshow is cut at 1:50.851 (?) Last edited by tebasuna51; 16th February 2006 at 18:54. |
![]() |
![]() |
![]() |
#89 | Link | ||
Registered User
Join Date: Aug 2003
Posts: 43
|
from this thread
http://forum.doom9.org/showthread.php?s=&threadid=27936 Quote:
Quote:
|
||
![]() |
![]() |
![]() |
#90 | Link | ||
Moderator
![]() Join Date: Feb 2005
Location: Spain
Posts: 6,778
|
See also http://forum.doom9.org/showthread.php?t=57988 with the definitive matrix used in azid 1.9 and in DPL II in BeHappy.
Quote:
"There are other concerns when adding an LFE signal to the mix. If the LFE is simply redistributed within the other channels of the mix, they will usually be subject to some low-frequency bandpass filtering. This filtering causes phase shifts of the LFE signal. When they are acoustically added within a room, these phase shifts are fairly subtle and often go unnoticed. However, when they are electronically added together with the five main channels in the encoder, they may produce less than desirable results at certain frequencies. For this reason, it is recommended that the LFE signal not be used in a Dolby Pro Logic II downmix unless it contains unique information that is not repeated in any of the five main channels." Is your choice, possible artifacts/lose unique info (my choice is don't include LFE). Quote:
You must use DRC to decrease the original signal Dynamic Range if: 1) The source have a wide Dynamic Range (dialogs at -30 dB and explosions at 0 dB). 2) You have a bad/normal audio equipment without support for this wide range (noise with dialogs or explosions distorted) or you don't want disturb the neighbors. 3) You want reencode to a format without support for DRC in play time (mp3, aac, ...) The DRC is independent and must be do before any downmix. |
||
![]() |
![]() |
![]() |
#91 | Link |
stupid
Join Date: Sep 2004
Location: Cologne
Posts: 638
|
AC3 question
Hi,
upmix to 5.1 aac works great now for me. ![]() What not works is AC3. Do I need any special plugins? ffmpeg or something like this? Can someone give a small HowTo? Thanks ![]()
__________________
cu Joe ------------------------ freedom is just another word for nothing left to loose |
![]() |
![]() |
![]() |
#92 | Link | |
BeHappy/MeGUI developer
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
|
Quote:
Warning! Some ffmpeg versions has buggy stdin support - such versions doesn't work with BeHappy. This version works fine: Code:
ffmpeg version CVS, build 3211776, Copyright (c) 2000-2004 Fabrice Bellard configuration: --enable-theora --enable-mp3lame --enable-libogg --enable-vorbis --enable-faad --e nable-faac --enable-xvid --enable-x264 --enable-mingw32 --enable-a52 --enable-dts --enable-pp --enab le-gpl --enable-memalign-hack --enable-amr_nb --enable-amr_wb built on Sep 9 2005 04:00:51, gcc: 3.4.4 (mingw special)
__________________
BeHappy - AviSynth-based audio transcoding tool Audio encoding via AviSynth On2 VP7 is great in quality but it is unusable for long-term video backup puposes! Sincerely Yours, MCPD/MCTS |
|
![]() |
![]() |
![]() |
#93 | Link |
Registered User
Join Date: Jan 2006
Posts: 141
|
I found some additional information on upmix profiles from a couple of other threads
http://forum.doom9.org/showthread.ph...997#post442997 http://forum.doom9.org/showthread.ph...760#post558760 So I added them to the upmix extension: Code:
<?xml version="1.0"?> <BeHappy.Extension xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://workspaces.gotdotnet.com/behappy"> <AudioDSP UniqueID="9579E57B-2D27-4583-99A4-921718E25B41"> <Plugin> <MultiOptionDSP Type="BeHappy.Extensions.MultiOptionDSP, BeHappy"> <TitleFormatString>5.1 Upmix - {0}</TitleFormatString> <ScriptPrologue> # Store clip in variable Stereo_{2} = convertaudiotofloat(last) </ScriptPrologue> <Option> <Name>Audio with mostly dialog (ie. Comedy, Drama)</Name> <Value> # Profile to use with audio sources that have mostly mono content. 20ms delay and -3db attenuation on surround # Note: the center channel is very weak for this profile front_{2} = stereo_{2}.soxfilter("filter 20-20000") back_{2} = stereo_{2}.soxfilter("filter 100-7000") fl_{2} = mixaudio(front_{2}.GetLeftChannel(),front_{2}.GetRightChannel(),0.794,-0.794) fr_{2} = mixaudio(front_{2}.GetRightChannel(),front_{2}.GetLeftChannel(),0.794,-0.794) cc_{2} = mixaudio(mixaudio(front_{2}.GetLeftChannel(),fl_{2},1,-1),mixaudio(front_{2}.GetRightChannel(),fr_{2},1,-1),0.224,0.224) lfe_{2} = ConvertToMono(stereo_{2}).SoxFilter("lowpass 120","vol -0.596") sl_{2} = mixaudio(back_{2}.GetLeftChannel(),back_{2}.GetRightChannel(),0.562,-0.562) sr_{2} = mixaudio(back_{2}.GetRightChannel(),back_{2}.GetLeftChannel(),0.562,-0.562) sl_{2} = DelayAudio(sl_{2},0.02) sr_{2} = DelayAudio(sr_{2},0.02) </Value> </Option> <Option> <Name>Audio with a mix of sounds (ie. Action, Adventure)</Name> <Value> # Profile to use with audio sources that have a wider range of sound content. 20ms delay and -3db attenuation on surround # Note: General purpose profile front_{2} = stereo_{2}.soxfilter("filter 20-20000") back_{2} = stereo_{2}.soxfilter("filter 100-7000") fl_{2} = mixaudio(front_{2}.GetLeftChannel(),front_{2}.GetRightChannel(),0.668,-0.668) fr_{2} = mixaudio(front_{2}.GetRightChannel(),front_{2}.GetLeftChannel(),0.668,-0.668) cc_{2} = mixaudio(mixaudio(front_{2}.GetLeftChannel(),fl_{2},1,-1),mixaudio(front_{2}.GetRightChannel(),fr_{2},1,-1),0.398,0.398) lfe_{2} = ConvertToMono(stereo_{2}).SoxFilter("lowpass 120","vol -0.447") sl_{2} = mixaudio(back_{2}.GetLeftChannel(),back_{2}.GetRightChannel(),0.473,-0.473) sr_{2} = mixaudio(back_{2}.GetRightChannel(),back_{2}.GetLeftChannel(),0.473,-0.473) sl_{2} = DelayAudio(sl_{2},0.02) sr_{2} = DelayAudio(sr_{2},0.02) </Value> </Option> <Option> <Name>Gerzen Profile</Name> <Value> # Gerzen approach Profile modified with 20ms delay and some attenuation on surround front_{2} = stereo_{2}.soxfilter("filter 20-20000") back_{2} = stereo_{2}.soxfilter("filter 100-7000") fl_{2} = mixaudio(front_{2}.GetLeftChannel(),front_{2}.GetRightChannel(),0.885,-0.115) fr_{2} = mixaudio(front_{2}.GetRightChannel(),front_{2}.GetLeftChannel(),0.885,-0.115) cc_{2} = mixaudio(front_{2}.GetRightChannel(),front_{2}.GetLeftChannel,0.4511,0.4511) lfe_{2} = ConvertToMono(stereo_{2}).SoxFilter("lowpass 120","vol -0.5") sl_{2} = mixaudio(back_{2}.GetLeftChannel(),back_{2}.GetRightChannel(),0.668,-0.668) sr_{2} = mixaudio(back_{2}.GetRightChannel(),back_{2}.GetLeftChannel(),0.668,-0.668) sl_{2} = DelayAudio(sl_{2},0.02) sr_{2} = DelayAudio(sr_{2},0.02) </Value> </Option> <Option> <Name>Farina Profile</Name> <Value> # Farina/Sursound approach Profile M=L+R, S=L-R, c=0.75, L' = (1-c/4)*M+(1+c/4)*S, C' = c*M, R' = (1-c/4)*M-(1+c/4)*S # also added with 20ms delay and some attenuation on surround front_{2} = stereo_{2}.soxfilter("filter 20-20000") back_{2} = stereo_{2}.soxfilter("filter 100-7000") fl_{2} = mixaudio(mixaudio(front_{2}.GetLeftChannel(),front_{2}.GetRightChannel(),0.500,0.500),mixaudio(front_{2}.GetLeftChannel(),front_{2}.GetRightChannel(),0.500,-0.500),0.8125,1.1875) fr_{2} = mixaudio(mixaudio(front_{2}.GetLeftChannel(),front_{2}.GetRightChannel(),0.500,0.500),mixaudio(front_{2}.GetLeftChannel(),front_{2}.GetRightChannel(),0.500,-0.500),0.8125,-1.1875) cc_{2} = mixaudio(front_{2}.GetRightChannel(),front_{2}.GetLeftChannel,0.375,0.375) lfe_{2} = ConvertToMono(stereo_{2}).SoxFilter("lowpass 120","vol -0.5") sl_{2} = mixaudio(back_{2}.GetLeftChannel(),back_{2}.GetRightChannel(),0.668,-0.668) sr_{2} = mixaudio(back_{2}.GetRightChannel(),back_{2}.GetLeftChannel(),0.668,-0.668) sl_{2} = DelayAudio(sl_{2},0.02) sr_{2} = DelayAudio(sr_{2},0.02) </Value> </Option> <Option> <Name>Multisonic Profile</Name> <Value> # Multisonic approach Profile modified with 20ms delay and some attenuation on surround front_{2} = stereo_{2}.soxfilter("filter 20-20000") back_{2} = stereo_{2}.soxfilter("filter 100-7000") fl_{2} = mixaudio(front_{2}.GetLeftChannel(),front_{2}.GetRightChannel(),1,-0.5) fr_{2} = mixaudio(front_{2}.GetRightChannel(),front_{2}.GetLeftChannel(),1,-0.5) cc_{2} = mixaudio(front_{2}.GetRightChannel(),front_{2}.GetLeftChannel,0.5,0.5) lfe_{2} = ConvertToMono(stereo_{2}).SoxFilter("lowpass 120","vol -0.5") sl_{2} = mixaudio(back_{2}.GetLeftChannel(),back_{2}.GetRightChannel(),0.668,-0.668) sr_{2} = mixaudio(back_{2}.GetRightChannel(),back_{2}.GetLeftChannel(),0.668,-0.668) sl_{2} = DelayAudio(sl_{2},0.02) sr_{2} = DelayAudio(sr_{2},0.02) </Value> </Option> <Option> <Name>Sound On Sound Profile</Name> <Value> # SOS approach Profile with 20ms delay and some attenuation on surround back_{2} = stereo_{2}.soxfilter("filter 100-7000") fl_{2} = stereo_{2}.GetLeftChannel() fr_{2} = stereo_{2}.GetRightChannel() cc_{2} = mixaudio(stereo_{2}.GetRightChannel(),stereo_{2}.GetLeftChannel,0.5,0.5) lfe_{2} = ConvertToMono(stereo_{2}).SoxFilter("lowpass 120","vol -0.5") sl_{2} = mixaudio(back_{2}.GetLeftChannel(),back_{2}.GetRightChannel(),0.668,-0.668) sr_{2} = mixaudio(back_{2}.GetRightChannel(),back_{2}.GetLeftChannel(),0.668,-0.668) sl_{2} = DelayAudio(sl_{2},0.02) sr_{2} = DelayAudio(sr_{2},0.02) </Value> </Option> <ScriptEpilogue> # Return result MergeChannels( fl_{2}, fr_{2}, cc_{2}, lfe_{2}, sl_{2}, sr_{2}) ConvertAudioTo16Bit() </ScriptEpilogue> </MultiOptionDSP> </Plugin> </AudioDSP> </BeHappy.Extension> |
![]() |
![]() |
![]() |
#94 | Link |
stupid
Join Date: Sep 2004
Location: Cologne
Posts: 638
|
@ dimzon
I took the one from 15.02.2006 from celtic druid, works very good @ northpole IŽll try it immediatly
__________________
cu Joe ------------------------ freedom is just another word for nothing left to loose |
![]() |
![]() |
![]() |
#95 | Link |
Registered User
Join Date: Jan 2006
Posts: 141
|
Sorry about so many revision on this upmix extension...
This pretty much finishes what I have been able to come up with so here it is Code:
<?xml version="1.0"?> <BeHappy.Extension xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://workspaces.gotdotnet.com/behappy"> <AudioDSP UniqueID="9579E57B-2D27-4583-99A4-921718E25B41"> <Plugin> <MultiOptionDSP Type="BeHappy.Extensions.MultiOptionDSP, BeHappy"> <TitleFormatString>5.1 Upmix - {0}</TitleFormatString> <ScriptPrologue> # Store clip in variable stereo_{2} = convertaudiotofloat(last) front_{2} = stereo_{2}.soxfilter("filter 20-20000") back_{2} = stereo_{2}.soxfilter("filter 100-7000") </ScriptPrologue> <Option> <Name>Balanced Center Channel Profile</Name> <Value> # Balanced approach L' = (L-R)*0.668 R' = (R-L)*0.668 C' = (L-L')*0.398 + (R-R')*0.398 # Profile for general purposes to use with audio sources that have a wide range of sound content # Attempts to balance sound levels of L', R' and C' with common mono content in center only # 20ms delay and -2db attenuation on surround SL' = (L-R)*0.531 SR' = (R-L)*0.531 fl_{2} = mixaudio(front_{2}.GetLeftChannel(),front_{2}.GetRightChannel(),0.668,-0.668) fr_{2} = mixaudio(front_{2}.GetRightChannel(),front_{2}.GetLeftChannel(),0.668,-0.668) cc_{2} = mixaudio(mixaudio(front_{2}.GetLeftChannel(),fl_{2},1,-1),mixaudio(front_{2}.GetRightChannel(),fr_{2},1,-1),0.398,0.398) lfe_{2} = ConvertToMono(stereo_{2}).SoxFilter("lowpass 120","vol -0.500") sl_{2} = mixaudio(back_{2}.GetLeftChannel(),back_{2}.GetRightChannel(),0.531,-0.531).DelayAudio(0.02) sr_{2} = mixaudio(back_{2}.GetRightChannel(),back_{2}.GetLeftChannel(),0.531,-0.531).DelayAudio(0.02) </Value> </Option> <Option> <Name>Decreased Center Channel Profile</Name> <Value> # Decreased center approach L' = (L-R)*0.668 R' = (R-L)*0.668 C' = (L-L')*0.224 + (R-R')*0.224 # Profile to use for older movies or videos with mostly mono content. # Same as balanced approach but with significally reduces C' power # 20ms delay and -2db attenuation on surround SL' = (L-R)*0.531 SR' = (R-L)*0.531 fl_{2} = mixaudio(front_{2}.GetLeftChannel(),front_{2}.GetRightChannel(),0.668,-0.668) fr_{2} = mixaudio(front_{2}.GetRightChannel(),front_{2}.GetLeftChannel(),0.668,-0.668) cc_{2} = mixaudio(mixaudio(front_{2}.GetLeftChannel(),fl_{2},1,-1),mixaudio(front_{2}.GetRightChannel(),fr_{2},1,-1),0.224,0.224) lfe_{2} = ConvertToMono(stereo_{2}).SoxFilter("lowpass 120","vol -0.596") sl_{2} = mixaudio(back_{2}.GetLeftChannel(),back_{2}.GetRightChannel(),0.531,-0.531).DelayAudio(0.02) sr_{2} = mixaudio(back_{2}.GetRightChannel(),back_{2}.GetLeftChannel(),0.531,-0.531).DelayAudio(0.02) </Value> </Option> <Option> <Name>Increased Center Channel Profile</Name> <Value> # Increased center approach L' = (L-R)*0.596 R' = (R-L)*0.596 C' = (L-L')*0.473 + (R-R')*0.473 # Profile to use with audio sources where quieter dialog or lots of loud sound effects. # Same as balanced approach but with slightly higher C' power and slightly lower L' and R' power # 20ms delay and -2db attenuation on surround SL' = (L-R)*0.473 SR' = (R-L)*0.473 fl_{2} = mixaudio(front_{2}.GetLeftChannel(),front_{2}.GetRightChannel(),0.596,-0.596) fr_{2} = mixaudio(front_{2}.GetRightChannel(),front_{2}.GetLeftChannel(),0.596,-0.596) cc_{2} = mixaudio(mixaudio(front_{2}.GetLeftChannel(),fl_{2},1,-1),mixaudio(front_{2}.GetRightChannel(),fr_{2},1,-1),0.473,0.473) lfe_{2} = ConvertToMono(stereo_{2}).SoxFilter("lowpass 120","vol -0.473") sl_{2} = mixaudio(back_{2}.GetLeftChannel(),back_{2}.GetRightChannel(),0.473,-0.473).DelayAudio(0.02) sr_{2} = mixaudio(back_{2}.GetRightChannel(),back_{2}.GetLeftChannel(),0.473,-0.473).DelayAudio(0.02) </Value> </Option> <Option> <Name>Gerzen Profile</Name> <Value> # Gerzen approach L' = (0.885*L)-(0.115*R) C' = (L+R)*0.4511 R' = (0.885*R)-(0.115*L) # Modified by adding 20ms delay and some attenuation on surround SL' = (L-R)*0.531 SR' = (R-L)*0.531 fl_{2} = mixaudio(front_{2}.GetLeftChannel(),front_{2}.GetRightChannel(),0.885,-0.115) fr_{2} = mixaudio(front_{2}.GetRightChannel(),front_{2}.GetLeftChannel(),0.885,-0.115) cc_{2} = mixaudio(front_{2}.GetRightChannel(),front_{2}.GetLeftChannel,0.4511,0.4511) lfe_{2} = ConvertToMono(stereo_{2}).SoxFilter("lowpass 120","vol -0.5") sl_{2} = mixaudio(back_{2}.GetLeftChannel(),back_{2}.GetRightChannel(),0.531,-0.531).DelayAudio(0.02) sr_{2} = mixaudio(back_{2}.GetRightChannel(),back_{2}.GetLeftChannel(),0.531,-0.531).DelayAudio(0.02) </Value> </Option> <Option> <Name>Farina Profile</Name> <Value> # Farina/Sursound approach M=L+R, S=L-R, c=0.75, L' = (1-c/4)*M+(1+c/4)*S, C' = c*M, R' = (1-c/4)*M-(1+c/4)*S # Modified by adding 20ms delay and some attenuation on surround SL' = (L-R)*0.562 SR' = (R-L)*0.562 fl_{2} = mixaudio(mixaudio(front_{2}.GetLeftChannel(),front_{2}.GetRightChannel(),0.500,0.500),mixaudio(front_{2}.GetLeftChannel(),front_{2}.GetRightChannel(),0.500,-0.500),0.8125,1.1875) fr_{2} = mixaudio(mixaudio(front_{2}.GetLeftChannel(),front_{2}.GetRightChannel(),0.500,0.500),mixaudio(front_{2}.GetLeftChannel(),front_{2}.GetRightChannel(),0.500,-0.500),0.8125,-1.1875) cc_{2} = mixaudio(front_{2}.GetRightChannel(),front_{2}.GetLeftChannel,0.375,0.375) lfe_{2} = ConvertToMono(stereo_{2}).SoxFilter("lowpass 120","vol -0.5") sl_{2} = mixaudio(back_{2}.GetLeftChannel(),back_{2}.GetRightChannel(),0.562,-0.562).DelayAudio(0.02) sr_{2} = mixaudio(back_{2}.GetRightChannel(),back_{2}.GetLeftChannel(),0.562,-0.562).DelayAudio(0.02) </Value> </Option> <Option> <Name>Multisonic Profile</Name> <Value> # Multisonic approach L' = L-(0.5*R) C' = (L+R)*0.5 R' = R-(0.5*L) # Reduced above formula by 10% to eliminate potential clipping on L' and R' # Modified by adding 20ms delay and some attenuation on surround SL' = (L-R)*0.596 SR' = (R-L)*0.596 fl_{2} = mixaudio(front_{2}.GetLeftChannel(),front_{2}.GetRightChannel(),0.9,-0.45) fr_{2} = mixaudio(front_{2}.GetRightChannel(),front_{2}.GetLeftChannel(),0.9,-0.45) cc_{2} = mixaudio(front_{2}.GetRightChannel(),front_{2}.GetLeftChannel,0.45,0.45) lfe_{2} = ConvertToMono(stereo_{2}).SoxFilter("lowpass 120","vol -0.5") sl_{2} = mixaudio(back_{2}.GetLeftChannel(),back_{2}.GetRightChannel(),0.596,-0.596).DelayAudio(0.02) sr_{2} = mixaudio(back_{2}.GetRightChannel(),back_{2}.GetLeftChannel(),0.596,-0.596).DelayAudio(0.02) </Value> </Option> <ScriptEpilogue> # Return result MergeChannels( fl_{2}, fr_{2}, cc_{2}, lfe_{2}, sl_{2}, sr_{2}) ConvertAudioTo16Bit() </ScriptEpilogue> </MultiOptionDSP> </Plugin> </AudioDSP> </BeHappy.Extension> - Tweaked most of the surround levels to try and match the particular profile. - Nuked the sound on sound profile (the last one) because it was just the alot of same sound from the L, R & C (not much channel or dialog separation). - Changed the names on the first 2 profiles to better explain what they are trying to do. - Added another profile to increase the center channel levels. - Added some notes, etc. Thanks again dimzon for this slick audio convertion tool. |
![]() |
![]() |
![]() |
#96 | Link |
BeHappy/MeGUI developer
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
|
@NorthPole
Thanx for Your investigations. I just wrote a tool, but You and tebasuna51 fill it life By the way - future of BeHappy I'm really waitng when MeGUI refacoring done. Probably BeHappy will be assimilated by MeGUI completly (currently it share same code but MeGUI has subset of BeHappy functionality)
__________________
BeHappy - AviSynth-based audio transcoding tool Audio encoding via AviSynth On2 VP7 is great in quality but it is unusable for long-term video backup puposes! Sincerely Yours, MCPD/MCTS |
![]() |
![]() |
![]() |
#97 | Link | |
stupid
Join Date: Sep 2004
Location: Cologne
Posts: 638
|
Quote:
![]()
__________________
cu Joe ------------------------ freedom is just another word for nothing left to loose |
|
![]() |
![]() |
![]() |
#98 | Link | |
BeHappy/MeGUI developer
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
|
Quote:
__________________
BeHappy - AviSynth-based audio transcoding tool Audio encoding via AviSynth On2 VP7 is great in quality but it is unusable for long-term video backup puposes! Sincerely Yours, MCPD/MCTS |
|
![]() |
![]() |
![]() |
#99 | Link | |
stupid
Join Date: Sep 2004
Location: Cologne
Posts: 638
|
Quote:
![]()
__________________
cu Joe ------------------------ freedom is just another word for nothing left to loose |
|
![]() |
![]() |
![]() |
#100 | Link | |
BeHappy/MeGUI developer
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
|
Quote:
__________________
BeHappy - AviSynth-based audio transcoding tool Audio encoding via AviSynth On2 VP7 is great in quality but it is unusable for long-term video backup puposes! Sincerely Yours, MCPD/MCTS |
|
![]() |
![]() |
![]() |
Tags |
behappy |
Thread Tools | Search this Thread |
Display Modes | |
|
|