External VST for real-time use?

I’m doing mostly orchestration these days. I use a Roland RD as my primary keyboard, and I love it, except that the onboard orchestral sounds are very poor. I’ve played on a Clavinova CVP before, and those onboard sounds are much better. At least convincing enough for real-time input.

My primary means of writing is to input to a click, playing along with the existing instruments. But when the onboard samples are awful, it’s a bit of a downer. The Roland has no harp, the brass is painful, and the winds are painful too.

Noteperformer samples are good enough for me to use to write, but I can’t seem to get MIDI thru to work in Dorico… but even when I did in the past, there was too much of a delay to use it with a click. So that doesn’t seem ideal. I can play precisely enough to Dorico’s click that there is not much clean-up, but that requires very low latency to work correctly. I was thinking my best option was to open Kontakt outside of Dorico and use libraries there, but when Dorico is open, I can’t get Kontakt to work.

What do other users do for this workflow? What is the easiest way to get access to more realistic sounds with little-to-no latency? Is there a way to somehow trigger sounds through the keyboard, or in some way that latency is almost gone? Thanks.

Dan, what audio interface do you use? I am running mine at 256 samples for recording (using the same method you described) and 512 to 1024 samples for playback. The delay seems quite manageable to me.

I have a Focusrite, so that part is fine. But I’m using NotePerformer, which has a delay. Also, I like to hear that instrument much closer and louder, as if I’m the player. That’s a struggle with NP.

Ah yes, NP does indeed have a 1 second delay or so. Is it possible to have a “dummy” instrument and player that uses for example a HSO and is only meant for recording, with the data then copy pasted into a proper NP instrument?

I have a DX7 with a separate set of (small) speakers for output and find the Jazz Guitar patch suitable for monitoring notes while sending MIDI into Dorico.

I have to confess I do not often play notes into Dorico real time.

Probably, just not sure how to set that up in such a way that I can quickly and easily switch instruments. When I have used a Clavinova in the past, it’s as easy as pushing a button on the keyboard to switch sounds!

I really wish there were just a simple way to transfer all of the sounds from a Clavinova into my desk setup…

I haven’t tried it, but thinking out loud perhaps like this:

  • create a player with an HSO instrument
  • set up a custom “recording” layout that excludes NP instruments and uses the HSO, eliminating the delay and enabling low latency recording to the click
  • copy paste recorded data into the intended NP instrument and edit

The big advantage of NP is it’s premixed, balanced and spatialized. Recreating this with other libraries is going to be a major undertaking. Perhaps a library from a single developer and single series comes close, such as Orchestral Tools “Berlin Series” or VSL, but the price tag is enormous. That’s why my first thought is to find a workaround and retain NP.

Just talking about what I do…

Dan, I don’t have any perceivable latency just loading (most) VST into Dorico and playing. That’s about as simple as I can think of. The biggest thing I notice is the travel time and force required of the weighted keys on my Keystation Pro. That probably speaks more about my own limitations - but I am more accurate timing-wise with the small spring-loaded keys on my Arturia.

For sketching out: If I know that I’m after something in particular (say Strings) I might use Spitfire intimate strings, or a patch in Opus Orchestrator that puts Brass, Strings or whatever on a grand staff.

While I have a fast machine, Opus doesn’t change out all those patches instantly. For that I’m fond of the Synclavier V (again Arturia) . It may not be your cup of tea, but what I like is if you go to “screen” screen (Emulates the original Synclavier PC interface) You can quickly load whatever samples you want in up to 12 “partials”. I could sample a big Opus Brass section patch as one sound (if I wanted) as just one partial, and have it at my fingertips for pretty much push button instant loading… It isn’t the same (as good) as the actual libraries of course - but very fast for that phase of writing.

I will go ahead and step in it, and say that NP just doesn’t work for me, for a number of reasons but this is one.

Thanks for all your help over the years BTW,

1 Like

Are you using a MIDI Router to route the signal to Dorico and Kontakt simultaneously? I use Bome, but there are freeware routers like MIDI-OX too. My workflow is a bit different I guess because any time I touch my MIDI keyboard I want to hear a piano. To do this, I route the signal to both a standalone piano and Dorico so the signal is received by both simultaneously with low latency, and leave MIDI Thru off in Dorico. I just checked and I could easily do a similar setup using Vienna Ensemble Pro, and have it play back whatever instruments I have loaded on channel 1. Perhaps if the Kontakt route doesn’t work, you could load into VEPro, then mute or solo as needed if you wanted to hear various groups of instruments together.

Thanks, that sounds like what I might want. I’ll try routing it.

1 Like

