INTERACT FORUM

More => Old Versions => JRiver Media Center 18 for Windows => Topic started by: Matt on February 01, 2013, 04:59:36 pm

Title: JRiver ASIO driver
Post by: Matt on February 01, 2013, 04:59:36 pm
From the propeller head department:

I depend on the JRiver audio engine to do my sound routing and processing at home.  If I play a game or do something in a webpage outside JRiver, it won't sound right.

So I use Loopback (File > Open Live...) to do these things.  With this, the game or browser talks to the default audio device and JRiver catches it and routes it through our engine.

An even better solution would be to provide a WDM driver that automatically tunneled data to JRiver.  With this, you would configure Windows to use 'JRiver Audio Engine' as the soundcard.  We've been looking for someone to help us write this, but have yet to have any luck.

The other day mojave suggested starting by writing an ASIO driver that automatically tunnels data to JRiver.  Any software that can output ASIO would be able to talk directly to our audio engine.

This is interesting because ASIO drivers are simple.  We've written them in the past for testing audio programs.  The IPC part adds a little complexity, but not a lot.

Would a JRiver ASIO driver be an interesting feature?  What would it get us?  Is there any software that acts as a WDM driver and can output to ASIO (so we get a back-door approach to a WDM driver)?

Thanks for any feedback.
Title: Re: JRiver ASIO driver
Post by: mojave on February 01, 2013, 05:42:23 pm
The ASIO driver would allow programs such as Room Equalization Wizard, Audiolense, digital audio workstations (DAW) software, and any other software supporting ASIO output. It will probably be most utilized by those taking measurements and using JRiver's PEQ or convolution.

ESI Audio (http://www.esi-audio.com) includes a program call DirectWIRE that allows one to route audio between applications and from WDM to ASIO. I remember people using it in the Using convolver universally in HTPC (http://www.hometheatershack.com/forums/rew-forum/7347-using-convolver-universally-htpc-2.html#axzz2Jh4xsFqa) thread at hometheatershack.com. I may have posted in that thread a few years ago.

(http://media.soundonsound.com/sos/jul08/images/esiduafire02_l.jpg)

(http://imageshack.us/a/img256/1654/directwirenu5.jpg)
Title: Re: JRiver ASIO driver
Post by: mojave on February 01, 2013, 05:53:51 pm
ESI calls their driver an Enhanced WDM driver. Here are some details:

Quote
ESI's EWDM driver is compatible with all current Windows operating systems, integratihg all commonly used driver standards into one single driver. You can use any fully ASIO 2.0, GSIF, MME, WDM (Kernel Streaming) or DirectSound compatible audio application with an ESI audio interface that provides an EWDM driver.

EWDM will let you use multiple audio applications (clients) that are fully compatible to the ASIO 2.0, GSIF, MME, WDM and DirectSound standard simultaneously. You want to run your multi-channel audio/MIDI sequencer (like Cubase), a sample editor (like WaveLab) and a media player (like WinAMP) to preview some samples simultaneously? No problem.

MultiMME Support - MultiMME feature of EWDM allows single or multiple audio applications to access any input and output channel of your hardware simultaneously. MultiASIO Support - MultiASIO is a new feature of EWDM driver. It allows you to use up to 16 ASIO compatible applications running at the same time. ESI is even planning to expand this feature when the general PC system performance gets better in the future.

I found a news announcement of the driver that has contact info:
http://www.esi-audio.com/download/NAMM07_unified_EWDM_driver.pdf (http://www.esi-audio.com/download/NAMM07_unified_EWDM_driver.pdf)
Title: Re: JRiver ASIO driver
Post by: Mitchco on February 01, 2013, 06:26:39 pm
The ASIO driver would allow programs such as Room Equalization Wizard, Audiolense, digital audio workstations (DAW) software, and any other software supporting ASIO output. It will probably be most utilized by those taking measurements and using JRiver's PEQ or convolution.

ESI Audio (http://www.esi-audio.com) includes a program call DirectWIRE that allows one to route audio between applications and from WDM to ASIO. I remember people using it in the Using convolver universally in HTPC (http://www.hometheatershack.com/forums/rew-forum/7347-using-convolver-universally-htpc-2.html#axzz2Jh4xsFqa) thread at hometheatershack.com. I may have posted in that thread a few years ago.


+1
Title: Re: JRiver ASIO driver
Post by: dean70 on February 01, 2013, 06:55:58 pm
That would be awesome. It would make it easier to use tools like Room Eq Wizard when your main audio interface in JRiver is ASIO.
Title: Re: JRiver ASIO driver
Post by: hulkss on February 01, 2013, 10:20:29 pm
I would use it as mentioned below. Make it so 8)
Title: Re: Re: JRiver ASIO driver
Post by: SpeedD408 on February 01, 2013, 11:06:56 pm
I think I like the idea!!!
Title: Re: Re: JRiver ASIO driver
Post by: natehansen66 on February 02, 2013, 01:30:13 am
Yes please!
Title: Re: JRiver ASIO driver
Post by: gappie on February 02, 2013, 02:19:58 am
i think it would be awesome...

not totaly clear jet, though.. it would mean i can wire the sound i now send to an other cheap card, to a zone in mc?
 

 :)
gab
Title: Re: JRiver ASIO driver
Post by: )p( on February 02, 2013, 03:25:19 am
An asio version will work for measurements but I think a wdm driver is best for most people that want to listen to their regular pc apps. Most of them like Spotify at all wont let you choose the asio driver.

I have used VAC (virtual audio cable) in the past to reroute audio and that worked ok but its not free.
Title: Re: JRiver ASIO driver
Post by: Hendrik on February 02, 2013, 03:54:22 am
Since you talk about games and web browsers in your original post, how does ASIO come in there as your solution to the problem?
That really confuzzled me :)
Title: Re: JRiver ASIO driver
Post by: rlebrette on February 02, 2013, 04:55:45 am
Implementing a WDM audio driver is something that has already been discussed few months ago in another thread.
I have done some search when this has been discussed, I found several sites that were providing basic features, I just give some of them, if it can help

http://lakeofsoft.com/
http://www.e2esoft.cn/vsc/
http://www.virtualaudiostreaming.net/
Title: Re: JRiver ASIO driver
Post by: Matt on February 02, 2013, 09:42:25 am
Since you talk about games and web browsers in your original post, how does ASIO come in there as your solution to the problem?
That really confuzzled me :)

