NetVST Wiki

networking for VST/AU plugins

User Tools

Site Tools


setting_up_your_lan

Setting up your LAN

TCP/IP networking is a complex subject, and I won't attempt to explain it fully here, but there are a few important things you should know to use the NetVST software, even if only on a single computer.

NetVSTHost, NetSynth and NetFilter communicate via TCP/IP networking. NetVSTHost acts as a “server”, meaning it “listens” for connections from the “client” plugins. Each computer or other device (e.g. tablet, smartphone) on a TCP/IP network is assigned an “IP address” which is a string of four numbers in the range 0..254, e.g. typical home networks will use addresses like 192.168.0.x where x is in the range 1-254. Each running program that needs to make network connections uses a separate “port number”, which for NetVST is in the arbitrarily-chosen range 27016..27048. To connect a plugin instance to a specific running instance of NetVSTHost, the IP addresses and port numbers must match.

The [IP address, port number] combination is like a telephone number. When you set the IP address and port number for an instance of NetVSTHost, that's like the phone company assigning a number to a customer. When you enter the same [IP address, port number] pair into a NetSynth or NetFilter instance, that's like using another phone to dial that customer's number.

Your local-area network (LAN) will typically assign each connected computer a unique IP address automatically, using a technique called DHCP. This automatically-assigned IP address will be one of at least two (possibly more) which will be displayed in the IP Address pop-up menu for NetVSTHost (which you open by choosing Network… from the Devices menu):

The important thing is to choose the right IP address entry from this pop-up. Which one is the “right” one will depend on your setup, as discussed below under different section headings.

The Port Number is for you to choose. In the NetVSTHost “Select Network parameters” dialog shown above, you could in theory enter any valid port number between 1024 and 65535, but in practice, you should limit your choices to the range 27016 through 27048, because the plugins (which use slider to select the port number) can only choose numbers in that range.

If you are only running one instance of NetVSTHost on a given computer, you needn't worry about setting the port number at all—just leave it at the default value 27016. If you need to run more than one instance of NetVSTHost on a given machine, you need to make sure you give each one a different port number.

No physical network, single Windows PC

All modern computer operating systems implement a “fake network interface” called the loopback interface, which always uses the special IP address 127.0.0.1. If you are running NetVSTHost.exe on the same Windows PC as the DAW which hosts your NetSynth/NetFilter plugins, set the IP address to 127.0.0.1 everywhere.

If you are running a single instance of NetVSTHost, use the default port number 27016 everywhere. The main reason you would do this on a single Windows PC is for 32/64-bit bridging. If your PC DAW is 64-bit, you can run the 32-bit version of NetVSTHost and load 32-bit VST plugins (instruments and effects) into it, then use the 64-bit versions of the NetSynth or NetFilter plugins in your DAW.

If you need to run more than once instance of NetVSTHost, just make sure that you assign each one a different port number, and use that same port number in the NetSynth/NetFilter instance you use to connect it to your DAW. The main reason to do this is to set up a specific combination of instrument and/or effect plugins in each NetVSTHost instance, e.g. you might have three stacked VSTi's in one instance, and a single VSTi plus a chain of effect VSTs in another. Each NetVSTHost instance then serves as a particular “compound” instrument.

No physical network, single Macintosh

The new Mac version of NetVSTHost allows you to run 32-bit Windows VSTs (.DLL files) and access them from a Mac-native DAW (either 32-bit or 64-bit) on the same Macintosh computer. (The Mac/AU versions of NetSynth and NetFilter are “fat binaries” containing both 32- and 64-bit versions of these plugins.)

For some reason, you can't use the loopback IP address 127.0.0.1 in this case. You have to choose one of the other IP addresses which appears in the IP Address pop-up menu in the Select Network parameters dialog of NetVSTHost. The best choice is the IP address for whichever network interface you actually use to connect to a wired LAN or Wi-Fi network. On a typical home network, this will be an address of the form 192.168.x.y, or in some cases 10.x.y.z. There are many possibilities, and it is up to you to figure out which IP address is the correct one, but it's not really complicated—just choose one, and if it doesn't work, try another until you find one which does work.

When you tell NetVSTHost to listen on the IP address for a physical network port (Ethernet or Wi-Fi), it will then be ready to accept connections from across the physical network. It will also accept connections from NetSynth/NetFilter instances running on the same computer, though, which the Mac OS will treat as “loopback” connections—nothing will get sent over the physical network at all, and this is the only reason why you can even choose an IP corresponding to a Wi-Fi connection.

No physical network, single computer with virtual Mac or PC

