We have GPUs for video, but what about specialized hardware for MIDI programming?

Well, I said I’ve been around computer for over 30 years, but I was perfectly clear that that didn’t include anything related to MIDI or VST instruments until very recently, and for someone who is new at this, it’s an easy thing to get mixed up, because MIDI may not equal VSTis, but MIDI notes trigger the samples in VSTis.

So I’m not sure what exactly are you trying to get at.

Great answer, and very educational. I’m actually going to look up these things to find out more about them, because while I know in part what you’re talking about (the Mac Studio being an ARM computer) but I had not heard of the NPU at all.

I know that Steinberg is offering Windows ARM versions of their software in the downloader. In case anyone here hasn’t spotted it, it’s in the “Complementary” section, and I don’t know if they are as good as their Apple Silicon counterparts, but it’s a great thing that they are offering these versions for people brave enough to build an ARM Windows PC, which I assume must be a bit of a challenge (not the building part, but the software for it being so new).

Well, I finally got around to copy that project to my PC, and soon realized why the Mac Studio with 64 GB of RAM couldn’t handle it with all tracks on:

I do have VE Pro, although at best I used it for the projects that VSL used to have on their website, which sadly are gone. On my Mac the GUI was too small and unlike the Synchron Player, there was no way to scale up the GUI.

But I don’t understand the part about hosting instruments in another machine. Unless we’re talking about those super expensive fiber optic LANs or something like that. My router gives me 2.5 Gbps, which is 312.5 megabytes per second. That is worse than old SATA SSD performance. I have one from 2015 and it gives me around 500 MBps. But let’s say you have a better router with 10 Mbps. That’s 1215 MBps. That’s just a bit better than external USB 3.0 speed. So the loading of instruments in itself would be far slower than having them in internal NVMe SSDs that can go as high as 7 MBps (or faster if you want to spend a lot of money on the PCIe 5 ones and your motherboard supports it).

Then there is what I see as a simple fact. For Cubase to play the VSTi, it has to be loaded to RAM. Am I wrong in that observation? Because that’s what I see when I load any instrument, but especially the heavy ones like the Berlin series. In fact, if you want to see the RAM go up very quickly, go to the SINE options and increase the preload buffer to like 1 second and click reload samples.

So what I see is that no matter where the instrument is hosted, to be able to be played back, it needs to be loaded into RAM. Now, let’s say you load all of them in the VE Pro plugin. The plugin itself has to load them into RAM to able to play them. So if SINE takes about 5 GB of RAM when you load Violins I of the Berlin Series directly into Cubase, if you do it via VE Pro, wouldn’t it need the same amount of RAM? Plus you’re adding VE Pro, so how does the RAM management work?

Pulling from memory - people that use separate machines to host sample libraries transfer MIDI from the “main” computer but then get audio back from the instrument host. So if you set it up that way all you need is to have a connection that’s good enough to transfer the relevant number of channels (plus an interface to transfer it). No matter how you go about it you probably will have far fewer channels of audio than the limit is.

As for loading the samples I also get the idea that a lot of people who do this work off of templates and just load up everything at the start of the working session. So it’s just the one load and that’s it. All control data comes from the “main” computer that does the programming.

Btw, when you have a separate machine do this work the loading of sample into RAM would be on that local machine so you can distribute the load appropriately.

1 Like

I admittedly scanned some of the other posts and didn’t digest them completely, so I apologize if I refer to something someone else has already said, but NO, you’re not wrong. And this is, in fact, the difference between using VS Pro to stream the audio from another computer as the hosting server, which is the one with the libraries loaded into RAM. You could load multi-mic Kontakt libraries up on the server and stream the audio via the VE plugin and free up all that RAM on your rig. The per-track overhead you’re experiencing is indeed due not only to RAM usage, but also the manner in which the different sample library is accessing the triggered samples and articulations programmatically. As others have pointed out, the MIDI portion of that operation is trivial - it’s what the MIDI is telling your massive libraries to do that causes the issue. Meaning, if you replaced the sample library instruments with something like SWAM which is an algorithmic modeler and left the actual MIDI data alone, you very well may be able to play everything “live” just fine. SWAM Cello VST is 38MB, while the NI Stradivari Cello library is 25GB. The entire 25GB doesn’t load into RAM, but depending on which instrument you choose (and how many), tons of RAM can be used. If I had your setup (being a Mac Studio M1 Ultra for the DAW and a 192GB Windows box with an i9 24-core) I’d most definitely look at leveraging VE Pro on your Windows box and using MacOS for Cubase. That said, realistically (and as you’ve already said) bouncing your MIDI tracks to audio is probably the best overall solution. But FWIW, I do exactly what you’re doing too, so I’m as guilty as anyone. But my M3 Max with 128gig RAM doesn’t seem to mind as much :stuck_out_tongue:

