PDA

View Full Version : dolby prologic library by mds


lucindrea
15th December 2002, 21:52
one of the problems that i have allways had is taking a pro logic wav file and converting it into an ac3 file for DVD-R ( i can get a 2 chan ac3 file but it seems to loose it's "surround" in that format ) ...
anyway more than a few times i have seen on these forums that wouldnt it be nice if their was some sort of filter for doing this ( or at least producing 6 wave files from a 2 chan pro-logic file ) ...
although i know enuf to be dangeourous in c/c+ i dont know enuf to write any utility that would help .. but i have found some information on all the dobly lib's , and i figure someone here may be able to make some use of it

http://www.mds.com/products/trimedia_library_prologic_decoder/trimedia_library_prologic_decoder_audio_software.htm

Valex
17th December 2002, 10:55
Interesting thing, but I think they want some money for it ;)

solymi.hu
17th December 2002, 18:42
I would be very very pleased with such a freeware filter or program :o) I'm not able to find at last a direct show filter, which would play dolby surround through 4 channel system (of course without hardware decoding)

lucindrea
17th December 2002, 21:52
yes after i posted i relised that they wanted $ for the thing .. but it's still good to know that such code does esist ..... i figure , with enuf people who can write code .. some directx source ( sdk ) and some of the free sdk's out their for sound cards ( i think one is named .. aruora? ) allong with the information given on dobly's site , that creating such a filter souldnt be to far off .... and like i've stated before , with the current "semi-low" prices on dvd burners now ( and prices are expected to drop more ) i see a greater and greater need for such a filter.... perhaps this is somthing that sould goto source forge.

currently i have a method i use with cool edit and alot of wav inverting to get 5 channels out of a 2 chan pro I ( l/r/c/s/lfe ) but it's ALOT of work and almost becomes not worth it.

anyway .. i'm just tossing around ideas and seeing where they go ;)

Valex
18th December 2002, 10:03
@lucindrea

currently i have a method i use with cool edit and alot of wav inverting to get 5 channels out of a 2 chan pro I ( l/r/c/s/lfe ) but it's ALOT of work and almost becomes not worth it.

Maybe you can share your secrets without much $$$ :)? Now I implemented only simple matrix upmix in my ac3 decoder filter. If it will be some free time I planned to make this as stand-alone mixer and processing filter. And I interested to know how people do it at practice.

lucindrea
18th December 2002, 10:50
like i said it's long and a real pain .. i will post here ... once i get it all formated into a readable format ( right now it's scribbled on some note pads that even i have to double check to read my notes )

solymi.hu
19th December 2002, 15:07
lucindrea: a cooledit method to extract phase shifted center and surround, and the rest left, right? Please write a few word/sentence/page about it :rolleyes:

lucindrea
19th December 2002, 22:23
basicly it goes like this ... assuming that the prologic is encoded like this
http://www.lucindrea.com/pro1.gif
( it's on my server cauz i dont want to wait for it to be approved )
surround is -90 and +90 of each chann .. so if you add the 2 channs the pahse shift is 180 out of phase of each other so they cancel each other out .. adding them gives the center chan .. inverting the center chan and adding them to the left and right should cancel out the normal signal and leave only the surround signal ... removing anything under 120hz and over 7kz simulates one of the filters in a hardware decoder ( and you want to get rid of those highs anyway cauz they produce crosstalk with the frounts ) ....
combining all the signals then removing everything over 120 gives a lfe channel.
pasting a 00:00.003 empty space in the begining of the surround gives it a bit of a delay ( i think thats 300ms not the 30 i was hopeing for ) and that creates some debpth.
all the work is done in 32 bit then changed back to 16 at the end.
i do alot more inverting and combining to try to totaly seperate all the chans that i'm not going to type out here ( forinstance adding the inverted surround to the left removes only 1/2 the surround signal from that chan and ends up adding more crosstalk ) ..... but the result is acceptable .. not 100% , but it works, of course any ac3 encoder works to combine the resulting wavs.

lucindrea
19th December 2002, 22:27
all of that would be easy if their was software that could change the phase of a wav by 90' and not the 180 that EVERY software seems to have ( aka invert )

solymi.hu
20th December 2002, 09:25
lucindrea: adding to channels means to downmix all waves to mono, right? And phase shifted surround signal should simply disappear. It doesn't work for me! Maybe my test signal is not good??? I've made it from AC3 test by bewseet and checked the dolby surround box. I can't test it, couse i don't have 'hardware' surround decoder.
And what about the center signal? How can you separate from left,right? And how can you get a left or right without surround?
Please cooledit step by step :rolleyes:

solymi.hu
20th December 2002, 09:51
Oh sorry, you don't need to have left,rigth without surround becouse surround information will by nature be phase-inverted 180 and cancel itself out from the front left/right speakers,right?
And thinking of a 4 channel system, the center signal could remain in left,right. Then it wouldn't be so difficult to make such a ds filter.

lucindrea
20th December 2002, 20:47
ok here is a quick step by step ( hopefully i dont type to meny errors ) ... like i said before this works , but on a 2 hour movie it's a LONG process , and it's not 100% , it's close .. i've tried to cut out as meny steps as possable and in a large file you may need to open/close cool edit alot because of memory.

open the stero wav in cool edit
edit convert sample type -> mono , 32 bit , 100% left 0% right
save as left-full
click edit -> undo convert
edit convert sample type -> mono , 32 bit , 100% right 0% left
save as right-full
click edit->copy
open left-full , edit -> mix paste , overlap L 100 , from clipboard.
transform -> amplfy , uncheck "view all settings in db" , amplifaction 50
this is your right/left combined without surround.
save as center-temp
click trasnform->invert
edit->copy
open left-full
edit -> mixpaste , overlap L 100 , from clipboard.
save as ls
file->close
open right-full
edit->mix paste , overlap L 100 , from clipboard
save as rs
transform->invert
edit->copy
open right-full
edit -> mix paste , overlap L 100 , from clipboard
save as right
open ls
transform->invert
edit->copy
open left-full
edit -> mix paste , overlap L 100 , from clipboard
save as left
edit->copy
open right
edit ->mix paste , overlap L 100 , from clipboard
transform->filters->graphic equlizer ... -18 all sliders 125hz and less and 8khz and more
do that twice
transform->amplitude , click 3db cut
save as center
open the orginal wav
edit -> convert sampletype -> mono , 32 bit , L 50% , R 50%
transform ->filters -> graphic equlizer , -18 out anything over 125hz ( leave 125 as is )
do that twice
save as lfe

ok .. now you have a right , left , lfe , center , rs , ls .. 6 waves :-)
note: the wavs are in 32 bit format .. you have to convert them into 16 bit for any encoder to take them .. but thats an easy step.

samples of this can be found at http://www.lucindrea.com/waves.zip ... keep in mind this is a 28MB zip .... the game.wav is the orginal wav created from a dobly digatal test vob that was then downmixed to prologic.

lucindrea
20th December 2002, 20:53
BTW .. if anyone is any good at scripting .. all of that would be really nice in a cool edit batch script :-)