Before I was able to make the Macintosh-native version of NetVSTHost, the only way to run it on a Mac was to use VMWare Fusion or Parallels Desktop, or VirtualBox and run NetVSTHost.exe in a virtual machine (VM) running Microsoft Windows.

I'm not sure about the others, but VMWare Fusion sets up a virtual LAN (VLAN) with its own special IP address range (on my Mac it's 192.168.148.x), and assigns addresses in this range to every VM, and one to the host Macintosh itself. If you were to run NetVSTHost.exe in a VM, you would set its IP address to the VM's VLAN address.

You could do something similar on a Windows PC using VMware Workstation, though I can't imagine why you would want to.

Multiple computers on Wi-Fi

Forget it. Wireless networks have too much latency to be used for NetVST. Don't even try using them. Sorry.

Multiple computers on a physical Ethernet LAN

Now we finally get to the main reason why I created NetVST—running VST plugins on a separate computer from your DAW, to gain access to extra CPU power (at a reasonable price), and possibly to overcome platform barriers. For example:

  • I can run the 64-bit VST version of a CPU-hogging synth plugin like Spectrasonics Omnisphere, Xfer Records Serum, or U-He Diva on my Windows PC, and use it inside Logic Pro 9 on my old, feeble 1.6 GHz Core-Duo Mac Mini from 2006.
  • If I have an older PC running 32-bit Microsoft Windows, stuffed with older 32-bit plugins, I can run the 32-bit NetVSTHost.exe on it (as many instances as necessary) and access them in a 64-bit DAW running on a newer PC or Mac.
  • If I have a perfectly good older Mac all set up to run Logic Pro, which I've been using for years, and I'm not ready to replace it with a newer Mac (because Apple can't make a decent one for anything less than a sky-high price these days), I can use a cheap, powerful Windows PC instead, and simply run the VST versions of whatever plugins I need. (Most plugin vendors will let you pay once and use both Mac/AU and Windows/VST versions.)

Rules for setting up a nice fast LAN

  1. Use Gigabit Ethernet if at all possible. Gigabit Ethernet switches are not expensive anymore, and will work with any existing Cat5e cabling you may already have in your studio, home or office.
    • 100-baseT Ethernet will work OK, but not nearly as well as Gigabit.
  2. Don't mix Ethernet speeds! If you do, your network hub/switch will have to wait for each incoming packet to come in fully, then re-transmit it at the different speed, creating latency which will absolutely destroy your performance.
  3. Use a dedicated Gigabit Ethernet switch if you can. An Ethernet switch (as opposed to a hub) will make sure that traffic directed to one port does not go to any other port. By putting all your music computers on a dedicated switch, you allow them to use the full Gigabit bandwidth with no effect on the rest of your network, while each is still able to make upstream (e.g. Internet) connections when necessary.

Rule #2 is the most important. I ran into horrible latency when I tried to use a laptop PC which, although fairly new and powerful, only had a 100-baseT Ethernet port. My other computers (even my old 2006 Mac Mini) all had Gigabit. To fix this, I had to use a USB-to-Gigabit Ethernet adapter on the laptop instead of its built-in port.

Using a router to create a subnet with fixed IP addresses

In a typical home or office LAN, you'll have a “router” (actually a multi-function device) with a built-in DHCP server to assign IP addresses to your computers automatically. Since these devices are usually able to remember which IP address was assigned to which computer, these IP addresses will normally be stable even when computers are switched off and on again.

In a professional studio (or if your DHCP-assigned addresses aren't stable enough), it may be best to substitute a router with Gigabit ports for your dedicated music LAN. This will allow you to establish a “subnet” with its own IP address range, and “bridge” this to your main network. Although you could in theory run DHCP on this router (e.g. if your main LAN's range is 192.168.1.x, set the router's DHCP range to something like 192.168.10.x), it would be better to assign fixed IP addresses. How you do this depends on your router—most routers nowadays have very nice Web-based GUIs for this kind of thing. The complicated parts are:

  1. You must make sure the router's upstream port has a valid IP address for the main LAN
    • Most routers can be set to get one by DHCP
  2. You need to know the subnet-address for the router itself (e.g. if your subnet IP range is 192.168.10.0/24, it would typically be 192.168.10.1), because you must specify this as the “gateway” address on every computer on your music subnet.
    • This ensures that your music computers can access the Internet and other resources like printers on your main LAN.

Once you reach this level of networking sophistication, you should really have a knowledgeable person to act as your network administrator and do all setup. To do otherwise is to court serious network problems which can be hard to diagnose and fix.

setting_up_your_lan.txt · Last modified: 2017/12/05 01:31 by shane