INTERACT FORUM

Please login or register.

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

Author Topic: ASIO Line-in/Loopback for any single ASIO audio device!  (Read 18980 times)

mojave

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3732
  • Requires "iTunes or better" so I installed JRiver
ASIO Line-in/Loopback for any single ASIO audio device!
« on: January 30, 2013, 04:49:16 pm »

The ASIO Line-in (File > Open Live > ASIO Line-in) states "You will likely need to use a different device for audio output than you are using for input." Mitchco demonstrated in another thread how his Lynx Hilo did allow multiple programs to access the same device.

From Steinberg's website it says:
Quote
ASIO (Audio Streaming Input Output) is a technology of Steinberg. It allows for low latencies and pretty much every state-of-the-art audio device is nowadays delivered with an ASIO driver (on Windows, at least). However, the basic idea behind ASIO is that professional audio applications entirely take ownership of the ASIO device. Only very few ASIO drivers support true multiple application access. This effectively means that you can not use 2 or more applications using the same ASIO device at the same time.

In order to use two or more applications with the same audio device, Steinberg has released an "unofficial" ASIO multiclient driver. You can download the driver and readme file from Steinberg's website.

Here is how to use it:

  • Download and install the driver.
  • Run the driver and select your ASIO device from the dropdown.
  • Open JRiver and go to Tools > Options > Audio > Output Mode Settings and choose ASIO Client as your audio device
  • Close JRiver
  • Open another programs (Audiolense, REW, etc.), one at a time, that you want to use with JRiver and change their output to ASIO Client.
  • You need to make sure that you use the same sample rate for the output of each program.
  • Once all your programs have been changed to ASIO client, you can now open whatever programs you want to use simultaneously.
  • If your audio device supports routing in its drivers, then you can route the output of one program to the input of the other.
  • If your audio device doesn't support routing, then you must hard wire the output of one program to the input of another on your audio device.
  • In JRiver use "File > Open Live > ASIO Line-in" to route the input through JRiver.

Here is an example:
  • I have a Steinberg MR816x that supports only one program using it and its drivers don't support routing.
  • I set ASIO Client (asioserver.exe) to use "Yamaha Steinberg FW ASIO" as the device/driver.
  • In REW I set it to use ASIO output on ASIO Client on ouput 5.
  • I set JRiver to use ASIO Client as its output device with 0 channel offset.
  • I connected a cable from output 5 to input 5 on my MR816x.
  • I started Live-in in JRiver
  • I used the Generator in REW to play some pink noise.
  • Pink noise generated by REW went through output 5, into input 5, through JRiver's DSP, and out ouput 1!

I suggest reading the readme for more info.

This driver allows you to do the following:
Use ASIO to route REW, Audiolense, or other programs through JRiver for measurements using PEQ or Convolution
Use the same audio device for input/playback of external sources (such as SACD players through JRiver
Use simultaneous ASIO playback for multiple zones (use ASIO Client for each zone as the audio device)


Logged

mojave

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3732
  • Requires "iTunes or better" so I installed JRiver
Re: ASIO Line-in/Loopback for any single ASIO audio device!
« Reply #1 on: January 30, 2013, 05:14:51 pm »

I just realized I have ADAT optical in/out on my Steinberg UR824 and MR816x. ADAT can transfer 8 channels so I can use it for loopback since my analog outputs are all in use. This will allow me to route the Audiolense measurements for all channels at once through JRiver to see the results of my convolution filters.
Logged

bobkatz

  • World Citizen
  • ***
  • Posts: 213
Re: ASIO Line-in/Loopback for any single ASIO audio device!
« Reply #2 on: January 30, 2013, 06:21:13 pm »

This is too cool! And a bit scary. You're too much, Mojave. Congratulations and thanks for your hard work.

I never got live input working in JRiver, even trying muitiple interfaces... this is because I really don't want to use the Windows internal soundcard default device. I want to avoid anything but ASIO at this time.

I have been overworked this week, so I might wait a few days before I come down from the high you just gave me with this thread to try the multiclient. But I would like to present a couple of scenarios and ask you if you think they will work with this multiclient, if you don't mind. You gave some great examples. Thanks. That's the way to learn. More examples are welcome!

Scenario:

I have a Lynx card 8 in/8 out digital (AES/EBU) that I want to use to play line in from an external digital source: JRiver is going to run the convolution engine on its output. So let's say it's stereo in from the line in and 4 channel out through the convolver to do a crossover between stereo subs and stereo mains. Can we do that with this multiclient driver? That would be fantastic!

What about switching back and forth between line in and playback mode in JRiver. The playback in JRiver might be at any sample rate. Would this require the following steps:

1) Change the Lynx between external and internal sync. I can't see a way around that unless JRiver can command the Lynx to change as part of the procedure (which would be great). If the sync is not set correctly, you'll get the wrong pitch from JRiver's output if you try to play a different sample rate file while the Lynx is locked to a single rate). In other words, when JRiver is playing a file, the Lynx card has to be on Internal sync or it will not switch rates.
2) How do you officially "switch out" of line input mode and return to JRiver playback mode? I see live input appears in the now playing line? Do I have to delete the live input in the now playing line before switching to playback mode? Or does that go into reserve when you hit play on an audio file? Since I never got live input working I don't know how you're supposed to get out of it once you're in it.
3) Do we have to change back and forth between the standard ASIO output driver in JRiver and the multiclient driver? Or maybe once you define the multiclient driver, then JRiver never has to be reassigned to a different one and this becomes a one-time job.