It wouldn't help games or the web browser unless there's a third-party ASIO to WDM bridge.

That's sort of why I'm starting the thread.  I'm not sure what it would get us.

From a technical standpoint, it does break the problem into two.  We would focus on IPC, latency, automatic startup of JRiver, etc. for the ASIO driver.  Then that same system would be used for a WDM driver later.
Title: Re: JRiver ASIO driver
Post by: mkok on February 02, 2013, 04:15:40 pm
I'm a bit confused. I have been running Cubase with ASIO drivers for specific hardware for years. I thought the drivers were developed by manufacturers for there own hardware and not for software?
Title: Re: JRiver ASIO driver
Post by: DarkPenguin on February 02, 2013, 04:33:57 pm
A driver is just an interface.  Generally the back end talks to specific hardware but nothing requires that.  Matt is proposing making a driver that talks to MC on the backend.  This seems kind of horrific, tho.  You'd have a bridge to JRiver ASIO to MC to ASIO (or WASAPI or whatever) to the hardware.  I suppose for things using that path it would be an improvement and any music or video source would be MC to ASIO (or WASAPI or whatever) to the hardware...
Title: Re: JRiver ASIO driver
Post by: TheLion on February 02, 2013, 05:05:45 pm
Matt, you know I supported this very idea in the past.

Since then Uli implemented such a feature in AcourateConvolver which can act as "Virtual ASIO driver" and therefor can do convolution on streams from any ASIO application (as well as external live sources via Line In). This works very very well - have a look if you need a proof of concept.