Indeed, and the way one connects to the VE Pro server is such that you can easily switch back and forth between connecting to the server and connecting to the local host if you have the same libraries loaded. My M3 is a powerhouse, but I still use my iMac Pro as a VE Pro server for large libraries I want to play “live” but not eat up too many system resources. However, I have the same libraries loaded on my MBP, and if I take my laptop somewhere I can just connect to my localhost as the server without having to change the templates. I don’t do it a lot, but I can if I want to.

1 Like

Yes, another machine can do the heavy lifting running the plugins, and pipe an audio stream back to the DAW. Since each VSTi isn’t bound to a single ‘mixed’ stream, such a server might also do a better job of using multiple CPU cores.

The streams back to the DAW can be done over LAN, but it can also be done with analog patch cables, SPDIF, ADAT, etc. I.E. Cubase with VST Link can do something like 8 audio channels over a single SPDIF connection in each direction (16 full duplex), plus several MIDI ports. You could also do some pre-mixing on the instrument server before plugin output even hits the DAW. It’d be kind of like running an outboard synth/tone generator. Machine(s) other than the main DAW run instrument plugins, the main DAW then gets more headroom for composing/mixing.

You’d still want plenty of RAM for which ever machine hosts big sample libraries. The ‘possible’ advantage of serving plugins in VEP (even on the same system as your main DAW), is that it ‘might’ allow better CPU and memory management for the instruments. There’s no promise it will perform better, but some users have reported that it does allow them more plugins in their Cubase sessions, fewer glitches, and protection against the main DAW crashing if a single plugin goes down. It’d sandbox plugins into their own little world, thus making it so Cubase is mostly dealing with raw audio streams. I think VEP and Audio Gridder also have some settings that can more or less put loaded plugin instances to ‘sleep’ if they aren’t active (ping it like a bar in advance to wake it up). How often do you have ALL 100 tracks making noise all at the same time? A smart instrument server dedicated to that purpose can sometimes manage resources a little better than a host that’s trying to ‘do it all’, with some major ‘audio clock related’ restrictions.

1 Like

a little tip, in kontakt reduce the preload buffer to 6kb to reduce the amount of ram that the libraries are using when fully loaded, then you can also purge the instance to reduce the ram consumed even further, you can do this also in opus and sine player but i dont remember the values.

Beware that this approach will need fast SSDs where the libraries are located, im sure you have fast ssds (m2 nvme with read speed from 3000mbps at least? 7000mbps better)

(this will fix the ram usage, the cpu usage will be the same)

1 Like

Oh, that makes sense. Clever tech.

Well, but that would defeat the purpose of just having spent a lot of money on a new PC with the maximum amount of RAM the motherboard supports. Originally I had ordered 128 GB and then I realized I was making the same mistake as I did in 2022 when I bought the Mac Studio with 64 GB thinking that 64 GB was more than I would ever need. Then I started learning this stuff and that notion went out the window. So I decided to spent another 300 bucks or so in the only 192 kit in the approved list, and last night when I loaded that giant project and I saw the usage go to 168 GB (which is compressed, so most likely it’s more than that), I was glad I spent the extra money.

Added to that, the Mac Studio only has 4 TB internal storage, and no place to put new drives. In this beast I put one Samsung 990 Pro and three 990 Evo+, all of which gave me up to 7000 Mbps in Crystal Mark. So in the Mac Studio I had libraries spread out between the internal drive and four external SSDs, only one of which was Thunderbolt and gave me a nice 3.5 GBps, but the rest were at best 1 GBps. These NVMe drives go up to 7 GBps, so all the libraries load as fast as they can.