Windows or Mac?

I’m on Windows 10, and for maximum flexibility with all sorts of equipment, multiple hosts running on the same or different machines, etc…here’s my setup.

  1. A good virtual MIDI port. I stumbled upon loopMIDI some time ago and find it to be quite good. One can add/remove ports at any time and name them as you wish (they do need to be under the same user account…I.E. you can’t have two users logged in to the same or different machines, and share ports among them straight away…use rtpMIDI if you need that ability)

  2. Check out the trial version of Bidule. It’ll run for free in stand alone mode until something like October of 2022 (and at some point a new free license typically is available to replace the one that expires in October). If you end up liking it and register, you can also run it as a plugin (VST2, VST3, AU, CLAP, etc) inside other hosts.

  3. I also want to route audio streams about, so I’ve installed ASIO Link Pro (now a free utility). This utility serves as an audio patch bay. It can route audio among any ASIO or WDM apps, and of course in and out of your audio device. If your audio interface doesn’t include proper ASIO drivers, you’ll also want ASIO4ALL (or some comparable generic ASIO driver)

  4. I make what I call INPUT virtual ports for each of my MIDI controllers. I.E. For my MPK MIDI Controller Inputs…I’ll make a virtual port called something like, “MyMPK1” and “MyMPK2”. I’ll make other for my WindJammer called “WinJam”. I also have one for MTC (timecode), and a couple of spare ones generically named ‘loop1, loop2’.

  5. I Launch all of my hosts (Such as Dorico, Cubase, Sibelius, Finale, etc.), and disable ‘input’ from everything BUT these ‘virtual ports’.

The goal is to use Bidule to decide what physical devices to claim and route where-ever I like using virtual ports.

  1. Inside Bidule, I connect my controller inputs to the virtual ports. Why? Some of my controllers don’t have every good multi-client support for their included USB>MIDI drivers (the first app that grabs it locks it down so other apps cannot use it). The loopMIDI virtual ports don’t suffer from that problem, and multiple clients can access them without issue. Now I can route MIDI anywhere I like from inside that inital stand alone instance of Bidule. I can also do fancy real time MIDI manipulation/transformation from here if I like. Since Bidule also includes an OSC server/client, I could even add stuff like wireless Tablets/Phones/iPads to the MIDI controller equation.

I can host plugins in this instance of Bidule too! I.E. Load an instance of Kontact that you can ‘doodle with’ all you like…independently of what gets sent into Dorico, or other hosts.

  1. Optional, but I do use ASIOLinkPro in my setup. Note that it’s possible to skip ASIOLinkPro and just take advantage of MIDI routing and some internal hosting. Some audio devices have good enough ‘monitoring’, and maybe even built in loop-back features that you might not need ASIOLinkPro if all you want is to be able to ‘hear’ what’s going on with live instruments, stand alone synths/samplers, or plugins hosted in places besides Dorico.

I use ASIOLinkPro in multi-client mode, and Bidule to set up a 1:1 through configuration with my audio device by default. The remaining channels in combination with the loop-back rail in ASIOLink can be used to get all sorts of options in mixing audio, and sending streams anywhere I want…including over the LAN to other computers capable of running ASIOLink as well.

Dorico doesn’t yet have user supported INPUTS for getting external equipment into the Dorico Mixer, but at this point you can still use Bidule (and/or the internal mixer in ASIOLinkPro) to get an audiable mix (through whatever device outputs you like…even more than one set of them if you need it) with Dorico.

  1. Occasionally I want to get the input of an external instrument running through the Dorico Mixer. Since I have registered Bidule, I can host an instance of this in Dorico, and use something like reaStream to divert the audio from my initial stand-alone Bidule instance into the one hosted in Dorico.

I’m not sure about Dorico 4 (previous versions didn’t render in real time, and external MIDI instruments sounded like a train wreck during the process, and weren’t in the mix at all), but I do know that in the past rendering directly to Audio from Dorico himself when using external instruments could be problematic. In my experience, when I wanted to mix in sounds from my external Roland XR…I had better luck simply playing the Score, and recording in real time elsewhere. I.E. Through a recording bidule in the main instance. Or, with a registered version of Bidule (if I wanted to combine bidule/reastream so I could use exclusive Steinberg effect plugins on the Dorico Mixer channels)…as a plugin hosted in the last of Dorico’s main effect slots.

It’s been a solid setup for me since early days of Dorico hitting the streets. There was a bit of a learning curve making things behave exactly how “I” want them to behave, but in the end, it has been super flexible, and in the present tense, I find it extremely easy to use.

Thanks Brian, I’ll check that out. I’m on windows.