Skip to main content

Vienna Ensemble Pro as plugin or as external MIDI instrument?

Posted

The only way I've been able to understand and get Vienna Ensemble Pro to work is to add an external MIDI device to my rack and then manage the IAC bus numbers and MIDI channel numbers manually. That's fine, but is there some big advantage to managing VEP as a VST3 plugin in my rack instead? I did try that, and without going into detail as to what I could and could not understand or get to work, my impression was that it didn't really offer any workflow benefits. I guess there's info in the repository that will make patch naming more convenient (and maybe other things), but it's not really a big deal if I keep track of things and name things myself. I can use the VEP app to save configurations, such as per-IAC channel collections of MIDI channel/patch assignment combinations. Would I be missing out on particularly useful Synfire functionality with the external MIDI work method, or is it all pretty much the same in the end?


Sat, 2024-08-31 - 12:53 Permalink

Yes, I see now. I'm making progress bit-by-bit because the process is not obvious. It seems that the repository, despite the many VSL descriptions available, isn't so useful because they're incomplete and don't name things in the way I'd prefer to have them named. That leaves a lot of initial setup.

Sat, 2024-08-31 - 13:01 Permalink

The VSL descriptions have been imported from Cubase Expression Maps. They are using the official namings.

Mon, 2024-09-02 - 18:35 Permalink

The approach I use is to have one VEP VST3 instance in Synfire, and multiple VEP event instances pointing to that instance also in Synfire. That way Synfire can save the vst data with the arrangement, but all the routing, naming and handling can be done within VEP server. Hope that makes sense.

Tue, 2024-09-03 - 14:34 Permalink

I've tried many combinations, and I can't come up with something that works. Here's one thing I've done that seemed the most correct.

  1. I have a Vienna Ensemble Pro Server (non-Rosetta) on an M2 MacBook Air with four instances: "woodwinds," "Dimension Brass," "percussion," and "Dimension Strings." I've placed 8-10 of my preferred instruments under each instance.
  2. Sounds> Arrangement Rack has an engine that connects to the "woodwinds" instance, which consists of Piccolo, Flute 1, Flute 2, Oboe 1, Oboe 2, Clarinet 1, Clarinet 2, Bs. Clarinet, Bassoon 1, and Bassoon 2 in that order (with the corresponding MIDI channels), with that naming.
  3. I go to Sounds> Device Descriptions, and I'm able to edit channel one for Piccolo. When I edit any other channel by selecting it and hitting the edit button, I'm able to edit it as expect (e.g. channel 2 gets Flute 1), but when I go back to the Variants, Channels tab, all channels appear blank except for channel 1, so the editing has no effect.
  4. Due to the limitation imposed by #3 above, I assign the Piccolo to a track in my arrangement by click its wrench, then finding Vienna Ensemble Pro Device>Flute>Piccolo. It's a mystery to me how it knew to automatically place that sound here, and all the other VEP sounds are found and categorized correctly here, even though I failed to assign them in step #3 above.
  5. In any case, when I play the arrangement, there's no VEP sound, and I don't see any animated key responses in VEP from the MIDI that Synfire is supposed to send to it.

I assume that I'm doing a number of things wrong, or maybe one big thing wrong, but I'm unable to solve it. I wanted to first go this manual route for learning purposes rather than rely on loading from the repository because I wasn't able to figure that out either. My priority, though, is to start getting sound out, so I'm asking for the correct steps for how to do the above basic task of addressing the instruments on given MIDI channels of a VEP instance.

Tue, 2024-09-03 - 17:43 Permalink

Maybe this tutorial helps.

If you already have a template device with all sound properties, you can add channels on the Channels & Variants page and recall the sound properties with the "Template" button (a stack of sheets) next to each channel.

Tue, 2024-09-03 - 17:48 Permalink

Oh and you should create that device globally in Audio/MIDI Setup, not in an arrangement. You can later copy it into any number of arrangements or save it along with a rack module preset (recommended).

Tue, 2024-09-03 - 17:51 Permalink

With a template device description (pink color for templates only)  you can buildup your rack with the sounds from the template

Tue, 2024-09-03 - 23:06 Permalink