That said, if I can make VE Pro work as a server in the Mac Studio, I would certainly give that a try, but right now I have a network sharing problem between the Mac and PC that I can’t seem to solve despite having done this a thousand times. For some reason I can’t connect to the new PC from the Mac. It used to be the simplest thing, in fact, accessing Mac shares on Windows was the pain in the ass, but the other way around? Easy as it could be. Just Cmd+K, the server address with share was already there or saved as favorite, and the first time I had to access a share, I just needed to type in my PC credentials. That worked that way with my old PC since Windows 7, all the way to Windows 11. In fact, that old PC is now in another room with a $20 adapter to connect to Wi-Fi, and even then, I can still access it from the Mac.

But that same easy process doesn’t work with this PC. It sees it on the network, but when I enter the login and password, it does the shaky thing. And yes, I made sure that it is the right password more than once in the two weeks I’ve been troubleshooting this. But that means that unless VE Pro uses something else, the network idea might not work.

Also, I don’t get the licensing for the VE Pro. Are you supposed to buy another license to use it on both machines? Because correct me if I’m wrong, but you’re supposed to launch the server in one machine, and the plugin in the other machine.

But when I try to launch the server in the Mac, I get this:

Now, when I started installing everything on the PC, I had deactivate several think in iLok to activate them on the PC, because they only allow one at a time. I’m not too happy about that, and I let them know about it because I think I should be able to have all my software installed on all my machines that I normally use, as long I’m the only one using the software. Meaning, if I have to use the PC to render something in Blender that’s going to take hours, I want to be able to use my Mac to work on music and access all my libraries there, without having to go to iLok and deactivate from one, then activate in the other one, then do it all again the other way around.

But VSL, at least based on what the “Activations” column shows, only allows two activations for their free libraries, but everything else I own from them shows “1 of 1 activations used”. So if I have to load the server on one machine, and then plugin on the other machine, and as far as the license there’s no distinction between server and client, no chance I’m going to pay for another license just for this.

Is that the way it’s supposed to work?

The DAW, in this case Cubase, plays quarterback for quite a number of things.
On one hand it makes sure that the MIDI information is sent/received at the right time.
On the other hand it operates as a “host” for the VST effects, and VST instruments. Each effect and instrument requires its own set of resources, both CPU and RAM in order to function properly. Every time you load a VST effect and/or VST instrument, some of your computer’s RAM is dedicated for that specific instance. For some instruments, the resources required may be very low in terms of RAM. In other instances, those instruments that use samples to recreate acoustic instruments may be loading hundreds of individual samples to allow them to play in a realistic way. We’ve gotten to a point with sample-based instruments that some, like VSL, could have 16 or more samples to recreate a single note. This comes from the desire to replicate the differences in sound from quiet to loud notes, as well as what’s called “round robin” samples which are duplicates of the same note at the same volume so that they don’t sound exactly the same when quickly triggered by the relatively mild MIDI work required. Then there are all of the possible articulations available for the specific instrument (open, flageolet, muted… etc)

As has been mentioned, many DAWs, Cubase included, can be set so that one instance works solely to host instruments that are then triggered over a network (this can even go so far as across the world in some situations). When using one DAW to send MIDI information to another DAW that is hosting the instruments (or samples), the MIDI goes from “System MIDI” to “System Instrument/Sample”, but the only thing that returns is audio. In this way, only “System Instrument” would be required to have the licensing for the instrument. In this situation, the method used to get the audio to the right place depends on the needs of the “studio” involved. This could be as simple as routing it to a mixer via audio cables, or as complicated as using MADI or Rednet to transmit audio in packets over ethernet.

With iLok, the typical implementation in a professional environment is still to have the physical iLok USB dongle attached to whichever system needed the authorization. This is as opposed to having the iLok License Manager authorize the specific product directly to the computer. Otherwise you would need to remove the authorization from the computer and move it to another, rather than just moving a USB dongle from one system to another… and I’m sure I’ll receive confirmation here from others who’ve been doing this a while that iLok is far from a flawless system and sometimes when moving licenses around… problems can occur.

Working with a modern DAW is complex, and there’s a lot to learn for all of us, and more to learn every day.

For the most part, if you start to rub up against RAM or CPU limitations, there are simpler methods to deal with them than adding a new computer to the mix. If you anticipate the need to keep making changes to a track, but not immediately, freezing a track will temporarily convert the MIDI+VST Instrument into audio. This will free up the RAM and simplify the required CPU usage. Otherwise, if a specific track is complete, then bouncing it to audio will allow you to take the instrument’s RAM requirements out of the equation and put them to use elsewhere.