I think that's it, except:

4) In Line in mode, what about automatic sample rate detection for JRiver from the Lynx input? Line in mode always asks, "what sample rate are you using"? Ideally it should be able to switch rates automatically because the Lynx card can signal to the application that it has received a new incoming sample rate. Or for the time being are we going to have to manually choose the sample rate and hopefully that will trigger the DSP chain to run the correct filter or config file for the convolver.

5) I wonder if switching between line in mode and playback mode can be done using Zone switching. E.G. Zone 1 is line in mode, and Zone 2 is playback mode.

I don't think JRiver is yet geared to do that. Ordinarily the sample rate switch of the filter is done in playback as it CONTROLS the card, which is left in internal sync. HOWEVER, for line in, we switch the card to external sync, and connect an external device through AES/EBU, which in this case is the output of another DAW application (Sequoia) running on the same computer. Pity it has to go through AES/EBU, but the second DAW is connected to an RME card for other reasons.

Many many many many thanks,

Bob

The ASIO Line-in (File > Open Live > ASIO Line-in) states "You will likely need to use a different device for audio output than you are using for input." Mitchco demonstrated in another thread how his Lynx Hilo did allow multiple programs to access the same device.

From Steinberg's website it says:
In order to use two or more applications with the same audio device, Steinberg has released an "unofficial" ASIO multiclient driver. You can download the driver and readme file from Steinberg's website.

Here is how to use it:

  • Download and install the driver.
  • Run the driver and select your ASIO device from the dropdown.
  • Open JRiver and go to Tools > Options > Audio > Output Mode Settings and choose ASIO Client as your audio device
  • Close JRiver
  • Open another programs (Audiolense, REW, etc.), one at a time, that you want to use with JRiver and change their output to ASIO Client.
  • You need to make sure that you use the same sample rate for the output of each program.
  • Once all your programs have been changed to ASIO client, you can now open whatever programs you want to use simultaneously.
  • If your audio device supports routing in its drivers, then you can route the output of one program to the input of the other.
  • If your audio device doesn't support routing, then you must hard wire the output of one program to the input of another on your audio device.
  • In JRiver use "File > Open Live > ASIO Line-in" to route the input through JRiver.

Here is an example:
  • I have a Steinberg MR816x that supports only one program using it and its drivers don't support routing.
  • I set ASIO Client (asioserver.exe) to use "Yamaha Steinberg FW ASIO" as the device/driver.
  • In REW I set it to use ASIO output on ASIO Client on ouput 5.
  • I set JRiver to use ASIO Client as its output device with 0 channel offset.
  • I connected a cable from output 5 to input 5 on my MR816x.
  • I started Live-in in JRiver
  • I used the Generator in REW to play some pink noise.
  • Pink noise generated by REW went through output 5, into input 5, through JRiver's DSP, and out ouput 1!