I do think a basic api to programmatically change a Synfire arrangement’s sound setup would be really useful. The community could then create solutions which would speed things up considerably.

Wed, 2024-09-04 - 11:20 Permalink

If Synfire had an API, where will you get the data to feed it with? 

Instruments and sound libraries don't have an API for browsing sounds. They don't even provide XML or JSON data for their sounds (Cubase Expression Maps is the only exception). Many instruments these days don't even allow a DAW to select a sound anymore.

DAWs simply expect the user to deal with each instrument's own user interface, system of sound management and control. It doesn't care what you do with your sounds. There are only a few host applications like Synfire that have an interest in controlling sounds from the outside.

What's more, the industry has little interest in a "standard" because they benefit from vendor lock in. Now with the new threat of AI, instrument developers don't feel like they should make it easier for AI startups to use their sounds en masse on generative platforms. The lack of a standard more or less protects them.

Setting up device descriptions is work. I dread it as much as everyone else. But once you have them you are free to start new projects in no time (with module presets).

Wed, 2024-09-04 - 11:30 Permalink

It seems to be possible on Vienna ensemble pro server to add more then one midi port.
But i start first with midiport 1.  
In Synfire add a Vienna Ensemble Pro Device to start with port 1 and add sounds via a template
Then comes the trick to get a sound on channel 2 for port 1 
Trick : ( doubling the Vienna Ensemble pro Device start rack sound on channel 1 )  and add a second sound with a template 
With  this you could add 16 sounds from every template you have 

Then you could add midiport 2 and this goes with a Vienna ensemble Pro Event plugin in Synfire 
Also with the same trick apply as for port 1 

The pic shows port 1 and port 2  each with 2 midichannels 
On this way you should get one mixer row too for controlling parameters 

This could answer the problems @jimmy faces, or not :-) ?

 

 

Wed, 2024-09-04 - 14:17 Permalink

Andre,

I went through the beginning of the tutorial, but all through the setup I got no response from VEP Server. In other words, I create everything so that it looks right (I think), but there's never any response from my VEP Server, and the setup's test buttons for controllers and articulations are always disabled. Can you advise how to fix this no response issue before I continue the tutorial? Here are screenshots:

 

Wed, 2024-09-04 - 14:42 Permalink

It is connected, but I'm guessing there's still something not right about my Global Rack:

 

Wed, 2024-09-04 - 14:45 Permalink

In the Vienna ensemble pro rack there is no device description made for making the sounds ( red color  ) in your pic.
- first made a device description for Vienna ensemble pro rack -via extract from Plug -in command 

The  rack starts with one channel and i think you must made 16 channels 
Then if you have made a template device description , you must fill this this rack with 16 empty midi channels with your sounds of choice from the templates you have

 Note: because i build up : one by one midichannel sound in the arrangementscreen, don't know how it works when there is a rack filled already with 16 sounds , perhaps it makes no difference?

Building a rack without a template is also possible, because making a templatei is laborious and not  that easy at start

I am using windows 11 ...
 

Wed, 2024-09-04 - 15:10 Permalink

I see you have load a Vst3 plugin, look also so you don't have a Rosetta version loaded.

I try to get sound of second instance of Vienna ensemble into Synfire. I have success the first one. Now I have sound on second instance.

Sometimes I must start Synfire again for to get sound. I am on Mac Sonoma. Sometime I had difference sample rate in Synfire with no sound. 

 

Wed, 2024-09-04 - 16:05 Permalink

It's not actually clear what to add for the unknown device. Referring to the template I made in my above pictures, how do I actually connect to what I made? This doesn't help:

 

 

Wed, 2024-09-04 - 16:34 Permalink

Seems to be ok the rack without a sound assigned 
Assign a test sound and connect with VEP in Synfire 

Could be a problem with VEP server too, i must install a while ago something to get a connection
Don't not know anymore what is was  
But at Cognitone they use a mac computer , and it seems to be working ?

Wed, 2024-09-04 - 16:44 Permalink

You made a connection earlier in your writing with VEP

Is there a visual sign to see in  VEP that there is incoming data ( a arrow ? ) from Synfire 
You must be seeing a visual sign too , if there is a connection 

