Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER General Discussion Forum

Reply
 
Thread Tools Display Modes
Old 10-17-2017, 02:34 PM   #1
Aesis
Human being with feelings
 
Join Date: Jan 2011
Posts: 445
Default Using USB devices and interface at the same time?

I have bunch of synths that have USB audio outs and would like to record them through USB while using the regular interface for outs. Is it possible to somehow have

1) Different device for IN and OUT?
2) Aggregate all of the different USB devices?

I use windows 10.
Aesis is offline   Reply With Quote
Old 10-17-2017, 06:14 PM   #2
SonicAxiom
Human being with feelings
 
SonicAxiom's Avatar
 
Join Date: Dec 2012
Location: Germany
Posts: 3,039
Default

Take a look at Dante Via (https://www.audinate.com/products/software/dante-via, free 30 day trial). It can aggregate any kind of audio source (hardware and software) connected to or running on your computer and route audio between all these sources (up to 16 in/out channels per audio application and 48 channels in total!).

You can select Dante Via driver as your Reaper ASIO audio device and have instant access to any of the sources: You could record your browser's audio, Skype, any USB audio source (interfaces or keyboards), firewire interface, etc. simultaneously in Reaper.

Furthermore, Dante Via transforms your computer's LAN socket into a multi-channel in/out audio interface allowing you to route audio channels between the aforementioned hardware and software sources and sources on or connected to other computers running Dante Via by simply connecting them with a cat 6 network cable. For example, you may take advantage of a second pc by sending audio to it from a Reaper instance on the first pc, process it there and run the processed signal back to the first pc. Routing options are pretty extensive.

Full version is 60$.
SonicAxiom is offline   Reply With Quote
Old 10-17-2017, 08:56 PM   #3
Philbo King
Human being with feelings
 
Philbo King's Avatar
 
Join Date: May 2017
Posts: 3,204
Default

Then, there is the low budget alternative, ASIO-for-all. I never had much luck with it myself, but I've heard it can also consolidate audio interfaces.
Philbo King is offline   Reply With Quote
Old 10-17-2017, 10:35 PM   #4
jm duchenne
Human being with feelings
 
jm duchenne's Avatar
 
Join Date: Feb 2006
Location: France
Posts: 915
Default

Quote:
Originally Posted by Philbo King View Post
Then, there is the low budget alternative, ASIO-for-all. I never had much luck with it myself, but I've heard it can also consolidate audio interfaces.
Yes, ASIO4All generally succeeds very well to agregate two or more interfaces, including the on board one.
jm duchenne is offline   Reply With Quote
Old 10-17-2017, 11:39 PM   #5
drumphil
Human being with feelings
 
drumphil's Avatar
 
Join Date: Jun 2006
Location: Australia
Posts: 3,738
Default

The problem with using ASIO4ALL is that you need some kind of wordclock link between the audio devices to keep them in sync. Some USB audio interfaces derive their clock from the USB clock, and if they are all plugged into the same USB hub they will stay in sync, but how you figure out if your gear works like that I don't know.

I don't know how Dante handles such clocking issues. I'd love to know if anyone has any insight into that! It must have some kind of system to deal with clocking different devices without a wordclock cable between them... Well, I assume it does. I guess it could just let things drift until they get too far out, and then drop some samples to get them back in line.
drumphil is offline   Reply With Quote
Old 10-18-2017, 05:09 AM   #6
SonicAxiom
Human being with feelings
 
SonicAxiom's Avatar
 
Join Date: Dec 2012
Location: Germany
Posts: 3,039
Default

Quote:
Originally Posted by drumphil View Post
I don't know how Dante handles such clocking issues. I'd love to know if anyone has any insight into that! It must have some kind of system to deal with clocking different devices without a wordclock cable between them... Well, I assume it does. I guess it could just let things drift until they get too far out, and then drop some samples to get them back in line.
Dante Via sample-rate converts all sources to its own clock on-the-fly to get everything into sync.

Biggest issue with any aggregating solution will be possible latency. If you wanna play and monitor a usb keyboard in real-time (monitoring it through the daw) latency might be noticable. Preferably, one should set up a way of monitoring where the keyboard can be heard directly from its audio output while recording.
SonicAxiom is offline   Reply With Quote
Old 10-18-2017, 05:17 AM   #7
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,773
Default

AFAIK:

Mac does the aggregation automatically.

In Windows, WASAPI should do that, as well, in case you have native WASAPI drivers for your equipment. ASIO drivers don't help, legacy DX audio drivers are shown in WASAPI, but don't allow for aggregation.

ASIO4ALL never works perfectly .

-Michael
mschnell is offline   Reply With Quote
Old 10-18-2017, 11:21 AM   #8
Aesis
Human being with feelings
 
Join Date: Jan 2011
Posts: 445
Default

Thanks for the suggestion! I will check them out ASAP.

My main interface is firewire, I hope that works fine too.
Aesis is offline   Reply With Quote
Old 10-19-2017, 04:59 AM   #9
cyrano
Human being with feelings
 
cyrano's Avatar
 
Join Date: Jun 2011
Location: Belgium
Posts: 5,246
Default

Quote:
Originally Posted by mschnell View Post
Mac does the aggregation automatically.
Not automatically. You need to set it up in Audio/MIDI setup. Let's call it "automagically" :-)

Quote:
In Windows, WASAPI should do that, as well, in case you have native WASAPI drivers for your equipment. ASIO drivers don't help, legacy DX audio drivers are shown in WASAPI, but don't allow for aggregation.
I had no idea WASAPI could do that these days.

Quote:
ASIO4ALL never works perfectly .
Aggregation always depends on the hardware at hand. It'll usually work.

Most notable exception is Tascam. They don't support aggregation. That doesn't mean it never works, just that it doesn't work with some of their gear. At least that's clear. Most other brands avoid the subject.

It's easy enough to test.
__________________
In a time of deceit telling the truth is a revolutionary act.
George Orwell
cyrano is offline   Reply With Quote
Old 10-19-2017, 07:56 AM   #10
serr
Human being with feelings
 
Join Date: Sep 2010
Posts: 12,625
Default

You only need to make an aggregate device of multiple audio interfaces.

USB MIDI devices are not audio interfaces. (Unless we're talking about a combo audio interface + MIDI interface unit.)

There could possibly be an issue daisy chaining multiple USB devices with one of them being an audio interface in that if one of those devices had a problem it might lock up that USB bus and throw everything else offline.

Try connecting the audio interface first and daisy chain everything else after it.
serr is offline   Reply With Quote
Old 10-19-2017, 08:01 AM   #11
drumphil
Human being with feelings
 
drumphil's Avatar
 
Join Date: Jun 2006
Location: Australia
Posts: 3,738
Default

Quote:
Originally Posted by SonicAxiom View Post
Dante Via sample-rate converts all sources to its own clock on-the-fly to get everything into sync.
That's what I was thinking, but from the documentation I read on Dante Via I got the impression they weren't doing any resampling, which left me struggling to understand how they could make it work without resampling, or how they could achieve decent latency with resampling, if they do indeed use resampling. Some documentation from them that explains exactly how this works would be fantastic.

What sort of latency is achievable with Dante Via? And exactly where is it stated that they use resampling to deal with disconnected clocks? I mean, as far as I know, resampling is the only solution without wordclock connections, but I never could find exactly where they stated that their system used resampling to solve that problem.

Last edited by drumphil; 10-19-2017 at 08:12 AM.
drumphil is offline   Reply With Quote
Old 10-19-2017, 08:11 AM   #12
serr
Human being with feelings
 
Join Date: Sep 2010
Posts: 12,625
Default

The short version as I understand it is Dante supports both a 1:1 lossless mode and a resample mode. The resample mode is still hitting broadcast standards at a high level. You would use the 1:1 mode for critical recordings but you'll have fewer routing options and/or a higher minimum latency.
serr is offline   Reply With Quote
Old 10-19-2017, 08:18 AM   #13
drumphil
Human being with feelings
 
drumphil's Avatar
 
Join Date: Jun 2006
Location: Australia
Posts: 3,738
Default

Yeah, but how does the lossless 1:1 mode work without wordclock connections between the devices in the network? Without a hardware wordclock input, how do you get wordclock from the ethernet connection into the converters in the audio interfaces?

This is supposed to work with any audio interface a computer has, and there isn't any way I can think of to feed wordclock to the converters in a realtek codec through an ethernet adapter in the computer that has the realtek audio interface. Well, without just not doing that, and resampling the data being received from that sound card.

Last edited by drumphil; 10-19-2017 at 08:25 AM.
drumphil is offline   Reply With Quote
Old 10-19-2017, 08:54 AM   #14
serr
Human being with feelings
 
Join Date: Sep 2010
Posts: 12,625
Default

Pass clock over the data connection just like you do with aggregate devices with no word clock or digital audio connection. There will be a "window" on the receiving end for chasing that clock and cleaning up some jitter or dropouts. If you need a bigger "window" is when you are limited to only the lossy operation.

The most critical point is the original AD conversion being made with the converters running with a stable low jitter clock. The next would be the DA for final monitoring. Everything in between is shuttling ones and zeros around and getting them there within the latency window.

If it devolves into lossy mode, it's less than ideal but it's not as big a hit as if the AD converter clock at that first stage was jittery.
serr is offline   Reply With Quote
Old 10-19-2017, 08:58 AM   #15
SonicAxiom
Human being with feelings
 
SonicAxiom's Avatar
 
Join Date: Dec 2012
Location: Germany
Posts: 3,039
Default

First off: I'm not in any way affiliated with Audinate! I'm using Dante since 2014 in my studio connecting a digital console, several computers, a 192-channel audio interface and a 128-channel PCIe card. I'm also using Dante Via sometimes on a Laptop, for example to be able to integrate Windows Media Encoder (or other "Windows audio devices") into the Dante audio network. I admit that background info about Dante is not easy to find but I want to strongly encourage you folks to read through the Audinate website to get an idea of what Dante is (and also Dante Via and Dante Virtual Soundcard). On most audio forums and also here on the Reaper forum, there seems to be a lot of guessing concerning this topic. This does not really help anyone. Audio-over-IP is a very powerful technique that has made my workflow extremely flexible and stable yet very simple.

Basically, Dante Via resamples any audio it receives to be able to aggregate it using its own clock. This way, none of the source hardware devices or running audio applications need to be clocked or sync'ed. Dante Via handles asynchonous real-time sample-rate conversion (at the expence of latency). As long as you can avoid directly monitoring your source while recording into Reaper with Dante Via, you will not perceive the latency.
SonicAxiom is offline   Reply With Quote
Old 10-19-2017, 04:53 PM   #16
drumphil
Human being with feelings
 
drumphil's Avatar
 
Join Date: Jun 2006
Location: Australia
Posts: 3,738
Default

Next question: Exactly how much latency? If I have an audio interface in one computer with a known input latency, and an audio interface in another computer with a known output latency, assuming that neither of them are the master clock in the system and are both being resampled, how much do I add to their combined latency to get an accurate figure? for the analog to analog round trip?

If you know where this is stated in their documentation, could you provide a link?

Or, have you ever run a loop back round trip latency test yourself? If so, what figures did you achieve?
drumphil is offline   Reply With Quote
Old 10-19-2017, 05:09 PM   #17
drumphil
Human being with feelings
 
drumphil's Avatar
 
Join Date: Jun 2006
Location: Australia
Posts: 3,738
Default

Quote:
Originally Posted by serr View Post
Pass clock over the data connection just like you do with aggregate devices with no word clock or digital audio connection. There will be a "window" on the receiving end for chasing that clock and cleaning up some jitter or dropouts. If you need a bigger "window" is when you are limited to only the lossy operation.

The most critical point is the original AD conversion being made with the converters running with a stable low jitter clock. The next would be the DA for final monitoring. Everything in between is shuttling ones and zeros around and getting them there within the latency window.

If it devolves into lossy mode, it's less than ideal but it's not as big a hit as if the AD converter clock at that first stage was jittery.
I think you're misunderstanding the problem. This isn't about jitter or drop outs. It's about time drift between clocks. Any system using a "window" will eventually drift out of time further than the size of the window and will have to drop samples to get back in sync. Even if you distribute wordclock over ethernet from a stable high quality clock, there is no way to get that clock in to the converters of the other devices on the network.

Resampling is the only way to properly solve this, but comes with added latency. Well, resampling is the only way without only using audio interfaces that have wordclock I/O, and having them all linked that way.

Last edited by drumphil; 10-19-2017 at 05:14 PM.
drumphil is offline   Reply With Quote
Old 10-19-2017, 05:32 PM   #18
SonicAxiom
Human being with feelings
 
SonicAxiom's Avatar
 
Join Date: Dec 2012
Location: Germany
Posts: 3,039
Default

Dante Via's latency is 10 ms (fixed). This adds to any other audio software or hardware interface latency. For more details please look here: https://www.audinate.com/resources/faqs. Use the filter to restrict faq topics.

I'm using Dante Via for non-real-time applications where latency is not an issue (for instance audio playback). I have used Dante Virtual Soundcard on a Win 7 laptop for 2 years. Dante conversion was accomplished via a Yamaha Nuage A16. I didn't face any latency issues because I used a digital mixer to provide zero-latency cue mixes. Source signals from the A16 were easily split thanks to free Dante Controller network routing software to arrive at the laptop and the mixer simultaneously.

Meanwhile, I purchased a Dante PCIe accelerator card (Yamaha AIC128-D) which operates with far less latency than Dante Virtual Soundcard and Dante Via (down to 0.15 ms depending on the size of the network). The card (128 ins/outs!) allows real-time monitoring through the daw (Reaper ) even while a bunch of fx plugins is enabled in the monitored track, thus allowing to play "fully processed" VST instruments without perceivable latency.

I did some testing to find the most reliable setting (absolutely no audio glitches). In my environment (main pc is an Intel i5) I set buffer size of the card to 128 samples (~6 ms roundtrip) while tracking VST instruments and I'm setting it to 256 samples (~12 ms) during mixdown.
SonicAxiom is offline   Reply With Quote
Old 10-19-2017, 05:51 PM   #19
drumphil
Human being with feelings
 
drumphil's Avatar
 
Join Date: Jun 2006
Location: Australia
Posts: 3,738
Default

Quote:
Originally Posted by SonicAxiom View Post
Dante Via's latency is 10 ms (fixed). This adds to any other audio software or hardware interface latency. For more details please look here: https://www.audinate.com/resources/faqs. Use the filter to restrict faq
I can't find a reference for that 10ms figure. Can't find where they state that they use resampling, or how much latency it adds. Which question should I be looking for?
drumphil is offline   Reply With Quote
Old 10-19-2017, 05:59 PM   #20
SonicAxiom
Human being with feelings
 
SonicAxiom's Avatar
 
Join Date: Dec 2012
Location: Germany
Posts: 3,039
Default

On the linked webpage click on "Dante Via" and then on FILTER to set the topic filter. You may then use your browser's page search feature to find terms like "latency".

Last edited by SonicAxiom; 10-19-2017 at 06:08 PM.
SonicAxiom is offline   Reply With Quote
Old 10-19-2017, 06:09 PM   #21
drumphil
Human being with feelings
 
drumphil's Avatar
 
Join Date: Jun 2006
Location: Australia
Posts: 3,738
Default

Got it. Thanks.

However, confusingly they explain it like this:

Quote:
Latency is a tiny time delay (10 milliseconds, in the case of Dante Via) that is added by Dante Via to each audio stream. The slight delay gives Via the time it needs to ‘packetize’ the audio from the source and transmit it across the network to the destination before it is due to be played out.
So, what about resampling latency? Sounds like they are explaining a simple buffer.
drumphil is offline   Reply With Quote
Old 10-19-2017, 06:23 PM   #22
SonicAxiom
Human being with feelings
 
SonicAxiom's Avatar
 
Join Date: Dec 2012
Location: Germany
Posts: 3,039
Default

10 ms is enough to take care of anything the app needs to do to not risk any dropouts (resampling, packeting, etc.). Here's some more info http://www.audiomediainternational.c...ante-via/05438

You may grab the free trial version and easily find out if it works for you.
SonicAxiom is offline   Reply With Quote
Old 10-19-2017, 06:41 PM   #23
drumphil
Human being with feelings
 
drumphil's Avatar
 
Join Date: Jun 2006
Location: Australia
Posts: 3,738
Default

It's not about figuring out if I can use it. It's about clarity as to exactly how it works. I assumed that it must use resampling, which is why I'm slightly miffed at not being able to find where they state how their system actually works. I can find people saying it uses resampling, but I can't find a reference to where they got that information.

The reason I'm so determined to get a primary source for this information is that I've looked at other systems in the past where everyone assumed they must be using resampling, only to find that they were just dropping samples when things got out of sync.
drumphil is offline   Reply With Quote
Old 10-19-2017, 06:59 PM   #24
SonicAxiom
Human being with feelings
 
SonicAxiom's Avatar
 
Join Date: Dec 2012
Location: Germany
Posts: 3,039
Default

There are human beings at Audinate who may answer your specific questions: https://www.audinate.com/contact

Anything Dante has rock-solid stability and pristine audio and is used in various large scale pro audio environments. I can't imagine Via doing anything compromising audio quality like dropping samples.
SonicAxiom is offline   Reply With Quote
Old 10-19-2017, 07:03 PM   #25
drumphil
Human being with feelings
 
drumphil's Avatar
 
Join Date: Jun 2006
Location: Australia
Posts: 3,738
Default

Thanks, I think I will ask them directly.

Quote:
Anything Dante has rock-solid stability and pristine audio and is used in various large scale pro audio environments. I can't imagine Via doing anything compromising audio quality like dropping samples.
Neither can I, but I've been wrong before.
drumphil is offline   Reply With Quote
Old 10-19-2017, 07:05 PM   #26
SonicAxiom
Human being with feelings
 
SonicAxiom's Avatar
 
Join Date: Dec 2012
Location: Germany
Posts: 3,039
Default

Please report back what you found out.
SonicAxiom is offline   Reply With Quote
Old 10-19-2017, 07:28 PM   #27
drumphil
Human being with feelings
 
drumphil's Avatar
 
Join Date: Jun 2006
Location: Australia
Posts: 3,738
Default

Will do.
drumphil is offline   Reply With Quote
Old 10-19-2017, 10:31 PM   #28
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,773
Default

Quote:
Originally Posted by drumphil View Post
So, what about resampling latency? Sounds like they are explaining a simple buffer.
While some 10 mSec is necessary for compensating Network, which is in fact unpredictable (usually supposedly 10 mSec is enough, but a busy Ethernet might introduce a lot more, so you need to take care about the Network you are using), resampling needs just one or two samples of the slowest sample Rate to be considered.

-Michael
mschnell is offline   Reply With Quote
Old 10-19-2017, 11:20 PM   #29
drumphil
Human being with feelings
 
drumphil's Avatar
 
Join Date: Jun 2006
Location: Australia
Posts: 3,738
Default

What resampling algorithm are you talking about that only needs one or two samples delay?
drumphil is offline   Reply With Quote
Old 10-20-2017, 04:54 AM   #30
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,773
Default

That of course is the minimum. Maybe a more sophisticated algorithm might create less artifacts by using some more than two, but supposedly by far not as many as make up 10 mSec.

Regarding the network delay jitter, I feel that 10 mSec is not a lot. I suppose you can set a higher value in Dante if necessary.

-Michael
mschnell is offline   Reply With Quote
Old 10-20-2017, 04:42 PM   #31
drumphil
Human being with feelings
 
drumphil's Avatar
 
Join Date: Jun 2006
Location: Australia
Posts: 3,738
Default

Quote:
Originally Posted by mschnell View Post
That of course is the minimum. Maybe a more sophisticated algorithm might create less artifacts by using some more than two, but supposedly by far not as many as make up 10 mSec.

Regarding the network delay jitter, I feel that 10 mSec is not a lot. I suppose you can set a higher value in Dante if necessary.

-Michael
Look, I know how I expect the system works. What I'm looking for is confirmation.

I'm trying to confirm that the system does indeed use resampling to deal with disconnected clocks, and trying to figure out if resampling latency is included in that 10ms.

I know the system resamples everything to 48K, but I'm looking for specific confirmation that this resampling also takes care of clocking, and specific confirmation of whether the resampling latency is factored into that 10ms figure.

I'm not trying to figure out how buffering, clocking and resampling works. I already know how they work. I'm trying to pin down the specifics of this implementation.
drumphil is offline   Reply With Quote
Old 10-20-2017, 11:08 PM   #32
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,773
Default

If a system is able to aggregate (non-interlocked) interfaces that are connected via Network by introducing a given latency, I don't think that there is any doubt that it can use the same latency if aggregating local interfaces.

-Michael
mschnell is offline   Reply With Quote
Old 10-21-2017, 05:48 AM   #33
drumphil
Human being with feelings
 
drumphil's Avatar
 
Join Date: Jun 2006
Location: Australia
Posts: 3,738
Default

Quote:
Originally Posted by mschnell View Post
If a system is able to aggregate (non-interlocked) interfaces that are connected via Network by introducing a given latency, I don't think that there is any doubt that it can use the same latency if aggregating local interfaces.

-Michael
Well, I assume the same as you do, but why are we having to use deduction to figure out what could be directly stated? It isn't like this couldn't be reverse engineered, so why are we reduced to speculation and assumption?


The simple way to gain some insight is to use a round trip latency measuring program to actually measure the round trip latency so you can see if the total real world latency equals the input buffer + the output buffer + the ADC/DAC latency (which should be reported accurately by the audio interface, but hey, you can test that too) + 10ms , and then you can tell if the resampling latency is included in that 10 ms figure (assuming that figure can be trusted)...

It shouldn't be this hard. I should be able to just read a document and know all this.


Edited, read it again if your read my first discombobulated version.

Last edited by drumphil; 10-21-2017 at 06:04 AM.
drumphil is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 04:59 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.