Help - Search - Members - Calendar
Full Version: Channel Mixer (foo_channel_mixer)
Hydrogenaudio Forums > Hosted Forums > foobar2000 > 3rd Party Plugins - (fb2k)
Pages: 1, 2, 3, 4, 5, 6, 7, 8
MrKazador
Exactly what I was looking for...A matrix mixer.
Chaser
Don't know, if I did it right. This is how I set the plugin up for my 5.1 Teufel Magnum M. It seems to work nicely.

IPB Image
skipyrich
2Chaser
If you wish to get a "surround" effect, your setup should be changed like this:
CODE

| BL | 2     | -1.6  |
| BR | -1.6  | 2     |

-1.6 gives "soft" surround, -2.0 - "full".
bertox
OH YEAAHHH!!!! You are a jewel!!!!!! Thank you very much!!!!!

JUAJUAJUAJUAJUA biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif

-----------------------------------------------

Now...could you add some functions??
- presets managing

And, automatic bypassing if stereo source play...but...i think this actually implemented. don't?? If don´t add plleeaasseee.biggrin.gif

Bye. Greetings. Víctor, from Argentina (in the dark side of the earth)
skipyrich
QUOTE(bertox @ Jan 28 2008, 21:16) *

OH YEAAHHH!!!! You are a jewel!!!!!! Thank you very much!!!!!

You're welcome smile.gif

QUOTE(bertox @ Jan 28 2008, 21:16) *

Now...could you add some functions??
- presets managing

While config is simple you may use foobar's builtin preset system.

QUOTE(bertox @ Jan 28 2008, 21:16) *

And, automatic bypassing if stereo source play...but...i think this actually implemented. don't?? If don´t add plleeaasseee.biggrin.gif

If you setup such matrix:
CODE
   |FL    FR    FC    LFE   BL    BR
---+-----------------------------------
FL |0.369       0.261 0     0.369
FR |      0.369 0.261 0           0.369

then for 5-channels source it will downmix to 2 channels, but for 2-channels source the matrix will be truncated at runtime to:
CODE
   |FL    FR
---+-----------
FL |0.369
FR |      0.369

then normalized to:
CODE
   |FL    FR
---+-----------
FL |1
FR |      1

So it may be called "automatic bypassing" smile.gif
bertox
Some things...

I'm doing some probes with SoundForge...

No matter the number putting in the matrix boxes i always obtain -12db in all channels when doing 5.1 to stereo downmixing.

Why????????????

Please explain to me.
skipyrich
2bertox
Matrix normalization in action smile.gif
CODE
   |FL    FR    FC    LFE   BL    BR
---+-----------------------------------
FL |1     0     0     0     1     0
FR |0     1     0     0     0     1

Such matrix will be normalized to:
CODE
   |FL    FR    FC    LFE   BL    BR
---+-----------------------------------
FL |0.5   0     0     0     0.5   0
FR |0     0.5   0     0     0     0.5

This behaviour is perfectly normal. Why? Imagine that FL & BL channels has full amplitude at the same point. Without normalization the left channel will have double amplitude and will be clipped.
bertox
OK...but...Why i can´t manage this levels at my own taste??

I SAY: "No matter the number putting in the matrix boxes".

What are these boxes if no matter what number putt inside nothing changes at all??????

Understand me??
skipyrich
2bertox:
Because of matrix normalization it is no matter how big the numbers in the boxes, the only thing is important - their ratios. My English is not perfect, so I can't explain this thing in details.

PS. Preferences -> Playback -> Preamp. Grow up both sliders to the right if you like distorted sound.
AlleyMan
Very interesting plugin. Thank you very much.

I'm not the most well versed with matrix math so can someone help me duplicate the Dolby Prologic II matrix to upconvert 2.0 to 5.1 (I want to use this plugin with Dolby Headphone).
bertox
2skipyrich:

OK. OK. I REALLY know this. But...-12db??? Is too much down unnecessarily!!!

With -9db or -8db is very fine mix without clipping at all....please...

Do you understand my point??

At this instance i'll prefer de "old" Channel_mixer which have -9.5db in 5.1 to 2.0 downmixing at least.

And i don't like distorted sound...please...this is not very funny___...

I hope you'll ndrstnd me...

---------------------------

And... AlleyMan, here is a post who may help to your ProLogic II matrixing: http://forum.doom9.org/showthread.php?p=1005866#post1005866

BYe.
Hancoque
@bertox: A clipping-proof matrix requires that the maximum possible sum of the amplitudes of all channels per row is not greater than 1.

CODE
   |FL    FR    FC    LFE   BL    BR   |SUM