1 Like

Don’t use a router. A lot of motherboards come with more than one Ethernet port already. If not, get a pair of inexpensive ethernet cards/interfaces and go with direct connections that are dedicated to your audio streams (check if you need special twisted cable, or the card takes care of it with normal cable [automatically, or via driver settings or dip-switches]). Optimize it for ‘steady streaming’ between two machines, as opposed to being optimized for ‘browsing the internet’ or ‘NAS style bursts of speed’.

Pick something with good drivers for music/video streaming…you don’t want ethernet drivers that instructs lots of IRQ ‘wait states’ (even if they happen so fast that the system passes all the latency checks with flying colors, device drivers more about ‘burst speeds’ than ‘steady streams’ can still cause audio glitches).

Ah, I thought the issue you were solving for was optimizing MIDI-based sample tracks on the Mac. Suggestions were predicated on that solution. If you’re happy with your Windows rig, then rock and roll :slight_smile:

FWIW, VE Pro doesn’t use SMB to “share” data, so your “file sharing” issues between the two is a different problem (as long as you can reach them both via TCP/IP, preferably by hostname). Solving your sharing issues is another issue entirely, but my suggestion is to make sure firewalls on both systems are configured to all traffic to/from each other and that your DNS is configured properly, but within the scope of this thread, VE Pro should still work. That said, it sounds like you don’t really need it now; not to solve the original issue anyway…

I concur. And in my case, I got the iLok USB stick specifically to obviate cloud-account issues with VE Pro. I put all my production keys on the iLok USB stick and left the remaining “cloud account” license for VE Pro signed in from my iMac. It seems that VE still insists on cloud-account-only support, and along with @Sebastian_Alvarez think it’s a really poor way of supporting customers. It’s a tunnel-vision approach and I personally think they’re being lazy but forcing me to accommodate their deficiencies. I just tried moving the VE Pro license to the USB stick and it’s not an option. At least the USB key solved that problem for me, but I shouldn’t have had to pay $50 because of poor vendor dev choices. But that’s another thread :slight_smile:

ADDENDUM Looks like I’m wrong - the interwebs has corrected me and indicates that one CAN move the VE Pro license from the cloud-account to a USB key, so that’s good news from a “solution” perspective. I may just get another USB key and be done with it. I’m glad I participated in this thread, otherwise I wouldn’t have reviewed a better solution!

Well, my router is pretty fast. Today I was transferring files non stop for 3 hours and I had Task Manager open in Windows in the ethernet page and it was showing me a consistent 2 Gbps.

Besides, my motherboard doesn’t have two ethernet ports, but it overcompensates for it by bringing 10,000,000,000 USB ports, so it’s OK.
I have an extra ethernet card, but then I would have to buy an ethernet to USB-C adapter for the Mac, so the router can do just fine.

Well, if I could choose I’d still work on my Mac, but for that I would have to be rich enough to spend $8,000 on a new Mac Studio with 8 GB of internal storage and 192 GB of RAM, which unfortunately I’m not. Seriously, if I was rich I would spend it, because macOS is vastly superior to Windows. Unfortunately, with Apple Silicon Macs you’re stuck with the amounts of RAM that you decide at the time of purchase, no upgrading anything. On the other hand, building a PC from scratch allows you have even more internal storage and an Nvidia RTX graphics card, and more than 8 USB ports.

I’m not sure if they are being lazy. I had asked Paul of VSL months ago why their paid products were only linkable to the cloud iLok and not the machines, and he told me that it was because linking them that way meant that it was harder for hackers to steal their software. I’m not a software engineer so I don’t know if that’s true or not, but I’m not going to assume that he’s just lying, as I will not assume the contrary either.

But what I know is that they’re shooting themselves in the foot with that way of doing things, because what happens if you have a crappy internet provider like Spectrum, or if you simply are on a plane and want to work on some music, but don’t have internet access?

It’s also rather crappy that they only allow their paid instruments to be installed on one machine at a time, or at least licensed on one machine. To be able to use VE Pro on my Mac as a server, I have to deactivate it on my PC, as well as all the libraries I want to use there. Then I have open iLok on the Mac, and activate all of that. That’s if I want to use VE Pro as a server on the Mac.

