DIY ProLogic II

As already mentioned, the DPLII matrix is straightforward, and it is the channel steering that makes things different. With older sources, the adjustment of azimuth error is also extremely important, as it significantly reduces the leakage of centre channel material into the surrounds.

However, besides the steering, DPLII also involves some kind of compander technique, servo loops as well as a mandatory delay (~10ms) applied to the surround channels in order to reduce dialogue and bass leakage into the surround channels. Thus, the DIY implementations of the time that used only the matrix could never match the professional decoding cards made by Dolby. Then, as processing power improved over the years, companding and delay techniques became commonplace leaving channel steering the only thing yet to be achieved using DIY means.

Nevertheless, I think something along these lines could get us some steering:

1) Splitting each channel into several sub-bands and calculating their average power using appropriate time constants for each band.
2) Increasing (3-6dB) the gain of each channel (also using time constants) when sub-bands in the channel show increased activity (power increases) and reducing the gains of other channels to maintain correct power balance.

Thus, any channel activity would get highlighted although the channel would still be indirectly controlled by the power in every other channel, keeping things largely similar to a servo loop. The time constants for each band would require a lot of initial research work (trial & error type) though.

Some slides I found on DPLII on the internet: Turn to slide 9
 
Last edited:
In case the slides do not show here are the relevant pages on steering servo:
slide_9.jpg

slide_10.jpg

slide_11.jpg

slide_12.jpg

slide_13.jpg

slide_14.jpg

slide_15.jpg
 
Came across this thread and found it interesting. I absolutely love the results that DPLIIx provides in a 7.1 configuration and I listen to all my music in this manner. That is why I will probably never sell my processor. However, I do wish Jim Fosgate's family has opened the DPLIIx code to the open source community in his memory.

I'd love to be able to simply install DPLIIx on a Raspberry Pi such the input would be 2 channels via RCA and the matrixed output would be via HDMI to any processor. Is this possible?
 

TNT

Member
Joined 2003
Paid Member
.707% isn't much... How much attenuation in dB is that?

//

Found this: https://stackoverflow.com/questions/23713626/correctly-implementing-dolby-pro-logic-ii

public void DolbyProLogicII(float[] leftSamples, float[] rightSamples, int sampleRate)
{
var ii = Math.Min(leftSamples.Length, rightSamples.Length);
var c = new float[ii];
var l = new float[ii];
var r = new float[ii];
var sl = new float[ii];
var sr = new float[ii];
var lfe = new float[ii];

// Process center channel
for (var i = 0; i < ii; i++)
{
// Best to be as precise as possible.
c = (leftSamples * 0.35355339059327376220042218105242f) + (rightSamples * 0.35355339059327376220042218105242f);
}

So probably the % is wrong - the actual value to multiply L and R is actually 0,707 but as above programmer have identified, when you sum L + 0,7R you potential get someting that is clipping so in order to retain 0 dB, the multipliers should be scaled - for the center that it will be 0,35 instead of 0,707...

//
 
Last edited:
I never liked music in 5 channel with DPLII or Neo6 as I found the surrounds distracting and noisy. The noise was a combination of AVR noise and matrixed source noise (at least, it became noise-like with the processing). It was a suboptimal setup for the purpose, not timbre matched all the way around, with surrounds more sensitive than LR, particularly in sibilance region. Perhaps more aggressive EQ could have improved my experience but it wasn't needed for native 5 channel movie content, so it wasn't implemented.

I did like DPLII Music Mode with LCR only, using the center spread setting around midway. The C channel is implicit in stereo while the surrounds are essentially artificial so there's a logic to LCR being a better experience than 5 channel.
 
Came across this thread and found it interesting. I absolutely love the results that DPLIIx provides in a 7.1 configuration and I listen to all my music in this manner. That is why I will probably never sell my processor. However, I do wish Jim Fosgate's family has opened the DPLIIx code to the open source community in his memory.

I'd love to be able to simply install DPLIIx on a Raspberry Pi such the input would be 2 channels via RCA and the matrixed output would be via HDMI to any processor. Is this possible?

I'm quite happy with it too. My only real grip is that it's hard to hide the cables.

As far as doing it DIY, some thoughts:

1) a friend of mine remixes movies, and he was probably the one that got me to be passionate about multichannel. He played me mixes where he'd done both the stereo mix AND the multichannel mix. So it was 'neat' that he could show how the same content can sound different depending on the mix, and whether people LIKE multichannel is very much a personal/subjective decision. I have PLII in my car and basically leave it on all the time; in my living room it's stereo, mostly because I can't easily hide the cables. (Side note: I just spaced out for ten minutes, trying to visualize how/where I could hide 8-10 speakers, and I just don't think it's possible in my living room.)