---+-----------------------------------+---
FL |1           0.707 0     1          |2.707
FR |      1     0.707 0           1    |2.707

Dividing by the sum results in the normalized matrix:

FL, FR, BL, BR: 1 / 2.707 = 0.369
FC: 0.707 / 2.707 = 0.261
LFE: 0 / 2.707 = 0

   |FL    FR    FC    LFE   BL    BR   |SUM
---+-----------------------------------+---
FL |0.369       0.261 0     0.369      |1
FR |      0.369 0.261 0           0.369|1

Dividing by 2.707 is like multiplying by 0.369 which equals an attenuation of 8.659 dB. But it is quite possible that a sum of 1 will not be reached in a practical case. That might give you the impression that the attenuation is greater than necessary. But in fact it isn't.
randal1013
i've been looking at the matrix mixer. at first i didn't quite understand it, but now i get how it works. very nice.
bertox
@Hancoque:

I KNOW ALL THIS STUFF.

This is not an "impression" of me. really. I probe this like a concrete fact in SoundForge.
There is -12db attenuate in Matrix Mixer DSP. First fact.
There is -9.5db (with LFE controller in 0.33 too. < -9.6db >) attenuate in Channel_Mixer DSP. Second fact.

Why this difference...??? only god knows...

All talking about downmixing to stereo obviously...
skipyrich
Thanks, Hancoque!

2bertox:
Do the test. Add location tone://1000 to playlist, set "Repeat track" playback order. Set 0dB preamp. Clear DSP chain. Add Channel Mixer at the top of DSP chain. Setup Channel Mixer to upmix to 6 channels with all sliders set to 1, center to 2.
Start playback, control the levels. It should be about 0dB.
BTW, to control the output levels I recommend foo_uie_peakmeter.
Add Matrix Mixer to the DSP chain with the following setup:
CODE
   |FL    FR    FC    LFE   BL    BR
---+-----------------------------------+---
FL |1     1     1     1     1     1
FR |1     1     1     1     1     1

Check the output level. Should be the same ~0dB. Is not it?
Remove '1's from BR column. Check the output level. ~0dB again.
Remove '1's from BL column. Check the output level. ~0dB again.
....... and again, and again.

Six bottles of beer can't be placed to a single bottle smile.gif
Hancoque
The subwoofer channel must also be activated in the subwoofer tab. I just did the test and the output channels always peak at 0 dB. So it works absolutely as it should.
bertox
@skipyrich:

I don't know where you going...

Perhaps i like to read fact conclusions and not funny says (Six bottles...)

What's has to do your words with the real attenuate difference in two plugins (-12db against -9.5db)?

Explain more please.

And thank you for notice me of the foo_uie_peakmeter plugin, which is usefull to me.biggrin.gif
skipyrich
Matrix Mixer 0.2

Changes (+: added, *: fixed):
  • + Some performance optimizations.
  • * Incorrectly calculated normalization factor in some rare cases.
  • * Pressing OK does not apply matrix.

http://skipyrich.com/store/foo_dsp_mm.7z

2bertox
It is "feature" of the Channel Mixer. Here is the pseudocode for downmix 6->2:
L = (FL+BL*downmix_rear+FC*downmix_center)/3+LFE*downmix_sub
R = (FR+BR*downmix_rear+FC*downmix_center)/3+LFE*downmix_sub
Channel Mixer don't do normalizing, so it is your responsibility to properly setup the plugin.
bertox
@skipyrich:

Ok. ("is your responsibility to properly setup the plugin.") but the Channel Mixer don't offer a control to level front channels, only rears, center and LFE.
Now i repeat my old request to you: could you add a controller for the fronts too? biggrin.gif

Thanks for the new Matrix Mixer (0.2) and all your works.
skipyrich
2bertox: You have persuaded me. smile.gif

Version: 0.9.6.4
Changes:
+ added front volume control to the downmix page

http://skipyrich.com/store/foo_channel_mixer.7z
bertox
oh yeah baby!!! biggrin.gif

I can clip all channels together now and break off my soundcard, my amplifier, my speakers and my ears at same time and blown my brain. Yeeaaahh!!!!!!!!!!!!!

Juajuajuajajarajakaka.biggrin.gif

This is the perfect plugin now. well...he doesn't Pizza for me...but it's ok.


You just add the Matrix plugin to the Channel Mixer and he becomes in greatest history mixing plugin.


Good luck and sweet dreams (you work hard...)
eliazu
this is my favorite components of foobar!!

a question,
does anybody know about alternatives of this components in other Audio Players in Linux? any player?
i would use foobar with WINE but it makes problems with Hebrew Characters.
Chaser
QUOTE(skipyrich @ Jan 29 2008, 04:34) *