If there is a visual sign present, then maybe there is a problem with your sound driver ?

Wed, 2024-09-04 - 16:50 Permalink

No, there is no visual response from VEP and no audio response. I thought setting the controllers and articulations would be a convenient way to check for visual response, but the "test" buttons are always grayed out. That seems to imply that Synfire thinks it's not connected to anything.

Wed, 2024-09-04 - 17:15 Permalink

The device description is multi-timbral. It must be of type 'fixed channels' so you can set sound properties per each channel as it corresponds to the VEP server instance.

Wed, 2024-09-04 - 19:29 Permalink

I do see the sound button( loudspeaker) off on VEP from Jimmy ?

No sound to hear then :-)

Thu, 2024-09-05 - 14:03 Permalink

I've finally got it working now. Thanks to everyone for all the guidance. Here are a few errors I was making that confused things.

The Fixed Sound device I create gets filed under "Generic," but couldn't be added to the Global Rack until I unchecked "Template." That's confusing to me because the tutorial Andre linked to above was about creating a template, so I'm apparently confused as to the actual usefulness of templates vs. non-templates. I guess you create a template, save that, then uncheck template when you want to load it into a Global Rack? My earlier mistake was to add another copy of "Vienna Ensemble Pro Device" in "Global Device Descriptions," somehow stupidly thinking that the same name meant it had all the settings I'd made in the template. After deleted that dummy, saved the template to disk, then unchecked "template," it worked.

Another way of confusing myself was using the 3-Way Plugin Button to connect. It looks like saving the project made it re-establish the connection automatically, but I observed there had been a change in Engine number at some point (from Engine1:02 to Engine1:04). When I disconnected, then re-did the connection via the 3-way button, it worked.

Since this is just the beginning of my manual setup chore, I'm posting some screenshots in case there's anything I've done that will cause problems with adding articulations, controllers, other VEPS instances to my Global Rack, etc. Only that last sound at the bottom of my arrangement is a VEPS sound.

 

Thu, 2024-09-05 - 14:48 Permalink

Nice that you managed to get it working.
Definitely a nice achievement and it's complicated all the sound setup and then trial and error then to figure it out 

Thu, 2024-09-05 - 19:43 Permalink

I guess you create a template, save that, then uncheck template when you want to load it into a Global Rack?

No. A template is just a repository for sound properties (names, articulations, controllers, playing ranges, ....). Templates are listed in the browser when you click the 'stacked sheets' template button. The sound properties are inserted for the sound you are editing. thats it.

Regular devices can be selected in an arrangement with the wizard or on any rack module. This copies them into the file.

Thu, 2024-09-05 - 20:40 Permalink

"I guess you create a template, save that, then uncheck template when you want to load it into a Global Rack?"

How about make a copy of a template and use that , if you want that ?
Making a rack with different templates, then there is no copy  possible , but if you want to use your template and you are satisfied with the sounds choice, use a copy of the template 
 

Sat, 2024-09-07 - 09:59 Permalink

Here's an odd behavior that continues from before. When I launch VEPS, pressing the keyboard doesn't produce any sound or reaction (I do check that the speaker is enabled). Once I play an instrument in that instance via my Synfire arrangement, I can then also play anything in that instance via VEPS's keyboard. No other instance responds to VEPS's internal keyboard, which I guess it would begin to if my arrangement played it. Any suggestions how to get VEPS to manually respond from within its app before I play my Synfire arrangement?

Sat, 2024-09-07 - 12:19 Permalink

Probably this is normal behavior I suspect of the VEP server.
It needs Synfire to activate the sound driver for the VEP server and send note on and off commands.
The VEP server acts as a sound module , but to hear it you need Synfire.
Suppose you can set up a sound driver on the VEP server and you connect to Synfire, what happens?
Synfire's audio engine is used and that the VEP server does not have an audio engine ?


 

Sat, 2024-09-07 - 12:38 Permalink

 

It needs Synfire to activate the sound driver for the VEP server and send note on and off commands

Well, to me it seems like misleading UI design to offer a clickable keyboard when it won't actually produce any response. Maybe they should hide it when the sound driver isn't activated.