What's new

Dante PCIE + VEP + Cubase?

OK I've done a basic experiment using Dante as the audio transport and macOS network MIDI as the MIDI transport. Within the confines of the experiment (a couple channels) it works perfectly with no discernible latency. There's a number of pieces to put together, I'll sketch it out.

Setup
  • Setup Dante network.
    • I have 32 channels of hardware Dante on the slave side, but I need 44 for a standard orchestra (24 instruments in stereo). I could go mono but decided to just DVS (Dante Virtual Soundcard) on both ends with 64 channels total. My network is configured properly with QoS on the switches.
    • Just use Dante Controller to hook the outputs of the slave channels to the inputs of the controller/main computer
  • Setup the MIDI network channel
    • Go into Audio MIDI setup network panel and set up network MIDI channels. I need 24 so I created two sessions (16 MIDI channels per session) on both computers, then just had them connect to each other.
  • Setup the VI server.
    • There are articles on how to do this in Logic. One problem, Logic really likes to have a single audio interface, and a single document open at a time. With this I need AVS to be the audio device - not my hardware interface I normally use. Plus I didn't want this to interfere with the work I do on the 'slave' (it's really a slave to the other computer since it has the VI's, but I do most of my work on it).
    • Setup MainStage 3. Neat solution, MainStage supports setting the audio interface per document, unlike Logic, and is better with multiple documents open.
    • Create a new MainStage session, get rid of the junk in there, then create a bunch of "Keyboards" in the layout, but assign each one of them to one of the MIDI channels from the two network MIDI interfaces created earlier.
    • Then add channel strips for each instrument (piccolo, flute, ...), and set them up to have MIDI input from each of the 'keyboard' objects.
    • So basically piccolo takes your first network MIDI session channel 1 as it's input, flute takes the first session channel 2, etc.
    • Then just route their respective outputs to AVS channels (1-2, 3-4, etc).
  • Setup the master computer
    • This is in logic. Put down a bunch of "External MIDI" instruments. Route the MIDI to the network MIDI channels (piccolo goes to first interface channel 1, etc). Audio output goes to whatever you usually have.
Latency

I have three managed switches between the two computers which is the maximum recommended from Audinate
  • AVS
    • allows for a minimum latency of 4mS
    • In Dante that means it's the maximum latency, you can get better than that
  • Logic
    • 32 I/O buffer gives some glitches
    • 64 is glitch free in my basic testing with a roundtrip of 9mS
  • Dante
    • Dante Controller normally gives you actual latencies per connection/device, but it's not pulling it in for some reason. Something to investigate, I've gotten this before
  • Network MIDI
    • Audio MIDI Setup is reporting 0 latency but I don't know if that's real


Done! I only set up a few because to get the templates worked out will take some time as it's a lot of repetitive setting of stuff, but it can obviously be saved to a template. Best is I can leave MainStage up all the time, it won't interfere with the Logic work on that computer, and then on my other computer now I can get some work done and stream all my samples from the computer which has them.

Of course as said earlier this all could be done with VEP, but I'm already a Dante studio and like to stay with that if I can. I will go ahead and flesh out a full orchestra to see how it works with 44 channels of audio streaming with 24 channels of MIDI.
Great walkthrough! Really curious to see how it scales up! Wish Windows had an equivalent to Mac osx network MIDI that shows up in VEP standalone.
 
I tried to get rtpmidi working on my pc and I couldn’t get reaper to see it either but it’s entirely possible I am missing a step, maybe you can still get that to work
 
One annoying thing about macOS network MIDI is that it doesn't auto reconnect, but it just takes a few clicks. Here is a great new guide to network MIDI. In the comments the author mentions a script he has for sale ($5) which will do that for you.

I'm setting up a big template, taking a while as I'm having issues with EWHO Play. Anyhow it's going fine, one thing is that MainStage does support custom articulation sets, but it's presented differently than in Logic.

So far very pleased with this solution, a nice thing too with network MIDI is that you can connect multiple clients, which is useful since I use a number of computer. MainStage is a very capable performance oriented DAW and this brings up all sorts of possibilities. Such as MIDI scripting on the slave side, plugins or quickly switching between sets for working with different instrument sets. Experiments progressing ...
 
MS has much of the functionality of Logic but presented differently.

  • Select a channel strip to see the settings in the Instrument Channel Strip Inspector
  • Select the MIDI Input tab to set the MIDI network input, which comes from the keyboard control set up elsewhere.
  • Select the Layer Editor tab to set the articulation set to be used. Any articulations created in Logic appear here, and you can make new ones that then would also show up in Logic. The editor is the exact same as used in Logic

One problem I realized is I’m working in surround. From an Audionate white paper I think 1 gbps Ethernet saturated at 128 bi directional channels, say using the Dante 128x128 PCI card, but that still only gives you 16 instruments. So you'd want to bus them, which I already do in Logic. I bus the woodwinds, brass, percussion, extra and strings in Summing Stacks. MainStage doesn't support surround, so you lose the nifty surround panner and simplicity (a single bus can handle any number of channels), but it can be done.

Or of course I could slave with Logic which gives all that, then send the orchestra sessions (ww, brass, perc, extra and strings x 8 = 40 channels total)
 