Channel Mixer don't do normalizing, so it is your responsibility to properly setup the plugin.



Thank you for your further improvements on this component. Could you please say a little more on the topic of normalizing and what the end-user has to do, in order to do it right?
skipyrich
2Chaser:
QUOTE(Hancoque)
A clipping-proof matrix requires that the maximum possible sum of the amplitudes of all channels per row is not greater than 1.

I don't know what to add to these words.

Ah, yes, I know!
Switch to the MM and forget the CM as a nightmare smile.gif
I will add missing features to the MM soon, as soon as I complete my own grid control... rolleyes.gif
bertox
mmmmm. I don't forget the Channel Mixer Dsp at all.

Actually i like this plugin which let you setup downmixing without matrix auto normalization.

The last version (0.9.6.4)....is the one.biggrin.gif

Or... could you add an option to disable auto normalization in MM like AC3Filter (the directshow & winamp plugin) has??

Thinkin'...mmm..your plugins are becoming more and more similar to AC3Filter...if you sum both of them in one strongest dsp. Which is good...; and for Foobar.....which is very very good. biggrin.gif

Thinkin', Thinkin'....
MrKazador
An option to disable normalization in Matrix Mixer would be great. Keep up the good work!
Chaser
I thought the user has not to take care of the normalization. If the sum is 2.7 (like in your example) your plugin will divide each cell by 2.7.

Is this correct?
What is the effect of a negative value?
bertox
Negative values means phase shifting....i'm correct??
skipyrich
QUOTE(Chaser)
If the sum is 2.7 (like in your example) your plugin will divide each cell by 2.7. Is this correct?

Yes, it is.
QUOTE(Chaser)
What is the effect of a negative value?

"Sum" is the sum of absolute values, i.e. abs(-1)+abs(1)=2

QUOTE(bertox)
Negative values means phase shifting....i'm correct??

Slightly inexact. Phase will be shifted by 180 degrees, i.e. inverted.
bertox
"Phase will be shifted by 180 degrees, i.e. inverted". I know. This is i try to say. The word are: inverted.
Chaser
AlleyMan gave a link to a Wikipedia-article on Dolby Pro Logic II matrices. This is currently not realisible with your plugin due to shifts of 90° is not possible, is it?

This is not of much intereset to me - I'm asking just out of curiosity.
bertox
"shifts of 90°" ....mmmm...i think some like this don't exist..

You are a good reader Chaser??

You can only inverting (180°) a phase. Which means inverts the amplitude of a wave signal. Changes its "polarity" (- or +).

You can probe this in SoundForge which shows you a graphical mode of a sound wave.smile.gif
AlleyMan
QUOTE(Chaser @ Jan 30 2008, 14:20) *

AlleyMan gave a link to a Wikipedia-article on Dolby Pro Logic II matrices. This is currently not realisible with your plugin due to shifts of 90° is not possible, is it?

This is not of much intereset to me - I'm asking just out of curiosity.


I realized the same drawback but thought maybe, just maybe, it was possible using some smart values. Doesn't matter anymore as I found an actual Prologic II wrapper for foobar (though it sounds worse than channel mixer to my ears).
bertox
You better want to understand this: Dolby Pro Logic II isn't for stereo listening, its decoding works only for re-construct a multichannel system (5.1) from an stereo source . Dolby Pro Logic II is only for multispeaker listening.

Means: Dolby Pro Logic II sounds terribly bad in 2.0...without decoding to 5.1.

I don't like to hear music with phase shifting.biggrin.gif
AlleyMan
And you better want to understand this: 2.0 -(channel mixer/prologic)-> 5.1 -(Dolby Headphone)-> 2.0 (As Ive said in my original post that I want to use this with the Dolby Headphone plugin).
bertox
OK.
I don't understand what you doing this "2.0 -(channel mixer/prologic)-> 5.1 -(Dolby Headphone)-> 2.0". There is some kind of probe?

Before you did this "chain" of plugins, you did a stereo ProLogic II downmixing from an 5.1 source?
In this case, what you intend to gain with this kind of deform over the sound???

I'm asking just out of curiosity.smile.gif
AlleyMan
No, I have a pure 2.0 source. Dolby Headphone is a plugin to mimic room reverb but works best with a 5.1 source rather than a 2.0 source. Thus I needed to upconvert my 2.0 to 5.1 using either Channel mixer/Marix Mixer/Prologic.
bertox
And why Prologic if you have a pure 2.0 source?

To doing upmix you should use Channel mixer, Matrix Mixer,...ATSurround plugin maybe.

