INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Multi-Channel Active Crossover Based System: Circumventing Exclusive Mode Issues  (Read 2817 times)

mccarty350

  • Recent member
  • *
  • Posts: 19

Description of my system:
1.  I'm utilizing MC29 on a PC (and 28 if and when needed) to map audio channels to different speaker drivers and to apply crossover slopes/gain while mixing to two active crossover speakers. 
2.  These speakers are 3 ways + bass management which consume a total of 8 channels, 4 per side.
3.  I am using a Behringer UMC1820 audio interface to kick out the 8 channels of audio to a multichannel amplifier.

Description of the Problem:
1.  I am unable to listen to music while hearing system sounds/games/other sources of audio on the system.
2.  I have at my disposal are the following drivers:
ASIO4ALL which operates in exclusive mode and only allows me to hear output from MC.
UMC ASIO Behringer provided driver which also operates in exclusive mode with the same issues.
OUT 1-10 [Kernel Streaming], OUT 1-10 (BEHRINGER UMC 1820) [WASAPI] which also operate in exclusive mode with the same issues.
OUT 1-10 (BEHRINGER UMC 1820) [Directsound] which in theory should allow shared mode and be the desired method (the only one that I can tell) but instead bombs out and tells me that I have the wrong output format.

So I'm going to focus on my settings and snippets of what occurs in directsound as that seems like the most likely route for a solution:
1.  Output set in JRiver to be OUT 1-10 (Behringer UMC 1820) [Directsound]
2.  Set the settings for the driver to include 'all channels' in JRiver.
3.  Set output channels to 10 channels to match direct sound settings.
4.  Set windows sound driver for OUT 1-10 to 96khz/24bit mode 10 channel.
5.  Check box for exclusive mode in windows set to 'unchecked' for OUT 1-10 to disable exclusive mode.
6. Resample all output in jriver to 96/24.
7.  Hit play....and I get the message (I'm out of attachments in this message):  Something went wrong with playback.  Details:  Playback could not be started on the output 'Direct Sound' using the format '96 khz 10ch'.  This output format may not be supported by your hardware.  You can use DSP Studio to change the output to a compatible format.  Also, make sure that your system has a valid sound playback device and that it's properly configured in playback options.

So at this stage what I really need is just 8 channels not 10 but the driver options in windows/directsound only show options for my audio interface that either reflect 2 or 10 channels. 

If I set up jriver to use 7.1 while keeping the windows driver set to 10 channels at the same 96/24 bitrates I get the exact same error.

If I drop the windows driver to 10 channel 16 bit/44.1khz redbook and match it in jriver with 10 channels I get the same error also.  Ditto if I drop it to 7.1.

All roads seem to lead to fail and having a system where I can't listen to music while I play a game or do something else is untenable.  What's going wrong with what I'm trying to accomplish with directsound?  Is there any other avenue I can take to accomplish this?

Logged

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4231

Surely you want system sounds processed by MC DSP?

If you want 8 channel output, why are you attempting to send 10 channels? Is there a use for those +2 channels or is it just because the driver refers to 1-10?
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72446
  • Where did I put my teeth?

Don't use Kernel Streaming or ASIO4All which is also Kernel Streaming.

Use WASAPI and uncheck Exclusive Mode.  Search for what it means.

Read this :
https://wiki.jriver.com/index.php/Audio_Setup
Logged

mccarty350

  • Recent member
  • *
  • Posts: 19

Surely you want system sounds processed by MC DSP?

If you want 8 channel output, why are you attempting to send 10 channels? Is there a use for those +2 channels or is it just because the driver refers to 1-10?

I do not because if I have system sounds processed by MC DSP using the WDM driver i.e. point my OS at WDM every time there is a system sound it will interrupt the music and replace it with the generic one track LPCM track that represents audio outside of MC.  That is exactly what I don't want to do.

I am attempting to send 10 channels to directsound because the windows directsound driver for my audio interface does not allow for 8 channels and I wanted to match the output exactly.  In the tail end of my message I note that I tried to represent it at 7.1 (8 channels) and it still bombed out regardless so I tried variations.  Does that make sense?
Logged

mccarty350

  • Recent member
  • *
  • Posts: 19

Don't use Kernel Streaming or ASIO4All which is also Kernel Streaming.

Use WASAPI and uncheck Exclusive Mode.  Search for what it means.

Read this :
https://wiki.jriver.com/index.php/Audio_Setup

Agreed, neither of those modes will get me my desired end state.  I assumed that if I want to use some sort of shared mode or mixer I'd have to be using directsound.  ASIO4ALL and the ASIO UMC driver supplied by Behringer work great for listening to music but they always are exclusive.  I wondered if unchecking exclusive mode with WASAPI would make a difference and let different sound sources play/mix at the same time.  When I try this however using both 7.1 and 10 channels it bombs out.  It even bombs out when I send WASAP 2 channels.  Thanks for the wiki, I'll consult that as well!

Logged

mccarty350

  • Recent member
  • *
  • Posts: 19

I do not because if I have system sounds processed by MC DSP using the WDM driver i.e. point my OS at WDM every time there is a system sound it will interrupt the music and replace it with the generic one track LPCM track that represents audio outside of MC.  That is exactly what I don't want to do.

I am attempting to send 10 channels to directsound because the windows directsound driver for my audio interface does not allow for 8 channels and I wanted to match the output exactly.  In the tail end of my message I note that I tried to represent it at 7.1 (8 channels) and it still bombed out regardless so I tried variations.  Does that make sense?

Upon mulling on this indeed, if the system sounds/games don't get piped through jriver their output won't be split out among the drivers of the active speaker.  So I'd have to send it through jriver but if I do the sound won't get mixed (as far as I've experienced) it will instead just overwrite the playlist in now playing with that generic LPCM track representing outside audio sent through the WDM driver.  If I'm wrong and there is a way around that I'd be SUPER pleased, please tell me I am wrong I so want to be.
Logged

dtc

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3119

Non-exclusive WASAPI will only output the sharing format specified in Windows setup. So, all formats need to be resampled to that format by MC.

Does 10 ch 96/24 direct sound Test mode work in Windows setup?
Logged

mccarty350

  • Recent member
  • *
  • Posts: 19

It sure does.  That's what flummoxes me.  I can get a test tone (as shown below) in 10 channel 96/24 but playing anything to it bombs out.  WASAPI or DirectSound.  I've even tried sending two channels and it bombs out.
Logged

dtc

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3119

What does Audio Path show for output?
Logged

mccarty350

  • Recent member
  • *
  • Posts: 19

What does Audio Path show for output?

It won't allow me to play anything so audiopath is blank with no data.  Hitting play immediately produces the message where it bombs out.

I have been unsuccessful in playing anything to directsound or wasapi to the Behringer 1-10 output driver in windows.  Literally 2 channels, 5.1, 7.1, stereo with 8 extra channels, 10 channel, etc. they all bomb out using either method.  The only thing that produces sound is the test from the operating system in the driver.
Logged

mccarty350

  • Recent member
  • *
  • Posts: 19

What does Audio Path show for output?

Update:  Backed the Behringer UMC1820 driver down from 5.30 to 5.12.

I can now send 10 channel output to the WASAPI driver.  I have exclusive mode unchecked, etc.  I am able to listen to music while playing a test tone through the Windows driver Test button and am able to hear the tone in parallel with the music.  However, when I play music and then play a Youtube video I am unable to hear the video so I need to determine what I need to point my default sound card at to hear the system sounds.  Output of audiopath while playing using WASAPI:

Logged

dtc

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3119

Good progress. Have you tried DirectSound with the old driver?
Logged

mccarty350

  • Recent member
  • *
  • Posts: 19

Good progress. Have you tried DirectSound with the old driver?

I did.  Unfortunately DirectSound behaves exactly the same.
Logged

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4231

I can now send 10 channel output to the WASAPI driver.  I have exclusive mode unchecked, etc.  I am able to listen to music while playing a test tone through the Windows driver Test button and am able to hear the tone in parallel with the music.  However, when I play music and then play a Youtube video I am unable to hear the video so I need to determine what I need to point my default sound card at to hear the system sounds.  Output of audiopath while playing using WASAPI:
assuming you mean route system sounds through jriver then you need to use https://wiki.jriver.com/index.php/WDM_Driver which means the flow goes windows app -> default driver (JRiver WDM) -> MC -> DSP -> UMC1820
Logged

mccarty350

  • Recent member
  • *
  • Posts: 19

assuming you mean route system sounds through jriver then you need to use https://wiki.jriver.com/index.php/WDM_Driver which means the flow goes windows app -> default driver (JRiver WDM) -> MC -> DSP -> UMC1820

Your assumption is correct, however if and when I take that path (I've used WDM pretty extensively in the past) it will interrupt the music playing and then just play systems sounds as it replaces my track list with the (is it IPM?) IPC streaming track placeholder.  That's been the primary driver, to be able to listen to music while doing other things. 
Logged

dtc

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3119

I just changed my MC output device (Default) to WASAPI non-exclusive and played music and then started YouTube from Windows playing to (Default). It mixed the two sounds.  I just had to be sure that the output sample rate of MC is set to the same as the shared mode output sample rate in Windows.  The output is 2 channel only.

I would suggest you try the same with a device other than Behringer. If it works for you like it does for me, then that would point back to the Behringer setup or driver.
Logged

mccarty350

  • Recent member
  • *
  • Posts: 19

I just changed my MC output device (Default) to WASAPI non-exclusive and played music and then started YouTube from Windows playing to (Default). It mixed the two sounds.  I just had to be sure that the output sample rate of MC is set to the same as the shared mode output sample rate in Windows.  The output is 2 channel only.

I would suggest you try the same with a device other than Behringer. If it works for you like it does for me, then that would point back to the Behringer setup or driver.

If I were to do this then the operating system is not going to send the sounds to be broken over the drivers in the active crossover as this is accomplished in jriver and basically those sounds would at random come out of only one driver bypassing the jriver settings.  And if that device happened to be a tweeter because those were the two channels that somehow were mapped it would send full range sounds to the tweeter.  Is my logic accurate?  Either way doing it that way would no longer go through the active crossover and only come out as partial sound from one pair of drivers correct?
Logged

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4231

it will instead just overwrite the playlist in now playing with that generic LPCM track representing outside audio sent through the WDM driver.  If I'm wrong and there is a way around that I'd be SUPER pleased, please tell me I am wrong I so want to be.

Your assumption is correct, however if and when I take that path (I've used WDM pretty extensively in the past) it will interrupt the music playing and then just play systems sounds as it replaces my track list with the (is it IPM?) IPC streaming track placeholder.  That's been the primary driver, to be able to listen to music while doing other things.
I'm not aware of any capability in MC to mix multiple source into one output so I think your only option is to have 2 zones as described in https://wiki.jriver.com/index.php/WDM_Driver#Problems_With_Streaming_Video_Using_Media_Center.27s_Internal_Browser_and.2For_Erasing_Playing_Now

this should mean you avoid losing the contents of your current playing now while also not frying any tweeters
Logged

dtc

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3119

If I were to do this then the operating system is not going to send the sounds to be broken over the drivers in the active crossover as this is accomplished in jriver and basically those sounds would at random come out of only one driver bypassing the jriver settings.  And if that device happened to be a tweeter because those were the two channels that somehow were mapped it would send full range sounds to the tweeter.  Is my logic accurate?  Either way doing it that way would no longer go through the active crossover and only come out as partial sound from one pair of drivers correct?

I guess is depends on whether Windows only sends 2 channel input to two specific channels (1 and 2)  for the Behringer and how you are using channels 1 and 2.  Multi-channel would certainly be a problem.  The options Matt points to may work, but some people have reported problems getting them to work.
Logged

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4231

another alternative, which I've never used myself, might be to use https://vb-audio.com/Voicemeeter/Voicemeeter_UserManual.pdf as a mixer and let both IPC zones play concurrently to separate virtual audio devices which are mixed in voicemeter into a single output which goes to the physical hardware
Logged

mccarty350

  • Recent member
  • *
  • Posts: 19

I'm not aware of any capability in MC to mix multiple source into one output so I think your only option is to have 2 zones as described in https://wiki.jriver.com/index.php/WDM_Driver#Problems_With_Streaming_Video_Using_Media_Center.27s_Internal_Browser_and.2For_Erasing_Playing_Now

this should mean you avoid losing the contents of your current playing now while also not frying any tweeters

Thank you.  Work got busy so I went 'dark' for a while.  I will read that article and report back on how that works out.  I really want to state that this is why I buy every version of jriver and will continue to do so.  The concierge level support of the support team and community is unmatched.  It's also great to fight through something I know others will have to deal with so that we can come up with some general templated solution or course of action.
Logged

mccarty350

  • Recent member
  • *
  • Posts: 19

another alternative, which I've never used myself, might be to use https://vb-audio.com/Voicemeeter/Voicemeeter_UserManual.pdf as a mixer and let both IPC zones play concurrently to separate virtual audio devices which are mixed in voicemeter into a single output which goes to the physical hardware

I'll grab it and give it a shot.  That sounds super promising.  If only the vendor had written a good DirectSound driver none of this would be necessary is also my read.
Logged

dtc

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3119

I'll grab it and give it a shot.  That sounds super promising.  If only the vendor had written a good DirectSound driver none of this would be necessary is also my read.
From what I understand, you want MC to mix 2 2 channel audio streams (e.g. Music and YouTube) and then feed that through the MC DSPs.  But, MC is not set up to merge two input audio streams like that. Hence the problem.

The solution seems to be to merge the two audio streams (both 2 channel I presume) before they get to MC, so that MC can then split the merged stream into the 8 channels you want. The virtual mixer may be able to do that. But let me suggest another possible solution.

You can run 2 versions of MC, one for your music and the other for the sounds you want mixed with it. You can run exactly the same DSPs on both systems. Then, direct both versions of MC to the Behringer using non-exclusive WASAPI.  That way each stream will be processed in the same way and then mixed.  There could be significant timing issues between the two streams, but it seems like exact matching is not needed.

This is an unusual setup, but 2 versions of MC can run at the same time. As long as they can output to the same device, this should work.  I tried it, without the DSPs, to a 2 channel output and it worked OK, using MC 28 for one input and MC29 for the other.  I tried it with 2 2 channel audio only tracks and with a 2 channel audio and a 2 channel video. Both worked. I also tried YouTube on one and music on the other. Again, it worked.

This may not be a final solution, but it might be an option.
Logged

mccarty350

  • Recent member
  • *
  • Posts: 19

From what I understand, you want MC to mix 2 2 channel audio streams (e.g. Music and YouTube) and then feed that through the MC DSPs.  But, MC is not set up to merge two input audio streams like that. Hence the problem.

The solution seems to be to merge the two audio streams (both 2 channel I presume) before they get to MC, so that MC can then split the merged stream into the 8 channels you want. The virtual mixer may be able to do that. But let me suggest another possible solution.

You can run 2 versions of MC, one for your music and the other for the sounds you want mixed with it. You can run exactly the same DSPs on both systems. Then, direct both versions of MC to the Behringer using non-exclusive WASAPI.  That way each stream will be processed in the same way and then mixed.  There could be significant timing issues between the two streams, but it seems like exact matching is not needed.

This is an unusual setup, but 2 versions of MC can run at the same time. As long as they can output to the same device, this should work.  I tried it, without the DSPs, to a 2 channel output and it worked OK, using MC 28 for one input and MC29 for the other.  I tried it with 2 2 channel audio only tracks and with a 2 channel audio and a 2 channel video. Both worked. I also tried YouTube on one and music on the other. Again, it worked.

This may not be a final solution, but it might be an option.

Here's a solution that worked for me...I may try the two different version jriver solution as well.


Solution (as proposed earlier that i look into voicemeeter - THANK YOU!):
1.  Install voicemeeter as suggested earlier.
2.  Set default system sound card to voicemeeter virtual VAIO input driver.
3.  Point jriver output to voicemeeter virtual AUX input driver.
4.  Point voicemeeter output to either standalone convolver software or to a different version of JRiver software running the convolution (I need to figure out which one impacts the CPU less)
5.  Set standalone convolver or JRiver software running a different version and convolution to output to your soundcard/audio interface.

I wish there was something less clunky or convoluted but both of these scenarios worked.  Do they impact sound quality, etc.?  Unsure.  Did I have to surmount some issues by mixing all my audio to the same sample rate, etc.  Yes, but not a big deal.

Here's the next question I have:
Given that convolution radically reduces the output volume of your system, especially dependent on your measurement and what generates the convolution file, how can you recover that gain?  My output volume is anemic when running any type of convolution.  I can manually add gain (EQ, parametric EQ, etc. tons of options) within jriver but then the output is still relatively anemic even when jriver shows output hitting clipping or getting very close to clipping.  Is there any way to recover any of this?  If there's a sticky or guide out there for folks running into this please send it my way.  I'll look in multiple forums and search this one for options as well.

Thanks!

John
Logged

dtc

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3119

This is a tough problem. MC is just not set up for what you want to do. You are to be congratulated on getting a solution that seems to be working.

If you want to try the 2 MC "solution" then you can actually run 2 copies of the current version. There is an option to do that. I used 2 separate versions only because it was easy to do.

Matt is a real expert in this type of setup.

Good luck.
Logged

mccarty350

  • Recent member
  • *
  • Posts: 19

This is a tough problem. MC is just not set up for what you want to do. You are to be congratulated on getting a solution that seems to be working.

If you want to try the 2 MC "solution" then you can actually run 2 copies of the current version. There is an option to do that. I used 2 separate versions only because it was easy to do.

Matt is a real expert in this type of setup.

Good luck.


Hahhaha thank you, I've been very persistent in fighting to be successful in this one, I'm probably not the only person that is using convolution and active crossovers or room correction.  It doesn't work too bad at this stage with the mixer.  One thing I've wondered is how you know which WDM driver is mapped to what running version of jriver as well!

As far as compensating for volume loss incurred by using room correction/convolution/crossover implemented using convolution I'm unclear on how to surmount that one and it's an issue independent of the one I've described.  I don't know if perhaps a sound card or audio interface using higher output voltage would help to drive the amp to a higher volume or if this would require a monetary expenditure for an external physical multichannel preamp or integrated amp to increase gain while avoiding digital clipping.  I have no desire to spend more cash on such a solution but if that's the only way I'll investigate it.
Logged

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4231

Convolution in itself does not impact overall gain, a correction filter which applies significant cuts can do so though. This may suggest your filter is over correcting. This leaves you two main choices for handling it, one is to create filters that cut less and the other is to have a dac capable of a strong clean output signal (and potentially with the ability to attenuate at the analogue front end of your amps).
Logged

mccarty350

  • Recent member
  • *
  • Posts: 19

Thank you so much, I started looking into my convolution filter and came up with the same conclusion.  My solution was to find a very reasonably priced used budget 8 channel preamp/processor that provided enough gain to where it compensated for it.  Believe it or not I'm in good shape and functional with all of your assistance.
Logged
Pages: [1]   Go Up