I also read somewhere that JPlay (don't you worry, I know your opinion about that and I am NOT USING ;-) does the same approach with the latest version.

So Virtual ASIO drivers are quite in atm. A Virtual WDM driver would be a game changer as it would allow ANY application/game to use your audio engine.
Title: Re: JRiver ASIO driver
Post by: adolfotregosa on February 04, 2013, 09:05:44 am
The main issue I had when experimenting in the past with JRiver live input was "sound lag" on youtube or games and allot of cracks and pops when convolution was enable. I ended up buying a sound card with internal routing capabilities, went for the creative e-mu 1616m.

Using a vst host with convolution and bass management plugins, my Audiolense filters cannot have crossover to sub and ttd on them or I have lag but I do understand why. Unless the filter the user uses is only equalization everything else that is time related will produce lag and this would quickly become unusable.

Or probably I'm missing something, I'm still newbie at this..
Title: Re: JRiver ASIO driver
Post by: SpeedD408 on February 11, 2013, 01:29:16 pm
To my understanding, I think I would support the Virtual WDM over the ASIO driver.  I like my Lynx ASIO driver (no issues with it) but when I use the JRiver loopback to watch shows on the web (ESPN, iBethel, etc).  The audio lag is bad.  I would guess it's about 400ms off.  Basically I want a driver that would allow any program to send data to JRiver's audio engine for processing with minimal latency.
Title: Re: JRiver ASIO driver
Post by: glynor on February 11, 2013, 02:42:48 pm
It wouldn't help games or the web browser unless there's a third-party ASIO to WDM bridge.

That's sort of why I'm starting the thread.  I'm not sure what it would get us.

This would be my main concern.

The MAIN thing I want this for is:

1. Support Browser playback (with JRSS and all of that)
2. Same for games.

An ASIO driver would be, of course, of very limited use in that regard.
Title: Re: JRiver ASIO driver
Post by: mojave on February 11, 2013, 04:05:57 pm
The MAIN thing I want this for is:

1. Support Browser playback (with JRSS and all of that)
2. Same for games.
Are you currently doing this with JRiver and WASAPI Loopback?
Title: Re: JRiver ASIO driver
Post by: SpeedD408 on February 11, 2013, 04:35:17 pm
Are you currently doing this with JRiver and WASAPI Loopback?

I am.  I even went into the WASAPI settings and told it to use hardware minimum latency but not sure that really works as I change it back to ASIO once I'm done.
Title: Re: JRiver ASIO driver
Post by: mojave on February 11, 2013, 04:51:32 pm
I am.  I even went into the WASAPI settings and told it to use hardware minimum latency but not sure that really works as I change it back to ASIO once I'm done.
You can use ASIO for output when using the WASAPI loopback. You don't have to switch to a WASAPI loopback mode.

In conjunction with the JRiver ASIO driver, I would also like a JRiver mode that allows it to always be in either Loopback or Line-In mode when music or movies aren't playing back. This would all me to start playing a game without having to start the Loopback. I have set the Loopback as a radio button, though, so it really only takes one mouse click to put JRiver in that mode.
Title: Re: JRiver ASIO driver
Post by: SpeedD408 on February 11, 2013, 08:09:33 pm
You can use ASIO for output when using the WASAPI loopback. You don't have to switch to a WASAPI loopback mode.

In conjunction with the JRiver ASIO driver, I would also like a JRiver mode that allows it to always be in either Loopback or Line-In mode when music or movies aren't playing back. This would all me to start playing a game without having to start the Loopback. I have set the Loopback as a radio button, though, so it really only takes one mouse click to put JRiver in that mode.

Ok, maybe I didn't say it right.  In File->Open Live, I have it set to WASAPI Loopback and in Tools->Options->Audio->Audio Output, I have it set to ASIO.  However there is no way to set the WASAPI Event-Style Buffering under the WASAPI Loopback,  So I change the Audio Output to WASAPI to change the buffer to min and then set it back to ASIO.  So not sure if that WASAPI Buffer is even being used.  I tried lowering the ASIO buffer down to .02 seconds but not much luck there either.  It's like watching a bad foreign film dub (lips move and then sound).  It's annoying.

Thanks.

The
Title: Re: JRiver ASIO driver
Post by: glynor on February 11, 2013, 08:14:10 pm
Are you currently doing this with JRiver and WASAPI Loopback?

No, and that is the primary reason why.

The place I want to use it is with my HTPC.  It doesn't run MC all the time, though.  I want a "set once and don't touch again" solution, or else it is easier to use the stuff built into my Denon.  Is my Denon as good as MC's DSP?  No, generally not, but right now, for full-system audio, it is easier to use.
Title: Re: JRiver ASIO driver
Post by: mwillems on February 11, 2013, 08:44:05 pm
You can use ASIO for output when using the WASAPI loopback. You don't have to switch to a WASAPI loopback mode.

In conjunction with the JRiver ASIO driver, I would also like a JRiver mode that allows it to always be in either Loopback or Line-In mode when music or movies aren't playing back. This would all me to start playing a game without having to start the Loopback. I have set the Loopback as a radio button, though, so it really only takes one mouse click to put JRiver in that mode.

I would also like a loopback by default, or a "launch with loopback" function.
Title: Re: JRiver ASIO driver
Post by: natehansen66 on February 11, 2013, 08:52:30 pm
To my understanding, I think I would support the Virtual WDM over the ASIO driver.  I like my Lynx ASIO driver (no issues with it) but when I use the JRiver loopback to watch shows on the web (ESPN, iBethel, etc).  The audio lag is bad.  I would guess it's about 400ms off.  Basically I want a driver that would allow any program to send data to JRiver's audio engine for processing with minimal latency.

Are you using Convolution? I don't have any audio/video sync issues using the Loopback and I watch movies/TV shows online quite often, but when I turn on Convolution with FIR filters there's a good bit of lag to the audio.....
Title: Re: Re: Re: JRiver ASIO driver
Post by: SpeedD408 on February 11, 2013, 10:00:15 pm
Are you using Convolution? I don't have any audio/video sync issues using the Loopback and I watch movies/TV shows online quite often, but when I turn on Convolution with FIR filters there's a good bit of lag to the audio.....

Not yet.  I want to get there but not at this point.  This happens in Hulu+ and web videos.   One step at a time.
Title: Re: JRiver ASIO driver
Post by: SpeedD408 on February 11, 2013, 10:43:48 pm
Are you using Convolution? I don't have any audio/video sync issues using the Loopback and I watch movies/TV shows online quite often, but when I turn on Convolution with FIR filters there's a good bit of lag to the audio.....

Just verified, no Convolution.  Just Output Format to 5.1 using JRSS w/ everything up-sampled to 192k, Standard EQ settings and Room Correction.  No PEQ or anything fancy at this point.
Title: Re: JRiver ASIO driver
Post by: astromo on February 12, 2013, 03:30:45 am
No, and that is the primary reason why.

The place I want to use it is with my HTPC.  It doesn't run MC all the time, though.  I want a "set once and don't touch again" solution, or else it is easier to use the stuff built into my Denon.  Is my Denon as good as MC's DSP?  No, generally not, but right now, for full-system audio, it is easier to use.

Wow, this JRiver MC gig just continues to surprise. Nice work team. I obviously missed the despatch where WASAPI loopback rated a mention.

Before I get into this further, I'd like to make it clear that I don't fully understand the technical ins & outs of convolution and loopback. So, I'm not sure I've got the right end of the stick here.

Anyway, at an end user functional level, what I want is for my HTPC to promote couch-potatoe-ness. To that end from an audio perspective, functionally, I would like audio streamed to the TV and its speakers simultaneously with audio streamed to my HiFi amp. It's easy with my Logitech Harmony universal remote to mute one or the other depending on whether I want to listen to music with full HiFi whump or just have routine TV audio while watching the idiot box. Unfortunately, out of the box Windows 7 (curse you Bill Gates!) gives you 1 audio option only. So, if I want to do the simple task described, I need to muck around with reconfiguring the Sound function that comes with Win 7. I sussed out Virtual Audio Cable to address this but ended up going with e2eSoft Virtual Sound Card. Either way they suck in an audio stream and provide the functionality that suits me.

However, the potential for all this to be sorted by my fave media software gets a thumbs up from me. I'll keep tuned for further developments. I like where this is heading.
Title: Re: JRiver ASIO driver
Post by: mojave on February 12, 2013, 10:58:32 am
Ok, maybe I didn't say it right.  In File->Open Live, I have it set to WASAPI Loopback and in Tools->Options->Audio->Audio Output, I have it set to ASIO.  However there is no way to set the WASAPI Event-Style Buffering under the WASAPI Loopback,  So I change the Audio Output to WASAPI to change the buffer to min and then set it back to ASIO.  So not sure if that WASAPI Buffer is even being used.  I tried lowering the ASIO buffer down to .02 seconds but not much luck there either.  It's like watching a bad foreign film dub (lips move and then sound).  It's annoying.
The Audio Output WASAPI buffer won't affect the Loopback. I think the Loopback tries to use the lowest latency possible.

Have you also checked the buffer size in your ASIO drivers? I can go from 32 samples to 2048 samples. The lower the sample size the lower the latency. Sometime you will get stutters with very low samples, but I can have mine at the minimum with no issues.

Try turning off upsampling and see if you still have issues. I have found that to introduce what I think are latency issues depending on the computer.
Title: Re: JRiver ASIO driver
Post by: SpeedD408 on February 12, 2013, 04:48:54 pm
The Audio Output WASAPI buffer won't affect the Loopback. I think the Loopback tries to use the lowest latency possible.

Have you also checked the buffer size in your ASIO drivers? I can go from 32 samples to 2048 samples. The lower the sample size the lower the latency. Sometime you will get stutters with very low samples, but I can have mine at the minimum with no issues.

Try turning off upsampling and see if you still have issues. I have found that to introduce what I think are latency issues depending on the computer.
Mojave,  Thanks for the thought.  I tried it and no change.  I clicked on audio path and it states that the source is 192.  Kind of odd.

I tried changing the ASIO buffers to 64 from 1024 but the setting wont take.  Tried it in MC and in the Lynx driver.  No matter what I set it to when I go back to the setting it changes back to 1024.  I initially thought I locked the settings, but double checked and the Lynx settings are not locked.  Also the ASE16e card does not have an auto mode you have to set it. So I chose 192.  If I set it to 44.1 and play a 96/24 music the track wont play (I guess the Lynx wont auto switch depending on source input).
Title: Re: JRiver ASIO driver
Post by: JustinM on February 12, 2013, 11:25:04 pm
+1    A Virtual WDM driver for ANY application/game/browser...   

-hoping to set it and forget it  !!


Title: Re: JRiver ASIO driver
Post by: mwillems on February 13, 2013, 08:48:53 am
For all the folks looking for a WDM driver or a set-and-forget "loopback by default" option, I've been experimenting with a workaround involving running two instances of JRiver.  I've described the set up over here: http://yabb.jriver.com/interact/index.php?topic=78129.0

So far, it's working, and it's not too hard to set up if you want to experiment.  I'm still working out some kinks, but the results so far are encouraging.
Title: Re: JRiver ASIO driver
Post by: v_erich on February 14, 2013, 12:15:51 am
Uli Brueggemann wrote an virtuel soundcard river for his acourate convolver (acourateASIO).

+1 for this idea.
Title: Re: JRiver ASIO driver
Post by: JustinM on February 14, 2013, 11:21:13 am
Hi Matt:

Im curious if theres been any developement on the Loopback, Asio/wmd driver front... Whatcha guys working on??  :)
Title: Re: JRiver ASIO driver
Post by: pac10coastie on April 10, 2014, 06:32:05 pm
Sorry to beat a dead horse on this old thread, but I would really like this WDM driver thing to go off and cant find any more recent conversations about it.