2) I am not aware of any open source or DIY surround sound software that's identical to commercial formats. I know there are some open source options online that claim to be ProLogic II. But I have my doubts, because the matrix of PL II is documented, but the steering isn't, as far as I know. And everything that I've heard from the experts says that it's the steering that really makes the difference.

My friend, who does this for a living, likes Penteo the best. In order to make it work in real time, he has quite an elaborate setup that basically routes two channel stereo through the Penteo plugin that's running on a dedicated PC, and then the PC produces five channels of output.

One of the things that I've had on my 'todo' list forever, is the idea of doing stem separation in real time. Basically, if you look at all those AI remixers that can replace one voice with another (like having Frank Sinatra sing a song by the Pixies), they start out by splitting the track into 'stems.' The stem separation software is fairly mature and it seems like it could be a heck of a solution for multichannel music. On the downside, you'd basically have to send the vocals to a center channel all the time, which might make some tracks sound weird. Conventional multichannel can still deal with vocalists that move between the left and right speaker (and the center speaker which is generated algorithmically) but stems can't do that. It basically spits out a mono track for vocals, a mono track for drums, a mono track for guitar, etc. You can also use stem software to just extract the vocals alone, and send it to the center channel, to get much better separation between the front three channels.
 
  • Like
Reactions: 1 user
Here is something interesting I found:-

https://vanceai.com/ai-lab/audio-upmix/

I read this post after I made this post: https://www.diyaudio.com/community/threads/diy-prologic-ii.308266/post-7650584

And what they're describing is exactly what I described at the end of the post. You don't need any special software to do it RIGHT NOW, all of the libraries have been open source for ages. Only real advantage of paying for the technology is that if you go the open source route, it's a bit of a pain in the A to install.

But if you're savvy enough to use git and bash, it's pretty easy to do it for free. Software is called "spleeter", or at least that was The Gold Standard the last time I looked. Voicify uses the same technology for their website.
 
  • Like
Reactions: 1 users
Sorry to bother you Patrick Bateman I got just one question to ask since your not on diy mobile audio no more I want your opinion on something I was thinking of putting a waveguide off axis in the kicks but with tweeters on axis from 3k to 5k on up would that work listening to the waveguide flat up against the kick panel horns are expensive and no one want to share plans so since some klipsch speakers are 3 ways so I thought that aiming the tweeters on axis or to the domelight and horns flat against the kick panel off axis, like that regal that played jbl components with a waveguide on tweeter would it work so I can start cutting or is it a lost cause, I just need this answered and I won't ask again but getting into unity and synergy horns so I got plenty info but if I don't understand I'll ask others on this forum, thanks in advance if you can but I understand if you can't
 
@Patrick Bateman - Thank you for the detailed and useful replies. Concerning DPLIIx, the fact that steering is not documented discourages me to learn git and bash in order to DIY. That is why I continue to use my old pre/pro which features DPLIIx and love listening to music in my theatre room. Like you, I listen vis stereo in the living room as incorporating more speakers (7.1) is nto feasible. Even if it was, it's hard to get a dedicated outboard box that features DPLIIx.

I have a few questions for you and your friend may be the right guy o ask:-

1. Have you been able to compare DPLII and DPLIIx in a 5.1 and 7.1 environments?
2. Have you had the privilege of comparing DPLIIx and the current version of DSU?

DSU has been designed to work with Atmos but I'm not sure how much of a difference that makes to the overall experience.

I did not like DSU when I first used it to listen to music but I'm told it has been improved over the years.

I'm wondering if DSU is as good as DPLIIx in it's current updated version regardless of it's ability to use overhead speakers?

I do wish Jim Fosgate's family would donate the entire DPLIIx source code (including steering) to the open source community in his memory. Alternatively, I wish a group of music lovers who are coders would initiate such a project using AI and the Stemming approach.
 
Last edited:
I've not heard the latest implementation of DSU and am wondering if it is as good as DPLIIx in a 7.1 configuration. Of course, in an Atmos configuration, DSU would have the upper hand as it uses the height channels but even then, I'm not sure if it is as good as DPLIIx.
 
I think you can achieve a five channel soundstage using software, and it will exceed the quality of what my Lexicon Logic 7 is doing. For instance, Gary Summers has played me some tracks that he's upmixed on his computer, and they sound light years better than what my Logic 7 does.

Hi Patrick, your post highlighted above is really interesting and I have been searching for something like this for a long time because I knew it's possible to achieve. I've never heard Logic 7 in action but some claimed that is was pretty close to DPLIIx. However, from the explanation of your experience, it seems what you heard at Gary's place up-mixed by him was far superior to both Logic 7 and DPLIIx.

Was each song mixed individually by him after the application of spleeter or was he playing the songs via a pre-built CODEC that uses AI?. In other words, any 2 channel music could be played via the AI based CODEC in realtime and would sound fantastic?

Your input will be appreciated.