I suggest reading the readme for more info.

This driver allows you to do the following:
Use ASIO to route REW, Audiolense, or other programs through JRiver for measurements using PEQ or Convolution
Use the same audio device for input/playback of external sources (such as SACD players through JRiver
Use simultaneous ASIO playback for multiple zones (use ASIO Client for each zone as the audio device)



Logged

mojave

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3732
  • Requires "iTunes or better" so I installed JRiver
Re: ASIO Line-in/Loopback for any single ASIO audio device!
« Reply #3 on: January 31, 2013, 10:03:46 am »

I never got live input working in JRiver, even trying muitiple interfaces... this is because I really don't want to use the Windows internal soundcard default device. I want to avoid anything but ASIO at this time.
The Open > Live has two options:  WASAPI loopback and ASIO Line-in. ASIO Line-in doesn't require another soundcard to be the default device and it uses only ASIO.

Quote
Scenario:
I have a Lynx card 8 in/8 out digital (AES/EBU) that I want to use to play line in from an external digital source: JRiver is going to run the convolution engine on its output. So let's say it's stereo in from the line in and 4 channel out through the convolver to do a crossover between stereo subs and stereo mains. Can we do that with this multiclient driver? That would be fantastic!
The ASIO Line-in may work without even needing the multiclient driver depending on your existing ASIO driver. Mitchco has shown that with the Lynx Hilo driver he can use Line-in and Line-out simultaneously with no additional multiclient driver. In this case you are only using one program - JRiver. One issue, though, is that the digital needs to be PCM and not encoded.

Try connecting something to the line-in (Input 1) and start playback. In JRiver use File > Open Live > ASIO Line-in. It should accept Input 1 and playback on Output 1 unless you have specified an offset in Tools > Options > Audio > Output mode settings.

If that doesn't work, then setup the ASIO multiclient driver per the instructions and run it. In JRiver's ASIO Line-in select ASIO Client and set channel offset to 0. In JRiver's Audio Options, set ASIO Client as the audio device. Now when you use the ASIO Line-in it will route input 1 to output 1 through the multiclient driver.

Quote
2) How do you officially "switch out" of line input mode and return to JRiver playback mode? I see live input appears in the now playing line? Do I have to delete the live input in the now playing line before switching to playback mode? Or does that go into reserve when you hit play on an audio file? Since I never got live input working I don't know how you're supposed to get out of it once you're in it.
Line-in is a an "item" you are playing so you just press Stop. Starting playback of an audio file will also stop Line-in.

Quote
3) Do we have to change back and forth between the standard ASIO output driver in JRiver and the multiclient driver? Or maybe once you define the multiclient driver, then JRiver never has to be reassigned to a different one and this becomes a one-time job.
You don't have to switch back and forth. Your second statement is correct.

Quote
4) In Line in mode, what about automatic sample rate detection for JRiver from the Lynx input? Line in mode always asks, "what sample rate are you using"? Ideally it should be able to switch rates automatically because the Lynx card can signal to the application that it has received a new incoming sample rate. Or for the time being are we going to have to manually choose the sample rate and hopefully that will trigger the DSP chain to run the correct filter or config file for the convolver.
Incoming sample rate detection is something for JRiver to work on adding.

Quote
5) I wonder if switching between line in mode and playback mode can be done using Zone switching. E.G. Zone 1 is line in mode, and Zone 2 is playback mode.
I have asked that a zone or Theater View view activate the loopback or line-in, but it hasn't been added yet.

I checked my UR824 at home last night and was pleased to find out that it does have internal routing so I won't even need an external digital loopback cable. I can use the ADAT Output in Audiolense by specifying the correct offset in the Measurement screen. In my ASIO driver/control panel, I can set ADAT Output to go to Analog Inputs. In JRiver, I can use ASIO Line-in with Input 1 and then send it out Output 1.

Logged

bobkatz

  • World Citizen
  • ***
  • Posts: 213
Re: ASIO Line-in/Loopback for any single ASIO audio device!
« Reply #4 on: January 31, 2013, 01:54:22 pm »

Dear Mojave:

