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 |
![]() |
#41 | Link |
Moderator
![]() Join Date: Feb 2005
Location: Spain
Posts: 6,772
|
I think Bepipe can't work from fb2k because you need the physical file "incorrect.wav" and can't be supplied by "< incorrect.wav".
Work ok with: BePipe.exe --script "WavSource(^incorrect.wav^).GetChannel(1,3,2,5,6,4)" | ffmpeg.exe -i - -y -acodec ac3 -ab 448 "correct.ac3" With your command line ffmpeg encode directly "incorrect.wav". |
![]() |
![]() |
![]() |
#42 | Link |
Registered User
Join Date: Jan 2006
Posts: 141
|
@tebasuna51
thanks for the reply. I get a pipe error why I try your command line? C:\Temp>BePipe.exe --script "WavSource(^incorrect.wav^).GetChannel(1,3,2,5,6,4)" | ffmpeg.exe -i - -y -acodec ac3 -ab 448 "correct.ac3" *************************************** BePipe by dimzon *************************************** Script used: # BEGIN WavSource("incorrect.wav").GetChannel(1,3,2,5,6,4) # END ffmpeg version CVS, build 3277056, Copyright (c) 2000-2004 Fabrice Bellard configuration: --enable-a52 --enable-gpl --enable-memalign-hack built on Dec 8 2005 10:06:35, gcc: 3.4.2 (mingw-special) Scanning for Audio Stream... Found Audio Stream Channels=6, BitsPerSample=16, SampleRate=48000Hz Writing Header... Writing Data... 0% pipe:: Error while opening file Done! Any ideas? Tried 2 different builds of ffmpeg. The one above and the one from the ffmpeggui setup. |
![]() |
![]() |
![]() |
#43 | Link |
Registered User
Join Date: Jan 2006
Posts: 141
|
@tebasuna51
Runs ok when I use this command line but doesn't remap channels C:\Temp>BePipe.exe --script "WavSource(^incorrect.wav^).GetChannel(1,3,2,5,6,4)" | ffmpeg.exe -i - -y -acodec ac3 -ab 448 "correct.ac3" <incorrect.wav ffmpeg version CVS, build 3277056, Copyright (c) 2000-2004 Fabrice Bellard configuration: --enable-a52 --enable-gpl --enable-memalign-hack built on Dec 8 2005 10:06:35, gcc: 3.4.2 (mingw-special) Input #0, wav, from 'pipe:': Duration: N/A, bitrate: 4608 kb/s Stream #0.0: Audio: pcm_s16le, 48000 Hz, 5:1, 4608 kb/s Output #0, ac3, to 'correct.ac3': Stream #0.0: Audio: ac3, 48000 Hz, 5:1, 448 kb/s Stream mapping: Stream #0.0 -> #0.0 *************************************** BePipe by dimzon *************************************** Script used: # BEGIN WavSource("incorrect.wav").GetChannel(1,3,2,5,6,4) # END Scanning for Audio Stream... Found Audio Stream Channels=6, BitsPerSample=16, SampleRate=48000Hz Writing Header... Writing Data... size= 957kB time=17.5 bitrate= 448.0kbits/s s/s video:0kB audio:957kB global headers:0kB muxing overhead 0.000000% Done! Note: input says it is coming from pipe? Running winxp operating system. |
![]() |
![]() |
![]() |
#44 | Link |
Registered User
Join Date: Jan 2006
Posts: 141
|
Final Note:
The version of bepipe that I am using was download from the link on the first post. Datestamp on the file is 11/25/05 even though the date on the website says 12/09/05. File version 1.0.2155.27457. I believe I have the latest and perhap the only released version of bepipe. |
![]() |
![]() |
![]() |
#45 | Link |
Moderator
![]() Join Date: Feb 2005
Location: Spain
Posts: 6,772
|
I have same versions:
fmpeg version CVS, build 3277056 Last Bepipe version 1.0.2155.27457 Yesterday work ok, and now I get the same error: 0% pipe:: Error while opening file I test: BePipe.exe --script "WavSource(^incorrect.wav^).GetChannel(1,3,2,5,6,4)" > correct.wav and work. Maybe is a sync issue betwen bepipe and ffmpeg. Sorry, I can't help you, maybe Dimzon ... About: "Note: input says it is coming from pipe?" The chars "< | >" are called 'pipe' commands, the input file for ffmpeg is taken from "< incorrect.wav" and not from bepipe output, then the channels aren't remapped. |
![]() |
![]() |
![]() |
#46 | Link |
Registered User
Join Date: Jun 2003
Location: Elyseum
Posts: 640
|
nice tool !
i will give it a try... btw with nero aac can you make abr encoding?? if you specify bitrate it's cbr and vbr is not abr... i want to make true abr@64 for exemple...can find the parameters in cmdline for aacenc32.exe (i use it to attack nero7 dlls) is nero aac he-aac v2 or v1...the v2 is aac+ with SP i think (same quality @44 than he-aac@64..if i remember right)
__________________
Projects : (dev stopped) DamBatch, MBatch (generate mkv/mp4 files with aac(+)/vorbis/mp3 and x264/xvid/real or simple avi with h264/mp3 for fast reencoding using mencoder) Website : Damrod.com |
![]() |
![]() |
![]() |
#48 | Link |
Registered User
Join Date: Jan 2006
Posts: 141
|
Ok, I modified the upmix extension with the following and got some 6 channel upmixes.
<?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>{0}</TitleFormatString> <ScriptPrologue> # Store clip in variable Stereo_{2} = convertaudiotofloat(last) </ScriptPrologue> <Option> <Name>Upmix Using SuperEQ Files</Name> <Value> # SuperEq files with 20ms delay fl_{2} = SuperEQ(Stereo_{2}.getleftchannel,"c:\program files\behappy\front.feq") fr_{2} = SuperEQ(Stereo_{2}.getrightchannel,"c:\program files\behappy\front.feq") cc_{2} = SuperEQ(Stereo_{2}.ConvertToMono,"c:\program files\behappy\center.feq") lfe_{2} = SuperEQ(Stereo_{2}.ConvertToMono,"c:\program files\behappy\lfe.feq") sl_{2} = SuperEQ(Stereo_{2}.getleftchannel,"c:\program files\behappy\back.feq") sr_{2} = SuperEQ(Stereo_{2}.getrightchannel,"c:\program files\behappy\back.feq") sl_{2} = DelayAudio(sl_{2},0.02) sr_{2} = DelayAudio(sr_{2},0.02) </Value> </Option> <Option> <Name>Upmix using Sox Filter</Name> <Value> # Sox filter with 20ms delay Front_{2} = mixaudio(Stereo_{2}.soxfilter("filter 0-600"),mixaudio(Stereo_{2}.soxfilter("filter 600-1200"),Stereo_{2}.soxfilter("filter 1200-7000"),0.45,0.25),0.50,1) Back_{2} = mixaudio(Stereo_{2}.soxfilter("filter 0-600"),mixaudio(Stereo_{2}.soxfilter("filter 600-1200"),Stereo_{2}.soxfilter("filter 1200-7000"),0.35,0.15),0.40,1) fl_{2} = GetLeftChannel(Front_{2}) fr_{2} = GetRightChannel(Front_{2}) cc_{2} = ConvertToMono(stereo_{2}).SoxFilter("filter 625-24000") lfe_{2} = ConvertToMono(stereo_{2}).SoxFilter("lowpass 65") sl_{2} = GetLeftChannel(Back_{2}) sr_{2} = GetRightChannel(Back_{2}) 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> This is a pretty basic approach. If you want to use the supereq option (built into avisynth) you need to run fb2k and save a equalizer frequency file from the dsp manager, equalizer tab. I saved one for the front, center, lfe and back. I would upload them but I don't know how or where to do that. (This is similar to kpexs' upmix program method). Note that you need to change the reference in the above code to point to your appropiate .feq files. If you use the sox filter mentioned earlier in this thread (I think its page 1, near the bottom) you can find a link to the sox avisynth beta plugin. You have to copy that to your avisynth plugin subdirectory. That it. If anybody has better ideas for the sox settings, let me know. Thanks. @tebasuna51, A while back you asked about the reverb function/program/option. It is a soxs' filter option that you can access with the sox plugin. |
![]() |
![]() |
![]() |
#49 | Link |
BeHappy/MeGUI developer
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
|
@NorthPole
Nice. Can you post your EQ-files too?
__________________
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 |
![]() |
![]() |
![]() |
#50 | Link | ||
Moderator
![]() Join Date: Feb 2005
Location: Spain
Posts: 6,772
|
Quote:
Quote:
I don't know very much about upmix procedures. Maybe if ursamtl read this post can help with their expert opinion about upmix. Now I'm working with compand function from Sox, trying to do a Dynamic Range Compression DSP function for BeHappy. If anybody work about this, let me know. |
||
![]() |
![]() |
![]() |
#51 | 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 |
|
![]() |
![]() |
![]() |
#52 | Link |
Registered User
Join Date: Jan 2006
Posts: 141
|
@dimzon
here are the feq files that I used Front.feq -96 -96 -96 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -96 -96 -96 center.feq -96 -96 -96 -96 -96 -96 3 3 3 3 3 3 3 3 3 3 3 3 lfe.feq 0 0 0 -96 -96 -96 -96 -96 -96 -96 -96 -96 -96 -96 -96 -96 -96 -96 back.feq -96 -96 -96 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -96 -96 -96 They are just text files that can be cut and pasted using notepad. I didn't spend as much time on these as I did the sox filter because I thought the sox filter had better potential. However these do work fine. Both methods were geared toward more of a "surround sound" mix for dvd movies and recorded tv. I was trying to get the dialoge in the center channel and added a 20ms delay on the back channels. |
![]() |
![]() |
![]() |
#53 | Link |
BeHappy/MeGUI developer
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
|
@NorthPole
Code:
sl_{2} = SuperEQ(Stereo_{2}.getleftchannel,"c:\program files\behappy\back.feq") sr_{2} = SuperEQ(Stereo_{2}.getrightchannel,"c:\program files\behappy\back.feq") Code:
temp{2} = SuperEQ(Stereo_{2}, "c:\program files\behappy\back.feq"); sl_{2} = temp{2}.getleftchannel() sr_{2} = temp{2}.getrightchannel()
__________________
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 |
![]() |
![]() |
![]() |
#54 | Link |
Registered User
Join Date: Jan 2006
Posts: 141
|
@dimzon
Yes, your code looks better, only one pass thru with the eq. then split. 2 comments on the sox method. I think the lfe is either too loud or needs lower freq. setting. Currently at 65 for lowpass May be more efficient to run sox mixaudio once on stereo source then split for left and right like it is currently but then instead of running sox filter again on stereo source for back channels, just reduce volume by a percentage from the front channels? |
![]() |
![]() |
![]() |
#56 | 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 |
|
![]() |
![]() |
![]() |
#57 | Link | |
Registered User
Join Date: Jan 2006
Posts: 141
|
Quote:
lfe_{2} = ConvertToMono(stereo_{2}).SoxFilter("lowpass 100","vol 0.5") |
|
![]() |
![]() |
![]() |
#58 | Link | |
Registered User
Join Date: Jan 2006
Posts: 141
|
Quote:
|
|
![]() |
![]() |
![]() |
#59 | Link |
BeHappy/MeGUI developer
Join Date: Oct 2003
Location: Moscow, Russia
Posts: 1,727
|
![]() new enc_aacplus.extension is avaluable @ BeHappy workspace
__________________
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 |
![]() |
![]() |
![]() |
#60 | Link |
Moderator
![]() Join Date: Feb 2005
Location: Spain
Posts: 6,772
|
DynRanComp: New <AudioDSP> Dynamic Range Compression based in compand function from Sox.
Compression curves based in Anex C from Dolby Digital Professional Encoding Guidelines. There are a link for this document and graphs in: http://forum.doom9.org/showthread.php?t=56020 This is a test release for discussion about the following problems: 1) The DSP function, outside the ac3 decoder, can't know the original ac3 Dialog Normalization and DRC method, then must be supplied by the user. The DRC method can be selected in DSP configure, but the DialNorm can be set with: - Another DSP multioption (31) to use before DynRanComp. - With the 'Tweak' Amplify, but don't work with negative values (? to Dimzon). - Editing DynRanComp.extension before run BeHappy. Method selected in this test release. 2) The Normalize() function don't work after Sox compand, maybe because: "compand is very hard to control, and doesn't support restarts (crash)" (in "Sox Audio Effect Filter for AviSynth" doc.) Then maybe we need another set of 'normalized' curves to avoid the low volume problem. 3) The compand function don't work fine with segments 20:1. For segment (-21,-21)-(0,-20) I obtain a output (-21,-21)-(0,-18) 4) The compand parameters (attack1,decay1,...,delay) may need optimization. The DynRanComp.extension file 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="934f5ce0-9203-11da-a72b-0800200c9a66"> <Plugin> <MultiOptionDSP Type="BeHappy.Extensions.MultiOptionDSP, BeHappy"> <TitleFormatString>DynRanComp - {0}</TitleFormatString> <ScriptPrologue> # Dialog Normalization. Amplify by: -31 -(DialNorm), 0 for DN=-31, -4 for DN=-27, -11 for DN=-20 ... # AmplifydB(-4.0) # Define transformation function </ScriptPrologue> <Option> <Name>Film Standard</Name> <Value> # Film Standard. Segments: (Noise) +6dB 2:1 = 20:1 # Points: ------- ------- ------- ------- ------- ----- SoxFilter("compand 0.1,0.3 -90,-90,-70,-64,-43,-37,-31,-31,-21,-21,0,-20 0 0 0.1") </Value> </Option> <Option> <Name>Film Light</Name> <Value> # Film Light Segments: (Noise) +6dB 2:1 = 20:1 # Points: ------- ------- ------- ------- ------- ----- SoxFilter("compand 0.1,0.3 -90,-90,-70,-64,-53,-47,-41,-41,-21,-21,0,-20 0 0 0.1") </Value> </Option> <Option> <Name>Music Standard</Name> <Value> # Music Standard Segments: (Noise) +12dB 2:1 = 20:1 # Points: ------- ------- ------- ------- ------- ----- SoxFilter("compand 0.1,0.3 -90,-90,-70,-58,-55,-43,-31,-31,-21,-21,0,-20 0 0 0.1") </Value> </Option> <Option> <Name>Music Light</Name> <Value> # Music Light Segments: (Noise) +12dB 2:1 = 2:1 # Points: ------- ------- ------- ------- ------- ----- SoxFilter("compand 0.1,0.3 -90,-90,-70,-58,-65,-53,-41,-41,-21,-21,0,-11 0 0 0.1") </Value> </Option> <Option> <Name>Speech</Name> <Value> # Speech Segments: (Noise) +15dB 5:1 = 20:1 # Points: ------- ------- ------- ------- ------- ----- SoxFilter("compand 0.1,0.3 -90,-90,-70,-55,-50,-35,-31,-31,-21,-21,0,-20 0 0 0.1") </Value> </Option> <ScriptEpilogue> # Normalize recommended because volume is always less than -20 dB (except Music Light -11) # Normalize() # But Normalize don't work after SoxFilter("compand...") # SoxFilter work with 32 bit integer, and at last wav output is send 32 bit. Then maybe...: # ConvertAudioTo16Bit() </ScriptEpilogue> </MultiOptionDSP> </Plugin> </AudioDSP> </BeHappy.Extension> Last edited by tebasuna51; 2nd February 2006 at 13:48. |
![]() |
![]() |
![]() |
Tags |
behappy |
Thread Tools | Search this Thread |
Display Modes | |
|
|