But let’s suppose I have a project for which I’m fine with my new PC, and given the amount of RAM that it has, it has to be an insanely gigantic project for me to get close to the 192 GB. So most likely I’d prefer to use the VSL instruments directly from the Synchron Player on my PC. But I had activated them on my Mac, so now I have to activate them on my PC. It’s just annoying and a waste of time. Why not just give people activations on two machines? I mean, how is that going to lead to piracy? How many people, realistically, are going to buy VSL instruments, if they had a limit of 2 machines, and use one on their machine, and the other one, give it or sell it to a friend? Does that sound realistic? To me it doesn’t. What sounds realistic is that most people have either a Mac and a PC, or a Mac Studio and a Macbook Air or Pro, and they will use those instruments themselves, on one machine at a time.

So yeah, they should really find a better way to do licensing.

You CAN still work on your Mac with exactly what you have now if you set up VE Pro as a server on the Windows machine and use the client plug-ins on the Mac with some caveats:

  1. Your library vendor’s licensing allows you to simultaneously install and use the libraries on 2 computers at the same time. Most do. Even if they don’t you could just license them on the Windows machine and use VE Pro, though that’s a bit limiting. But NI, UVI, Spectrasonics, Output, EastWest, all allow at least 2 simultaneous use licenses, as does Steinberg and Ableton. So you should be good.
  2. You either buy a USB dongle for your VE Pro license and schlepp it between both systems when needed, or you just use your existing Cloud License Session on the Windows machine. The problem there is that you probably have OTHER stuff you want to run on the Mac that is ALSO using that Cloud License Session, so that’s an issue. I bought the USB stick and I’m happy with that. The ONLY license I have on my cloud session is VE Pro, and that’s logged on from my iMac Pro, which I’m using the way you could use your Windows machine. Everything else in on the USB stick I have in a TB4 hub on my MBP.
  3. You plan for when you’re going to take a system offsite. You said you have an M1 Studio now, so you’re stuck at home anyway so that shouldn’t be an issue (unless you’re going to break it down and carry it off to a session somewhere). If you DO do that, you’ll already have the libraries installed on it and can just reconfigure your server assignment for the VE Pro plugin (by running the VE Pro on the M1 while remote). Note, of course, doing this means you’re back to the 64 gig limit, so you’ll have to manage your tracks better or bounce audio while you’re remote.

It’s not a panacea, but it will work just fine as long as you pay attention to what you’re doing and you build up some templates before hand so you’re not reinventing the wheel every time you spin up a new session.

Combining threads, I don’t think they (VE) are so much worried about the instruments as they are people pirating the server software that will let them serve ANY instrument. People can just rip the audio of the instruments today and share ghetto-sample libraries if they really want to and there’s nothing they can do about that. But all that is solved with just buying an iLok USB key (or two) or of course just buying another VE Pro license if it comes to it, though you shouldn’t ever have to do that.

I too have a 2.5 gig switch (though it’s managed) and it’s perfectly suited for far more than I could ever push for audio, including Dante. Brian’s suggestion would apply to ultra-demanding loads, but even then the latency created from a local switch (not a hub) would be in the low microseconds (not milli, micro). That said, some of the older Avid solutions required crossovers, which is lame in my opinion, but who knows. In my opinion your local 2.5gig switch will be absolutely fine, and you don’t have to much about with route tables :slight_smile:

Thanks for the advice, but sounds like too much of a pain. Plus, I don’t have all the libraries installed on my Mac Studio because the internal drive is only 4 TB. I’m about done installing all the libraries on the new PC, and I’m not going to start adding up, but based on the progress I was seeing, I needed 3 4 TB SSDs to spread all the libraries, plus part of the system drive. None of them are full, that’s the point of spreading the libraries across several drives, but most of the capacity in three of the SSDs is libraries.

That said, the VE Pro thing will come in handy at some point because I still would like to stay current with Logic Pro, even if I haven’t used in ages, because I learned that many studios are using it. So it’s a good thing to know that I can host the VE Pro server on my PC and load the instruments in Logic Pro.

But my main DAW is and will always be Cubase, so I’m just as happy using it in my new PC, which was the main reason behind building it.

1 Like