Pro Logic's Center Channel Extraction, Implementation questions |
Pro Logic's Center Channel Extraction, Implementation questions |
Jul 23 2011, 05:31
Post
#1
|
|
|
Group: Members Posts: 82 Joined: 11-December 06 Member No.: 38563 |
I'm trying to figure out how Pro Logic implements center channel extraction. Looking at how various different types of sine waves combine (a single one into two other ones), I guess I'll need to implement some type of FIR filter. I'm very new to this. It would be nice if this could be done on a sample-by-sample basis.
Any help? |
|
|
|
![]() |
Jul 25 2011, 18:41
Post
#2
|
|
|
Group: Members Posts: 2115 Joined: 24-August 07 From: Silicon Valley Member No.: 46454 |
QUOTE I am having difficulty extracting the common signal between TL and TR. I am doing this in C. Can I get a description of how to do this? Pro Logic is just an example. Pro Logic Simplified- When the left & right signals are equal in amplitude and in-phase, the signal is steered to the center. When the signals are equal & out-of-phase, the signal is steered to the rear. There is more information on Wikipedia and on the Dobly website. By comparing L, R, L+R and L-R, you should be able to build (or code) a simple steering system. I think the hard part with Pro Logic is getting the time-constants right. (I don't know if the timing information is published.) QUOTE I'll need to implement some type of FIR filter. There is a plug-in for Winamp called DSP Centercut, and there is a similar tool in the current beta version of GoldWave. (It's not related to, or compatiible with, Pro Logic.)If I understand correctly, it uses FFT to break the signal into many frequency bands. Then L+R & L-R operations are performed on each band. By using that information as a "control signal", you can turn-on or turn-off various frequency bands. That allows you to turn-off the center channel information, or turn-off everything except the center channel information. (L-R subtraction has been used to "remove vocals" for many years, but this method leaves you with a single mono signal.) This post has been edited by DVDdoug: Jul 25 2011, 18:47 |
|
|
|
Jul 27 2011, 09:26
Post
#3
|
|
|
Group: Members Posts: 78 Joined: 16-June 11 Member No.: 91562 |
By comparing L, R, L+R and L-R, you should be able to build (or code) a simple steering system. I think the hard part with Pro Logic is getting the time-constants right. (I don't know if the timing information is published.) Nope, time constants were never published...deliberately. But they were chosen to be "syllabic" in nature, meaning, roughly timed to match single syllables in human speech. In fact, though, they were not perfect anyway, and could cause steering errors. For this reason all Lt/Rt soundtracks were mixed while monitoring through a standard encoder and decoder so that steering logic "errors" could be heard and compensated for. Some referred to these steering errors as "Todd-isms", a friendly nod to Craig Todd of Dolby Labs. They could be compensated for by recording a small sound in advance of the desired sound to pop open the steering logic and get the desired sound to decode to the correct channel. I have to say, though, it's hard to understand why anyone would spend the effort to synthesize what's already been done and standardized. There is no advantage to a self-designed ProLogic approximation, when the exact thing is available. Remember, ProLogic is a "decoder", that means it must exactly undo what's been done in the recording process. An approximation won't be exact. Trying to reverse engineer ProLogic seems somewhat futile. But, if you look over what's been written here and the material Dolby has, you could come close with enough time, patience, listening tests and DSP coding chops. Meanwhile, every AV Receiver on the market since the mid 1990s has an implementation of ProLogic in it, already matching the standard. If you get one with pre amp outs, you'll have a perfectly decoded and extracted line level center signal. A used receiver with pre outs made any time in the last decade would be just fine. |
|
|
|
wswartzendruber Pro Logic's Center Channel Extraction Jul 23 2011, 05:31
dc2bluelight QUOTE (wswartzendruber @ Jul 22 2011, 23... Jul 23 2011, 09:10
wswartzendruber I am having difficulty extracting the common signa... Jul 24 2011, 06:07
wswartzendruber My goal is to implement a Pro Logic decoder with f... Jul 27 2011, 20:47
DVDdoug There's really no way to "improve" P... Jul 27 2011, 23:06
wswartzendruber QUOTE (DVDdoug @ Jul 27 2011, 18:06) Ther... Jul 28 2011, 02:26
dc2bluelight QUOTE (wswartzendruber @ Jul 27 2011, 20... Jul 28 2011, 06:10
wswartzendruber Wow, I've failed miserably in explaining what ... Jul 28 2011, 04:26
wswartzendruber Since you want an in-depth explanation, you can ha... Jul 28 2011, 07:51
DVDdoug OK... Time to start writing some experimental cod... Jul 28 2011, 18:20
dc2bluelight QUOTE (DVDdoug @ Jul 28 2011, 12:20) OK..... Jul 29 2011, 04:32
wswartzendruber I've got a working Hilbert transformer. It... Jul 31 2011, 04:24
Dynamic Sorry to resurrect a slightly old thread, but I... Aug 5 2011, 11:54
dc2bluelight Dynamic's ideas are interesting, you solve the... Aug 5 2011, 12:55![]() ![]() |
|
Lo-Fi Version | Time is now: 21st May 2013 - 23:53 |