Log in

View Full Version : 6 channel with ffdshow and graphedit


ImAhNoBoDy
16th December 2008, 07:02
I'm authoring a DVD with a 6 channel ac3 which I have accomplished. I like the way I do it but the problem is the volume is too high. Most of my movies are 2 channels.

I created a custom matrix for the mixer in ffdshow and love the way it sounds. I check/tick mixer, resample (48000hz), and Dobly decoder (20ms) in ffdshow. I created a avs script that has my movie. I open up the avs script in graphedit. I delete the video portion and only have the audio portion. I then make my graph like:

avs script > ffdshow decoder > AudioRecorder WAV Dest > File writer

After the file is written I uncheck all the options in ffdshow. I play the file and ffdshow decodes the audio like I want to. If I choose "disabled" for uncompressed in the codec section, the microsoft decoder takes over and the volume is loud with lots of noise. I verified that my dvd player plays the audio like the microsoft decoder which is loud. Has anyone run into this issue and how do I create the audio to make it sound like the way I configured in ffdshow? The last step I use to make the wav into ac3 is exporting the raw audio in vdub. I know the way I'm doing the conversion is a bit extreme, but I just like the way ffdshow creates the 6 channel. Thanks if there are any advice.

tebasuna51
16th December 2008, 10:37
Say me If I understand your problem.

1) You have a movie file with 2 channel audio (please say the audio input format). You convert this audio to a 6 channels wav using ffdshow filters only, and in this order:
- a matrix mixer (please put the used matrix)
- a resample to 48000 Hz
- a Dolby decoder 20ms
Comments:
There are better options to decode Dolby ProLogic (if your source is DPL encoded).
Without the matrix mixer I can't know the result, but if you like the output ...

2) When you use ffdshow to play this 6ch wav (uncompressed enabled, all filters off) is ok, but if you don't use ffdshow (uncompressed disabled) play loud and noisy.
Comments:
Seems you have a problem with your DirectShow configuration. If the 6ch wav file is ok must be played fine with or without ffdshow (filters off). Use a test file like 6_Channel_ID.wav (http://bellatrix.ece.mcgill.ca/Documents/AudioFormats/WAVE/Samples/Microsoft/6_Channel_ID.wav) to verify your system.

3) Please explain what is: "The last step I use to make the wav into ac3 is exporting the raw audio in vdub."

ImAhNoBoDy
17th December 2008, 06:17
1) The source is 2 channel pcm. You're gonna think I'm going overboard cause I read a lot of your post tebasuna51, lol.

Matrix Mixer
http://img.photobucket.com/albums/v395/SeX1eStAsaBa/Others/mixer.jpg

Resample
http://img.photobucket.com/albums/v395/SeX1eStAsaBa/Others/resample.jpg

Dolby Settings
http://img.photobucket.com/albums/v395/SeX1eStAsaBa/Others/dobly.jpg

2) Correct. The file you provided sounds fine. Was able to distinguish right, left, center, etc.

3)Outputting from graphedit to virtualdub
http://img.photobucket.com/albums/v395/SeX1eStAsaBa/Others/graphedit.jpg

Imported my audio and choose Full Processing
http://img.photobucket.com/albums/v395/SeX1eStAsaBa/Others/vdub.jpg

Compressing the audio
http://img.photobucket.com/albums/v395/SeX1eStAsaBa/Others/ac3.jpg

Exporting the raw audio as .ac3
http://img.photobucket.com/albums/v395/SeX1eStAsaBa/Others/save.jpg

I downloaded the most recent ffdshow. Now I can clearly see why it's so loud. Guess they corrected something. I'm able to hear the "correct" volume now and it is loud =/

tebasuna51
17th December 2008, 13:32
- The first filter is Dolby Decoder then the 2 ch. is converted to 6 ch. (don't work like a Dolby ProLogic II decoder, but if you like...)
- After the resampler to 48000. Ok
- And now the matrix mixer is the problem. Is simple, don't use this step, seems you don't understand how work. You obtain 6 chanels:
l' = L + 0.7xC + R + LFE - 0.8xBL - 0.5xBR
r' = L + 0.7xC + R + LFE + 0.5xBL + 0.8xBR
c' = 0.7xL + 0.5xC + 0.7xR + LFE + BL + BR
lfe' = L + C + R + LFE + BL + BR
bl' = L + C + R + LFE + BL + BR
br' = L + C + R + LFE + BL + BR

Then all the input channels are mixed in all the output channels to obtain 500-600% of volume than original, of course distorted.

Cancel the Matrix Mixer step, the Dolby Decoder is enough to upmix from 2 -> 6 channels.

BTW, there are best and easy methods to do the job. Using AviSynth you can try BeHappy and with Foobar2000 there are the best free methods for upmix dpl II encoded stereo (foo_dsp_fsurround.dll), or plain stereo (vst VI plugin). See how you can use Foobar2000 here (http://forum.doom9.org/showthread.php?p=1011274#post1011274)

Edit: To free encode to ac3 use always Aften.