Channel Mixer (foo_channel_mixer) |
![]() ![]() |
Channel Mixer (foo_channel_mixer) |
Oct 4 2009, 16:38
Post
#401
|
|
|
Group: Members Posts: 51 Joined: 30-August 04 Member No.: 16650 |
QUOTE (year98 @ Jun 3 2005, 09:46 PM) General->Output channels: 6 Upmix->Mode: Off Subwoofer->Use subwoofer: check Subwoofer->Bass redirection: check Enjoy What would I set this to for 4.1? I'm curious too |
|
|
|
Oct 4 2009, 19:47
Post
#402
|
|
![]() Group: Members Posts: 206 Joined: 28-April 04 Member No.: 13769 |
Save this code to xml file then import it into CM profiles.
CODE <profiles version="2"> <profile name="4.1"> <param name="channels" value="6" /> <param name="stereobase" value="100" /> <param name="upmix_mode" value="2" /> <param name="upmix_rif" value="70" /> <param name="upmix_fir" value="30" /> <param name="upmix_rear" value="130" /> <param name="upmix_center" value="75" /> <param name="upmix_invrear" value="0" /> <param name="upmix_rear_low_use" value="0" /> <param name="upmix_rear_low_freq" value="100" /> <param name="upmix_rear_low" value="100" /> <param name="downmix_mode" value="1" /> <param name="downmix_sub" value="100" /> <param name="downmix_rear" value="100" /> <param name="downmix_center" value="100" /> <param name="sub_mode6" value="0" /> <param name="sub_use" value="1" /> <param name="sub_redir" value="1" /> <param name="sub_volume" value="100" /> <param name="sub_freq" value="100" /> <param name="sub_mix" value="100" /> <param name="sub_redirect_mode" value="0" /> <param name="delay_use" value="0" /> <param name="delay1" value="2000000" /> <param name="delay2" value="2000000" /> <param name="delay3" value="0" /> <param name="delay4" value="0" /> <param name="delay5" value="0" /> <param name="delay6" value="0" /> <param name="dist1" value="0" /> <param name="dist2" value="0" /> <param name="dist3" value="0" /> <param name="dist4" value="0" /> <param name="dist5" value="0" /> <param name="dist6" value="0" /> <param name="sound_speed" value="33000000" /> <param name="delay_use_dist" value="0" /> <param name="channels_l" value="1" /> <param name="channels_r" value="1" /> <param name="channels_c" value="0" /> <param name="channels_s" value="1" /> <param name="channels_rl" value="1" /> <param name="channels_rr" value="1" /> <param name="downmix_front" value="1" /> </profile> </profiles> -------------------- My English is very good!
...in comparison with my Korean language... |
|
|
|
Dec 13 2009, 03:21
Post
#403
|
|
|
Group: Members Posts: 15 Joined: 11-September 09 Member No.: 73083 |
Hey, thanks a lot for this plugin, I've been using it for a while - I like the output and configurability better than the PLII setting on my Z-5500s.
However, I think I've found a bug; take a look: ![]() Notice how the FL, FR, C and RL outputs all look similar while the RR channel is almost the exact opposite of the RL channel. I think by some kind of glitch the phase of the RR channel is getting inverted. I'm in upmix mode, 2->6 channels and "Invert Phase" is turned off in the settings (though that shouldn't cause any problems like this either way) and it's not just an issue with this song, I've noticed it many times before. Any thoughts? |
|
|
|
Dec 16 2009, 21:27
Post
#404
|
|
|
Group: Members Posts: 1 Joined: 16-December 09 Member No.: 76064 |
Hello, and thanks for this plugin, rather than describing the settings I am currently using. Could you please tell me what the correct settings for a setup running foobar connected to an onkyo tx8211 stereo receiver, I have 6 speakers connected to the receiver, 2 large fisher speakers in front to channel "A" and 2 small and 2 medium speakers connected to channel B. These speakers are placed throughout my basement weight lifting room and I really don't know what settings on the plugin to use because I'm not sure if this is still a stereo setup or a 6 speaker setup for configuration purposes. Any help is greatly appreciated, I am also using the equalizer on foobar, the noise sharpening plugin, crossfader, and noise remover. It sounds pretty good already playing FLAC files
this is not a surround receiver, which is why I thought this plugin is necessary. |
|
|
|
Dec 17 2009, 22:18
Post
#405
|
|
|
Group: Members Posts: 915 Joined: 22-October 01 From: the Netherlands Member No.: 335 |
I really don't know what settings on the plugin to use [..] You don't need this plugin at all, although you could set it to "2 channels" -------------------- In theory, there is no difference between theory and practice.
|
|
|
|
Jan 8 2010, 20:34
Post
#406
|
|
![]() Group: Members Posts: 38 Joined: 27-April 07 Member No.: 42942 |
What do the Bass-Redirection modes "change"? I've got mainly stereo sources and use a 5.1 system. What's the best option?
|
|
|
|
May 30 2010, 16:25
Post
#407
|
|
|
Group: Members Posts: 18 Joined: 15-May 10 Member No.: 80669 |
Three questions:
(1) If upmix mode is in "copy", why is there separate center and subwoofer volume levels if these are supposed to be just a raw left and right signals? (2) Do delays work even when the source is six channel? Or is the whole plugin bypassed? (3) I'm trying to upmix from stereo to 6 channels. What is the calculation for the subwoofer if you choose 'from all 5.1 sources'? I was hoping for a simple L+R calc. But if it forms the other 5 channels FIRST, to compute the sub channel, then it would be the sum of the following: FR+FL+RR+RL+C = R + L + (R-L)/2 + (L-R)/2 + (L+R)/2 (assuming FiR=0 and RiF=0) = (3R + 3L)/2 Which means I'd have to knock the amplitude down by 1/3. Or is this normalization already done? |
|
|
|
May 30 2010, 16:45
Post
#408
|
|
![]() Group: Members Posts: 206 Joined: 28-April 04 Member No.: 13769 |
(1) If upmix mode is in "copy", why is there separate center and subwoofer volume levels if these are supposed to be just a raw left and right signals? it allows to adjust balance between channels. (2) Do delays work even when the source is six channel? Or is the whole plugin bypassed? delays works always if enabled. it designed for compensate distance difference between channels in real installations, not for "effects" (3) ... I was hoping for a simple L+R calc. ... (L+R)/2, of course. -------------------- My English is very good!
...in comparison with my Korean language... |
|
|
|
May 31 2010, 16:09
Post
#409
|
|
|
Group: Members Posts: 18 Joined: 15-May 10 Member No.: 80669 |
(1) If upmix mode is in "copy", why is there separate center and subwoofer volume levels if these are supposed to be just a raw left and right signals? it allows to adjust balance between channels. (2) Do delays work even when the source is six channel? Or is the whole plugin bypassed? delays works always if enabled. it designed for compensate distance difference between channels in real installations, not for "effects" (3) ... I was hoping for a simple L+R calc. ... (L+R)/2, of course. Thanks! One more question. Is delay computed to the nearest sample, or do you interpolate the signal to achieve the exact delay? In other words, 1ms of delay at 44.1kHz would correspond to 44.1 samples. Do you delay by 44 samples instead, leaving the original waveform intact? |
|
|
|
May 31 2010, 16:58
Post
#410
|
|
![]() Group: Members Posts: 206 Joined: 28-April 04 Member No.: 13769 |
Interpolation would be too ponderous, with doubtful effect, so I had not considered its use at all. I prefer to resample all sources to 96kHz (PPHS) before any other processing (my sound card is 24/96 capable).
-------------------- My English is very good!
...in comparison with my Korean language... |
|
|
|
May 31 2010, 18:41
Post
#411
|
|
|
Group: Members Posts: 18 Joined: 15-May 10 Member No.: 80669 |
So what happens when I leave it at 44.1kHz and set the delay to 1ms? It rounds it off and delays it 44 samples (corresponding to 0.9977ms)?
I don't suppose there's any other benefit to upsampling, is there? I'm just using channel mixer for the delays and the L+R and L-R computations. I'm not using the filtering or any of that. I'd like to maintain signal purity if possible. |
|
|
|
May 31 2010, 19:19
Post
#412
|
|
![]() Group: Members Posts: 206 Joined: 28-April 04 Member No.: 13769 |
So what happens when I leave it at 44.1kHz and set the delay to 1ms? It rounds it off and delays it 44 samples (corresponding to 0.9977ms)? Yes, it is. I don't suppose there's any other benefit to upsampling, is there? I'm just using channel mixer for the delays and the L+R and L-R computations. I'm not using the filtering or any of that. I'd like to maintain signal purity if possible. There is another benefit for older Creative (or other) cards, that do not have a native 44.1 support. Professional cards do not require software resampling for good sound quality. -------------------- My English is very good!
...in comparison with my Korean language... |
|
|
|
Jun 5 2010, 19:13
Post
#413
|
|
|
Group: Members Posts: 18 Joined: 15-May 10 Member No.: 80669 |
Upon further testing, it appears there might be something wrong with this plugin.
In 6-channel mode, with upmix=surround, I expected the first two channels to be identical to the original two-channel waveform, as long as the RIF slider is set to zero. However, it is not. I can provide output files or screenshots of waveforms if needed. Please let me know what the problem could be or if I'm doing something wrong. Like I said, I can provide you with raw waveforms, screenshots of waveforms, screenshots of settings, etc. Thank you. |
|
|
|
Jun 5 2010, 19:28
Post
#414
|
|
![]() Group: Members Posts: 206 Joined: 28-April 04 Member No.: 13769 |
The computation is pretty simple:
OL = (IL-OBL*rif); OR = (IR-OBR*rif); so, if the RIF slider is set to zero, then output left is exactly indentical to input left. check your setup on another pages - subwoofer and delays. -------------------- My English is very good!
...in comparison with my Korean language... |
|
|
|
Jun 5 2010, 21:51
Post
#415
|
|
|
Group: Members Posts: 18 Joined: 15-May 10 Member No.: 80669 |
The computation is pretty simple: OL = (IL-OBL*rif); OR = (IR-OBR*rif); so, if the RIF slider is set to zero, then output left is exactly indentical to input left. check your setup on another pages - subwoofer and delays. orig.wav: http://tinyurl.com/25a26vc cm.wav: http://tinyurl.com/26on634 mm.wav: http://tinyurl.com/2cjtka8 I've uploaded three wav files (temporarily). The first, orig.wav, is the source wav. The second, cm.wav, is the output of channel mixer + matrix mixer (applied to remove the last four channels). The third, mm.wav, is the output of matrix mixer creating an L, R, L+R, L+R, L-R, and R-L channels. From an audible standpoint, you should be able to hear the difference between orig.wav and cm.wav. The waveforms are also different visually, as shown below (left channel shown only). ![]() I created these files by using foobar2000's wav converter. The settings for channel mixer were as follows: outputchannels = 6 upmix = surround RIF = 0 use subwoofer = checked subwoofer source = subwoofer channel use delay = checked (all delays were set to zero) Then it fed the matrix mixer DSP, which mapped FL->FL and FR->FR (zeros everywhere else). This produced a two-channel cm.wav for testing purposes. I produced mm.wav by replacing the channel mixer DSP with a matrix mixer DSP which mapped the following: FL = FL FR = FR C = 0.5*FL+0.5*FR LFE = 0.5*FL+0.5*FR BL = FL - FR BR = FR - FL (normalization was off) Then it kept only the first two channels by loading another instance of matrix mixer with FL->FL and FR->FR (zeros everywhere else). Please feel free to duplicate these results on your own machine using these settings. You'll find that the output from CM is not bitperfect, whereas the output from MM is bitperfect. |
|
|
|
Jun 5 2010, 22:07
Post
#416
|
|
|
Group: Members Posts: 18 Joined: 15-May 10 Member No.: 80669 |
One more thing...
I performed another test where I inserted channel mixer in between the two instances of matrix mixer that I used to create mm.wav. This time I left upmix = off but all the other settings the same (including time delay enabled but set to zero). It provided a bitperfect output. So the problem appears to be in the upmixing procedure itself. |
|
|
|
Jun 5 2010, 22:20
Post
#417
|
|
![]() Group: Members Posts: 206 Joined: 28-April 04 Member No.: 13769 |
my apologies, I didn't even touch CM for very long time
try to set RIF to 1.00, this should leave front channels unchanged -------------------- My English is very good!
...in comparison with my Korean language... |
|
|
|
Jun 5 2010, 22:24
Post
#418
|
|
|
Group: Members Posts: 18 Joined: 15-May 10 Member No.: 80669 |
Upon further inspection, it appears that the cm.wav file is composed of two (L+R)/2 signals. I thought the center channel signal was supposed to be confined to the 3rd and 4th channels?
|
|
|
|
Jun 5 2010, 22:31
Post
#419
|
|
![]() Group: Members Posts: 206 Joined: 28-April 04 Member No.: 13769 |
On such setup RIF works in the same way as "stereoimage width" slider.
-------------------- My English is very good!
...in comparison with my Korean language... |
|
|
|
Jun 5 2010, 22:31
Post
#420
|
|
|
Group: Members Posts: 18 Joined: 15-May 10 Member No.: 80669 |
|
|
|
|
Jun 5 2010, 23:28
Post
#421
|
|
![]() Group: Members Posts: 206 Joined: 28-April 04 Member No.: 13769 |
rif = 1.0-slider_rif
and then as described above, so this slider does slightly more work than simply mix channels fir works completely as expected: 0.0 means "nothing" -------------------- My English is very good!
...in comparison with my Korean language... |
|
|
|
Jun 13 2010, 05:35
Post
#422
|
|
|
Group: Members Posts: 1 Joined: 13-June 10 Member No.: 81453 |
Hi there,
I don't know too much about audio stuff, but I was just wondering what might be the best settings on these sliders to downmix 5.1 to 4 channel audio? I looked around to see if this question could be easily answered and promptly got confused by all of the settings =P Thanks so much for any help! This post has been edited by canopy500: Jun 13 2010, 05:36 |
|
|
|
Jun 1 2011, 12:27
Post
#423
|
|
|
Group: Members Posts: 9 Joined: 18-February 11 Member No.: 88291 |
I have a request if someone is still following this thread... I use this plugin for my CarPC and it works pretty damn well. Thanks for taking the time to develop it! Anyway, back to my suggestion..
Would there be a way to make the Up/Down arrows advance the delay (ms) by 0.1? Sudo: On keyPressUp ( curValue = curValue + 0.1) On keyPressDown ( curValue = curValue - 0.1) And also have it apply the changes so if I continue to hold the down key it will begin to increment the delay, apply, increment, apply... The reason I ask is when setting up time alignment in a vehicle I typically use pink noise and work with 2 speakers at a time (starting at the furthest speaker). As part of using pink noise you can sweep up in delay, and down in delay till you find the rough area, then slowly increment to lock in the 'dopler effect'. This method works well in a car environment because just raw measurements just don't take into account reflections. |
|
|
|
Jun 1 2011, 18:36
Post
#424
|
|
![]() Group: Members Posts: 206 Joined: 28-April 04 Member No.: 13769 |
-------------------- My English is very good!
...in comparison with my Korean language... |
|
|
|
Jun 1 2011, 19:25
Post
#425
|
|
|
Group: Members Posts: 9 Joined: 18-February 11 Member No.: 88291 |
WOW! You are awesome man. Thanks for the enhancement. Can't wait to try it out. |
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 19th June 2013 - 05:03 |