VST and TCP/IP...possible?

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

Ok this is a strange one...

Is in theory possible for a VST or VSTi to send and/or
recieve data on TCP/IP on a local computer or over a lan?...or even over the net?

I'm thinkin' about a plugin that can control or be controlled a Flash server...obviously i'd like the VST control will be automatable and controllable via MidiCC or MidiNote events...

I need some expert opinion....

thanx

lalo

Post

It can. They call it "FX Teleport" round 'ere, m'boy....
my other modular synth is a bugbrand

Post

FX Teleport moves the audio samples over the LAN, of course. Like lalo says, MIDI over LAN would be more useful for controlling stuff...

http://www.halfbakery.com/idea/TCP_2fIP_20over_20MIDI

Ah, sorry, not that way around... Try this? http://www.cs.huji.ac.il/~anker/Abstrac ... smidi.html

Essentially, the VSTi would open a socket to a known port at a given address where a WDM miniport driver would be listening, implementing a MIDI port. You'd then have to use something like MIDI OX to send the LAN MIDI data out over the physical MIDI port to control hardware. Of course, rather than use a VSTi, you'd probably write another WDM miniport driver to implement the other side of the MIDI interface over the LAN, and use that directly from the host.

If you just wanted to invoke a webservice (I assume that's what a Flash server is), then your VSTi would just construct and issue HTTP requests and process responses. (It would be easier to have the VSTi poll to get "commands" if you wanted it slaved to the server.)

In any case, you'd want to have a good model to follow for handling the network latency if you expect plugin delay compensation to work..! :-)

Post

pljones quoth FX Teleport moves the audio samples over the LAN, of course. Like lalo says, MIDI over LAN would be more useful for controlling stuff...

Yeah, I was just pointng out that if FXTeleoprt can move audio, then less demanding date is going to be much easier.

For this sort of thing it might be worthwhile looking at CPS... Its a MAX type environment, but not only can it be used as a VST plugin, but it has support for various network protocols built in... including HTTP, which could be generated via Flash...
Last edited by whyterabbyt on Wed Dec 03, 2003 10:34 pm, edited 1 time in total.
my other modular synth is a bugbrand

Post

that sounds...complicated pljones. try MidiOverLAN. i think they have a demo, it works pretty well. also includes midiyoke style loopback features. not sure if other plugs can send OSC, but you can do it from pdvst, a real simple patch could translate vst or midi-cc automation params into osc if you wanted to control a copy of traktor on a remote machine, or wahtever else..some visuals, google for pdvst..

Post

A pre-built solution is always going to be easier than building something yourself... But if you build something yourself, you can have exactly what you want. With power and flexibility comes choice and complexity. It's always a trade-off.

The TransMIDI reference was for a "pre-built" solution, which I proposed as a model of how one might base a custom design. The pitfalls with using a "pure MIDI" implementation of what lalo was proposing also include complexity. Webservices are now sufficiently mainstream you can implement them with pre-built modules. So, if that's what you want, interrupting the flow with a needless MIDI implementation is just overhead.

Post

It's a great way to introduce extra random latency!

You might want to consider using a mixture of TCP and UDP... TCP to connect, authenicate and agree a UDP port, then UDP broadcasts to do the transmissions. This runs the risk of lost packets, but will reduce latency.

Just some thoughts,
DSP
Image

Post

I just found MidiWeb over at Smartelectronix (jason). It may be helpful to you. GPLed too!

Post

THANK U SO MUCH GUYS!!!
A lot of useful informations!!!!
...hope this thread continues to provide even more info.

thanx a lot

lalo

Post

Oh yes! Tom's article http://www.kvr-vst.com/forum/viewtopic.php?t=31273 reminds me - if you're playing with MIDI, do take a look at KeyKit: it's a huge resource of ready-written code for mangling MIDI messages and, IIRC, it does have some network handling.

Post Reply

Return to “DSP and Plugin Development”