And for reverbs you can use Vst plugins.
Hancoque
I find V.I to be the best plugin to upmix stereo to 5.1. I've analyzed it a bit (default settings):
  • FL and FR are left unaltered.
  • FC is a simple 50/50 mix of FL and FR with an attenuation of 4.5 dB
  • The real magic is in the rear channels. The plugin does a tremendous job of extracting just the right portions of the FL/FR channels without producing any strange artifacts.
Usage instructions can be found in the Dolby Headphone thread.
AlleyMan
I tried VI, but both the VST host plugins available for foobar dont output 6 channels. I confirmed this on my install by using the converter with the only the VI DSP enabled and opening up the resultant wave file in audacity (came out stereo).

Could you kindly do the same test too? I'd like to know if its just me.
bertox
The Vst wrappers for Foobar are only stereo.

Now, you can put reverb before convert the stereo signal to 5.1...
Hancoque
No, 5.1 output works fine with foo_dsp_vst. But (like described in the DH thread) you first have to create a six channel input by using Channel Mixer (6 channels, Upmix off). V.I then fills the added empty channels with its data.

Here's a screenshot as proof. wink.gif
Chaser
QUOTE(bertox @ Jan 30 2008, 23:05) *

"shifts of 90°" ....mmmm...i think some like this don't exist..

You are a good reader Chaser??

You can only inverting (180°) a phase. Which means inverts the amplitude of a wave signal. Changes its "polarity" (- or +).

You can probe this in SoundForge which shows you a graphical mode of a sound wave.smile.gif



bertox, in fact I have some knowledge on how wave signals can be described. That's why it is mathematical possible to shift the wave by whatever amount of degress you like. A shift by pi is for example 180°. If you have a sinus-wave the amplitude is inverted. If you shift a sinus bei 90° the output depends "where" on the sinus you currently are.

May be you should have a look on this article: http://en.wikipedia.org/wiki/Phase_%28waves%29
AlleyMan
QUOTE(Hancoque @ Jan 31 2008, 07:39) *

No, 5.1 output works fine with foo_dsp_vst. But (like described in the DH thread) you first have to create a six channel input by using Channel Mixer (6 channels, Upmix off). V.I then fills the added empty channels with its data.

Here's a screenshot as proof. wink.gif


Aha...thanks for that. If that trick was mentioned somewhere in the DH thread I obviously overlooked it. Now to get this thread back on track. Sorry for the hi-jack.
bertox
@Chaser:

Really i don't like fighting with you to see who has more knowledge of physics and mathematics on phase shifting....i'm not this kind of person...

BTW, I'm just saying that who works with audio (like me) only knows two ways of phase shifting: positive or negative.

I really don't believe that the working audio applications, for music...not for scientific, use other phase shifting styles at all.

And...i don't see a place in ANY Matrix Mixer software for doing "strange" phase shifting.

smile.gif
byterhythm
Why can't I change foobar's volume if this component is active?
Chaser
bertox, I didn't want to start an arguement. I don't konw much about audio-editing. What I wrote was just, what I know on the topic from a math point of view.
bertox
ok. And i asummed that in this forum only talks about audio...and not physical or mathematical possibilities. biggrin.gif

@byterhythm:

What version of Foobar you have?? I have the last and working without problems.

Try uninstall and re-install.

Greetngs.
skipyrich
QUOTE(Chaser)
AlleyMan gave a link to a Wikipedia-article on Dolby Pro Logic II matrices. This is currently not realisible with your plugin due to shifts of 90° is not possible, is it?

Neither CM nor MM can't do this. AFAIK (mmm... as far as Google know rolleyes.gif ), to shift phase by +-90° it is necessary to apply Hilbert transform, which use FFT, but I don't like FFT smile.gif

QUOTE(byterhythm)
Why can't I change foobar's volume if this component is active?

blink.gif It's very-very strange. Please tell more about the problem - what steps to reproduce this bug.

QUOTE(bertox)
ok. And i asummed that in this forum only talks about audio...and not physical or mathematical possibilities.

IMHO, some theory would not be superfluous. For example, I'm not DSP professional, it is my hobby, and some kind of maths is too difficult to me. smile.gif
eliazu
QUOTE(Hancoque @ Jan 31 2008, 07:13) *

I find V.I to be the best plugin to upmix stereo to 5.1. I've analyzed it a bit (default settings):
  • FL and FR are left unaltered.
  • FC is a simple 50/50 mix of FL and FR with an attenuation of 4.5 dB
  • The real magic is in the rear channels. The plugin does a tremendous job of extracting just the right portions of the FL/FR channels without producing any strange artifacts.
Usage instructions can be found in the Dolby Headphone thread.


OMG it's sounds perfect! exactly what i was looking for! thanx!!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.