Thanks for your great advice. I did find out today some of what you tell me just by experimenting. I was just too anxious and bothered you with too many questions. But unfortunately, my test of my system with the multiclient line in and convolver was not too successful due to buffer and DSP-related glitches. Details below interspersed with your answers.

The Open > Live has two options:  WASAPI loopback and ASIO Line-in. ASIO Line-in doesn't require another soundcard to be the default device and it uses only ASIO.
The ASIO Line-in may work without even needing the multiclient driver depending on your existing ASIO driver. Mitchco has shown that with the Lynx Hilo driver he can use Line-in and Line-out simultaneously with no additional multiclient driver. In this case you are only using one program - JRiver. One issue, though, is that the digital needs to be PCM and not encoded.


Thanks for the tips on using line in. It helped, and I also discovered for myself how to get into and out of line-in mode versus standard playback.

I had to use the multiclient driver for line in. It works for me, but using the convolver plus Elephant plus just the output options proves too much for JRiver. Even with extreme buffers, there were still occasional glitches (say, once every 4 or 5 minutes) when disengaging convolver and elephant. This is NOT a synchronization isssue, I am quite comfortable the clocking and synchronization is not the issue, you can take my word on that. It appears to be a memory, DSP, or buffer-related issue.

I have a very powerful computer and run many high end audio apps simulataneously on it so whatever is going on with Multi-client and JRiver in my system may prove difficult to debug. I have another plan trying Acourate Convolver and its special interclient ASIO driver and am working on that now with Uli.

Quote

Incoming sample rate detection is something for JRiver to work on adding.
I have asked that a zone or Theater View view activate the loopback or line-in, but it hasn't been added yet.


All in due time! Because of the glitches with JRiver and Convolver plus Elephant in line in, my workaround for line in right now continues to be VSTHost + ConvolverVST + Elephant, which is completely clean and stable on my system (after a 3-day learning curve!). It's awkward in not detecting incoming sample rate change, but I am hoping that AcourateConvolver will become the new "all round" solution for the forseeable future. The gotcha, though, is you have to use Acourate config files and convolve your system with Acourate and not Audiolense. Oh well, it's only money ;-(.

I continue to use JRiver for file playback, though, as it is fantastic and convenient, switches sample rates elegantly (provided you follow the rules religiously in config file naming and DON'T MOVE THE CONFIG FILES TO ANY OTHER FOLDER THAN THAT WHICH THEY WERE CREATED IN THE FIRST PLACE!. Then JRiver Convolver plus elephant dither works fantastically.  It sounds quite pure, musical and of "audiophile quality". Shortly I'll give you measurements and listening tests on the latest JRiver MC 18 release with built-in 24-bit dither.

Best wishes, and thanks,

Bob
Logged

mojave

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3732
  • Requires "iTunes or better" so I installed JRiver
Re: ASIO Line-in/Loopback for any single ASIO audio device!
« Reply #5 on: January 31, 2013, 02:59:20 pm »

I have another plan trying Acourate Convolver and its special interclient ASIO driver and am working on that now with Uli.

All in due time! Because of the glitches with JRiver and Convolver plus Elephant in line in, my workaround for line in right now continues to be VSTHost + ConvolverVST + Elephant, which is completely clean and stable on my system (after a 3-day learning curve!). It's awkward in not detecting incoming sample rate change, but I am hoping that AcourateConvolver will become the new "all round" solution for the forseeable future. The gotcha, though, is you have to use Acourate config files and convolve your system with Acourate and not Audiolense. Oh well, it's only money ;-(.
As you saw in the 24-bit dither thread, JRiver can add features extremely fast. Now you won't need Elephant for dithering, but it may have other usefulness for you. I was looking at Acourate Convolver yesterday and it looks great - if it could be used with other programs. Some of us have been asking for a JRiver virtual audio device for several years now which would serve the same purpose as Acourate Convolver and ASIO multiclient.
Logged

hulkss

  • Galactic Citizen
  • ****
  • Posts: 451
Re: ASIO Line-in/Loopback for any single ASIO audio device!
« Reply #6 on: February 01, 2013, 10:37:16 pm »

Will this "http://yabb.jriver.com/interact/index.php?topic=77859.0" do what we need and work as well with the JRiver convolver?
Logged
Pages: [1]   Go Up