That's pretty cool! If you setup input keyswitches in the articulation set, the layer keyboard picture greys out the input key switch keys. Wow, thanks again for pointing that out... That opens up a bunch of possibilities for key switchable patches in MainStage.
 
Glad to help - I didn't know either until setting up this demo and realized 'uh oh, what about key switching'? The only mention I found was in release notes, but it looked like maybe they just supported it with the built in instruments. Anyhow, turned out they added it simultaneously to Logic and MainStage, but you have to dig a small bit to find it in MainStage.

Looks like you also have EWHO Diamond as I do, with this I was wondering if it's possible to get around the 16 patch articulation limit with Play. Meaning Play can load more patches per instance, but the only way you can address them in the articulation system is via the 16 MIDI channels. Anyhow I haven't come up with any tricky answers, maybe somebody will think of something.
 
We're getting Off Topic, but real quick I think Play is going to be 16 midi channels per play-instance, and whatever key switching play supports, which isn't much.
 
Bit of an update.

Finally got rtpMIDI to show up as a MIDI device in VEP. It wasn't showing up because.... I view my slave systems over remote desktop and it was taking over my audio devices. Turning that option off allowed rtpMIDI to show up in VEP stand alone and everything works fine on that front now.

Next thing that I need to get working is Dante itself. I picked up 3 RedNet PCIeR cards, one for each system in my set up, and I can get Dante Controller to see them, but I can't route channels across cards yet for some reason, and the grandmaster clock says unknown. I've reached out to Focusrite so we'll see if they can help.
 
Next thing that I need to get working is Dante itself. I picked up 3 RedNet PCIeR cards, one for each system in my set up, and I can get Dante Controller to see them, but I can't route channels across cards yet for some reason, and the grandmaster clock says unknown.

Very nice!

Check the ethernet interface that Dante Controller is using, try the different ones on your computer. It can get a little picky about this. Also make sure you're networking it straight forward, it can't handle aggregate network devices, nor VPN's that block local traffic, it needs direct access to the raw ethernet interface.

The grand master is automatically configured by the network. Not seeing it likely means your computer is not seeing the network, not that the network isn't configured which all is automatic. Also that you can't do routing indicates this.
 
Last edited:
Very nice!

Check the ethernet interface that Dante Controller is using, try the different ones on your computer. It can get a little picky about this. Also make sure you're networking it straight forward, it can't handle aggregate network devices, nor VPN's that block local traffic, it needs direct access to the raw ethernet interface.

The grand master is automatically configured by the network. Not seeing it likely means your computer is not seeing the network, not that the network isn't configured which all is automatic. Also that you can't do routing indicates this.

I see, thank you! When you say try different ethernet interface, do you mean trying both the primary or secondary interface on the PCIeR cards?

Currently the Dante network is on a dedicated LAN with no other network traffic. It's routed through a Cisco SG350 managed switch, but I haven't tried configuring it. One thing I wonder about is whether the IP ranges need to be consistent on my computer and on the switch? My computers are in the 10.0.0.0 range and the switch, by default is, 192.168.0.0. Could this be the source of conflict perhaps?
 
I see, thank you! When you say try different ethernet interface, do you mean trying both the primary or secondary interface on the PCIeR cards?

No the second card interface is for failover, I think the problem is computer side - Dante Controller can't see the network the cards are on. Hard to debug without being in front of it. I was taking about the ethernet interfaces on whatever computer the Controller app is running on, that's probably the problem.


Currently the Dante network is on a dedicated LAN with no other network traffic. It's routed through a Cisco SG350 managed switch, but I haven't tried configuring it. One thing I wonder about is whether the IP ranges need to be consistent on my computer and on the switch? My computers are in the 10.0.0.0 range and the switch, by default is, 192.168.0.0. Could this be the source of conflict perhaps?

I assume you mean that the switch web interface is on the 192 network, that's OK as long as it's routing the 10.0 traffic. However since this is a dedicated network yes there could be an issue - those PCI cards need a DHCP server for example to tell them their address. Check the blinky lights to see if there's some info there. Seeing all the interface pulse in sync at a rate of 10/second or something is the master clock sync. My entire network lights up with this like a metronome. If that's not the case then your network set has issues and the cards aren't seeing each other.

By the way dedicated network is a common brute force approach but hardly necessary. With those Cisco switches you can configure traffic control. I have an incredibly busy shared network and don't drop packets because of proper traffic control. Audionate shows how to configure it for the Cisco switches on their website.
 
Last edited:
Thoughts on good DAW's for pure plugin hosting? Again I'd like to see how well I can get this to work without VEP. All it needs to do is route MIDI and audio. MainStage works OK, but doesn't support surround and there might be better options.

Ardour is looking like a good option.
 
Last edited:
Well there is the non server version of VEP... if you have it already...very capable, one nice thing about it is that it has an actual mixer with channel strips....that is rare to find in any hosts other than full out DAW's all of which would work fine for this task too.

Any DAW out there would work, such as Reaper, Ardour or any other.

BlueCatAudio PatchWorks, PlogueBidule, ImageLine Mini-host modular(free). None have a mixer channel paradigm, PlogueBidule might have surround capabilities, but I'm not sure.

On Windows there is VstHost, Cantabile

Not what sure what exactly is your need in surround, if you need actual surround panning as a built in feature, then you are probably best off just running another DAW that has surround panning.
 
Top Bottom