Welcome, Guest
Username: Password: Remember me
NOTE: This forum is community powered. Please be mindful that long time community members are here to help as part of a community effort. If you have a specific issue (e.g. hardware, failure), please use our tech support portal (Support menu - > Contact Us). Thanks a lot of your help in making a better community. :-)

TOPIC: Real-time Stereo to 4.0 Upmix with DDRC-88BM

Real-time Stereo to 4.0 Upmix with DDRC-88BM 2 months 6 days ago #39638

  • Wanderer
  • Wanderer's Avatar
  • Offline
  • Junior Boarder
  • Posts: 20
  • Thank you received: 16
  • Karma: 5
Hello fellow community members and dear devteam!

In this post I would like to share a simple hardware implementation of stereo-to-quad-channel conversion using DDRC-88A or DDRC-88D with the BM plugin.

The suggested upmixing matrix will be as follows:

Front Left = Left
Front Right = Right
Surround Left = 0.71 * (Left - 0.5 * Right)
Surround Right = 0.71 * (Right - 0.5 * Left)

Coefficients can be adjusted to your preference. The above values work well for me and should make a good starting point.

Since all mixing must be done before Dirac, we can only use LFE Mgt and Routing tabs to generate surround channels. Fortunately, these tabs provide everything necessary for the task, if copies of Left and Right signals are present on another two inputs of the device. Some ways of copying the signals are:

a) configure the source/transport device to duplicate L and R signals on another pair of outputs connected to the DDRC,
b) use an Y-adapter to connect one cable to multiple inputs of the DDRC (for example, this one will work with DDRC-88A or the S/PDIF version of DDRC-88D),
c) create unfiltered L and R signals on separate outputs of the DDRC and loop them back into a free pair of inputs (note: Master Volume will affect input level in this case).

Once we get past this tricky part, the rest is quite straightforward.

In the LFE Mgt tab, we invert the copies of L and R by putting a custom biquad instead of HPF:

Warning: Spoiler! [ Click to expand ]

In the Routing tab, we mix L with inverted R, and R with inverted L, into the respective surround channels:

Warning: Spoiler! [ Click to expand ]

Done! The result will be sent through Dirac to your speaker system just like any multichannel audio.

A few notes about this solution:

1. The suggested upmix scheme includes no delays or phase shifts, therefore stereo imaging is not substantially modified. The result will seem very close to the original unless you turn your head or move around a bit. Still, even at a fixed listening position, you may notice that reverberation tends to sound more natural after upmixing, and front speakers seem to be a bit wider or further than they really are (depending on mid/side balance in the material). I personally prefer this subtle kind of processing over Dolby PL or other algorithms. However, if your taste is different, have a look at note 3 below.

2. Depending on your configuration of filters, crossovers, delays, speakers, room and listening position, some attenuation may occur in the bass region after upmixing due to cancellation between front and rear. I’ve corrected this by sending low-passed L and R signal copies to the LFE channel at -15 dB, but other solutions are possible (increasing subs volume, high-passing or delaying rear channels, etc.) or none may be required.

3. The matrix can be expanded to 5.0 or 5.1 channels. All mixing is still done in the Routing tab, but additional high- and low-pass filters have to be applied in the Outputs tab.

5.0 matrix example:

Front Left = Left - 0.71 * Right
Front Right = Right - 0.71 * Left
Center = 0.5 * (Left + Right) with a high-pass filter
Surround Left = 0.71 * (Left - 0.5 * Right)
Surround Right = 0.71 * (Right - 0.5 * Left)

Warning: Spoiler! [ Click to expand ]

Although the sound stage will be all messed up, this scheme allows to control "spaciousness" of the sound by adjusting the ratio between center and L/R components. The center will be out of phase due to IIR highpass, but this can probably be fixed with APFs.

5.1 matrix example:

LFE = 0.5 * (Left + Right) with a low-pass filter
Other channels = same as above but with a high-pass filter

Of course one can experiment with filter settings, mixing coefficients, delays, etc. in search for the optimal setup.

That’s it for now. I hope someone finds this post useful and look forward to any feedback.
Last Edit: 2 months 5 days ago by Wanderer.
The administrator has disabled public write access.
The following user(s) said Thank You: devteam, DownUnderGaza

Real-time Stereo to 4.0 Upmix with DDRC-88BM 2 months 2 days ago #39702

  • devteam
  • devteam's Avatar
  • Online
  • Administrator
  • Posts: 8115
  • Thank you received: 952
  • Karma: 150
Woww... This is a cool idea! Definitely worth a sticky... :-)
Isn't Dolby PL now out of its patent and can freely become implemented?

I wonder if it's a trick investigating for making a little button (miniLOGIC ;-) that would easily enable that upmixing inside the matrix.

Anyway, thanks for the great tip! We very much look forward to hearing more!

DevTeam
MiniDSP, building a DIY DSP community one board at a time.
Last Edit: 2 months 2 days ago by devteam.
The administrator has disabled public write access.
The following user(s) said Thank You: DownUnderGaza, Wanderer

Real-time Stereo to 4.0 Upmix with DDRC-88BM 1 month 2 weeks ago #39914

  • DownUnderGaza
  • DownUnderGaza's Avatar
  • Offline
  • Junior Boarder
  • Posts: 23
  • Thank you received: 4
  • Karma: 0
I'd definitely be interested in buying a Dolby Pro-Logic plugin for the Dirac Series (including 2x4 and SHD) if it was made available.

A 4.0 mix would be fine for me, with phase correction I find I don't need a centre channel, but having a SL and SR output would be a very nice option to have.
The administrator has disabled public write access.
Moderators: devteam
Time to create page: 0.104 seconds