A possible work around someone else is doing is called Equalizer APO, perhaps its been discussed. This is my first post, I think I put the link in below if it worked. googling will bring it up as well. Instead of writing a driver he has written a freeware APO that will equalize all WDM audio played from the computer. perhaps not quite as good as an actual driver, but it does the trick. Is it easier to write your own APO then driver? or perhaps JRiver can generate data that can automatically be plugged into his existing APO? I prefer ASIO and would use that whenever possible, but when games or web streams come on outside the J River ecosystem then it would be sweet to have my JRiver settings implemented into something like this APO rather then using the loop back. That way J River would be my only GUI while the APO runs unnoticed in the back ground only for instances of WDM audio. set it and forget it and I can finally ditch the AVR without confusing the wife when she watches Netflix. right now its just a PEQ APO, he said he could have easily written a convolver APO but chose not to. JRSS and bass management are the main sticking points, perhaps both could be accomplished more easily in an APO instead of driver? that's beyond me. Anyway, thought this might be a good starting point as a work around and would love to see something like this, as I am sure many people would.

http://www.hometheatershack.com/forums/rew-forum/62114-software-equalizer-use-rew-windows.html (http://www.hometheatershack.com/forums/rew-forum/62114-software-equalizer-use-rew-windows.html)
Title: Re: JRiver ASIO driver
Post by: mojave on April 23, 2014, 11:51:06 am
Jim mentioned yesterday in this thread (http://yabb.jriver.com/interact/index.php?topic=88217.0) regarding the WDM driver:

Quote
We don't have anything to announce at this time.

The thread I linked to provides several methods of routing all audio through JRiver.