RFC: emulating Vienna Ensemble Pro with qmidinet, zita-nj2, zita-j2n, etc.

All your LV2 and LADSPA goodness and more.

Moderators: MattKingUSA, khz

Post Reply
tseaver
Established Member
Posts: 405
Joined: Mon Mar 13, 2017 6:07 am
Has thanked: 11 times
Been thanked: 101 times

RFC: emulating Vienna Ensemble Pro with qmidinet, zita-nj2, zita-j2n, etc.

Post by tseaver »

The Vienna Symphonic Library's "Vienna Ensemble Pro" https://www.vsl.co.at/en/Vienna_Ensemble_Pro is a network-oriented MIDI/audio tool for delegating CPU-/RAM-intensive VST rendering across multiple worker hosts, tasked from the composer's main DAW host. Large-scale orchestral templates often include hundreds to thousands of tracks / instruments: Ensemble Pro lets a composer use them over the network, even beyond what her own DAW machine could handle.

I'm interested in exploring that model using FLOSS on Linux:
  • CARLA to host the LV2 / SFZ / SF2 / VST instruments on each worker, possibly including arbitrary effects plugins.
  • zita-j2n on each worker, routing rendered audio over the network to the conductor machine.
  • zita-n2j on the conductor, capturing rendered audio from the workers and making it available as "readable" JACK audio ports.
  • qmidinet on both the conductor machine and on each worker (do I need one instance on the conductor for each worker?
This much I have prototyped, using JACK to wire up my MIDI keyboard to one of the qmidinet ports, and to route the rendered audio from a worker to the playback outputs. What is missing to complete the solution is a VSTI-like plugin for use in an instrument track in the DAW. Such a plugin would need, ISTM:
  • Some way of querying the set of "bindings" (instrument, MIDI input port, j2n/n2j output port) available on each worker.
  • Some way of rendering / previeiwing the GUI for each instrument (or at least its automatable parameters and their assigned MIDI CCs).
  • Some way of rendering the note-range for each instrument (including keyswitches, etc.)
In the ideal world, these "discovery" bits would use something like avahi.

There are likely limitations I will trip over, e.g. qmidinet appears to allow a maximum of 32 ports. I don't really need the conductor to be listening for UDP MIDI, and the workers don't need to send it, and the UDP broadcast bits seem unnecessary.
Ubuntu, Mixbus32C; acoustic blues / country / jazz
varpa
Established Member
Posts: 509
Joined: Fri Feb 25, 2011 6:40 pm
Been thanked: 13 times

Re: RFC: emulating Vienna Ensemble Pro with qmidinet, zita-nj2, zita-j2n, etc.

Post by varpa »

I wonder if Autogridder https://audiogridder.com/ could be another approach for you. Just heard about it today, haven't tried it.
tseaver
Established Member
Posts: 405
Joined: Mon Mar 13, 2017 6:07 am
Has thanked: 11 times
Been thanked: 101 times

Re: RFC: emulating Vienna Ensemble Pro with qmidinet, zita-nj2, zita-j2n, etc.

Post by tseaver »

@varpa Thanks for the pointer. From the website, it looks like the "server" can only be run on Windows or Mac, but the plugin can be used on Linux.
Ubuntu, Mixbus32C; acoustic blues / country / jazz
tseaver
Established Member
Posts: 405
Joined: Mon Mar 13, 2017 6:07 am
Has thanked: 11 times
Been thanked: 101 times

Re: RFC: emulating Vienna Ensemble Pro with qmidinet, zita-nj2, zita-j2n, etc.

Post by tseaver »

Ugh, necro-bumping my own thread!

But anyway, just wanted to report that the most recent version of AudioGridder includes experimental support for running the "server" (the part doing work on another host than the one where your DAW is running) under Linux:

https://audiogridder.com/latest-releases/

Ubuntu, Mixbus32C; acoustic blues / country / jazz
Post Reply