Help with using LS with Cubase and VSL

You're new to the LinuxSampler world? You don't know where to start and nothing works? Here's the place to ask for help.
typewriter
Advanced User
Posts: 147
Joined: Fri Sep 26, 2008 9:04 am

Re: Help with using LS with Cubase and VSL

Post by typewriter » Fri Jul 10, 2009 8:15 am

A VSL gig file works like sound bank - it includes several instruments.

You can switch between the instrumens using program changes in cubase.

If you want to use LS for that I recommend to you to use a LS feature called Midi maps.

A Midi map is basically a textfile telling LS where on your harddrive the gig instrumen XYZ is located. More important is that you can assign a bank number and program change number to each instrument. By that you can load any gig instrument - literrally every instrument of the VSL cube - on the fly with a simple program change in Cubase. No other sampler does that - this is extremly memory efficient because you can load only the needed sounds on the fly.

You might want to check out the new Windows VST version of LS which can be donwloaded on this site. I think this is a lot easier to use with cubase instead of setting up two machines.

Alex
Moderator
Posts: 316
Joined: Wed Jan 23, 2008 9:08 pm

Re: Help with using LS with Cubase and VSL

Post by Alex » Fri Jul 10, 2009 1:13 pm

dougal2 wrote:OK, different articulations for the same instrument on the same track does make sense.

I was thinking more of the case of GIG files like the VSL "String Ensemble.gig" which contains banks for VL/VA/VC/KB.
What's the deal with being able to play each of those instruments from the same GIG file but on different MIDI tracks. Do I need to load the same GIG file 4 times in LS ? For me (at the minute) that would require 1/4 of my available MIDI channels.

Sorry if I sound a bit like I'm unsure of what I'm doing with regards to sampling/VSL, because that's partly true. I'm trying to get a handle on how this all best fits together.
No problem, we all have to start somewhere.

Some things to check.
Are you using the "extended" version of maple midi? This should give you 20 ports of 16 midi channels each, to work with. (At least it used to)
When you setup Netjack, make sure you set compatible sample rates and periods. When using the celt switch, set it to some thing like -c256 as a reasonable buffer, and you can work down from there, when the system is running smoothly. Read the notes on Netjack carefully. It works well with linux to linux, but if there's an identifiable bug with the win build, then go to #jack in irc, and let the devs know. They're a good bunch, and will help you if they can, including coding stuff. They have a big interest in getting jack and netjack running smoothly, so your input will help.

Moving on.

In your current setup, you only have 16 mchas. Ok, so there are a couple of compromises to be made. Typewriter's suggestion for using LS as a VST plugin is a good one, and i'll add here that however many instances of VST LS you add in cubase, they all work from the one instance of the LS backend engine, so a considerable saving in resource is yours for the taking, unlike other VST's which instigate a separate engine each, and soon fill up your ram and chew your CPU cycles.

For a standalone instance on a seperate box.

Get netjack sorted out, and across 2 machines you can expect to get about 1mb bandwidth for each port. That's 1 stereo audio port=1mb, and 1 midi port=1mb. I assume here you're using a 100mb/s ethernet connection, so you have quite a bit of room to add more midi ports. (remembering that each port=16 midi channels)

I don't use windows at all (I didn't want the lobotomy), but it would be a fair guess that Fantasia, the GUI frontend for LS works in windows as well. It's Java, and cross architecture.
So, using the midi map feature in Fantasia, you can build your own midi maps, with user assigned bank and patch numbers. Try this with a modest gig file first, and set up one bank with say 10 patches.
Let's call it 1st violins, and it contains the following patches:
0: 1st violins Legato up bow
1: 1st violins Legato down bow
2: 1st violins Staccato up bow
3: 1st violins Staccato down bow
4: 1st violins Spiccato up bow
5: 1st violins Spiccato down bow
6: 1st violins Pizzicato no snap
7: 1st violins Pizzicato with snap
8: 1st violins Col Legno
9: 1st violins Con Sordino

You now have a bank numbered 0, containing multiple patches. LSampler uses LSB as it's bank definition,so the following format would be:

MSB=0 (although LS uses LSB, some apps require a defined MSB number as well, even if it's always 0)
LSB=0

Create a channel in Fantasia. Assign a midi port in, and set your new bank as the map from which the channel will read. Set a midi channel. Make sure you get midi in and out, by playing the midi keyboard or device you've set in Cubase. Set audio out for the channel. (leave this as 0 and 1 for a test.)

In cubase, open a track, define the port and channel number. Play some notes. Open the matrix/piano roll editor. Insert patch changes in appropriate postions, taking note of your newly constructed bank, and the numbers you used. (I got off the cubase trainwreck before SX1, so i have no idea what it's using for bank and patch definition now.)

You now have 1 track for 1 instrument, using bank and patch changes to switch articulations per instrument.

If you are still limited to 16 mchas, for whatever reason, then simply build a midi bank/patch map that contains more than one instrument. In your example of string ensemble, this would seem to be a useful thing.

Dependent on how well cubase handles multiple midi tracks with the same mcha (and it used to be crap at this) you can set up 5 tracks for string sections, and use bank and patch changes in a composite midi map to trigger the correct instruments, from the same composite map, using the same channel. (Why you would do this i'm not sure, but it's theoretically possible.) If you get instrument dropouts, or midi timing issues, then look at cubase, not LS, first. LS works here with a large orchestral template driving large articulation sets, just fine, and Chris's setup is even larger, using VSL libs.

I respectfully suggest you take a step back and look at your workflow. It's been my experience over 25 years doing this full time that users get into a worklfow pattern, usually dictated by the app they're using, with the challenges that can bring. I'm not aiming this at you in particular, but it's also usually the case that users have large chunks missing in their knowledge base, for what the app they use can do. Even Cubase has a fairly extensive user defined keystroke command set, and small tools to aid the user, that most don't know about, or have ever used. It would also be a fair guess that the bank and patch component in Cubase is fairly robust, and will offer much for you to use when composing with big sample libs, using bank and patch maps driving LS. Switching articulations using patch numbers is an efficient method of working day in and day out, provided the user puts the time and effort into setting up sensible and practically designed maps to use. Using LS is no different, and contrary to the usual sampler/map experience offers easy to use options for building midi maps, without the flashing lights, hollywood fanfare, or assorted bells and whistles.

Dougal, i wish you success. Making the effort to get this setup working will pay dividends, but it will take longer than a day, and will directly reflect how much you put into it. Using orchestral sample libs, by the very nature of their size and complexity, require more donkey work than usual to configure and build into an efficient workflow process. The tools in LS make this as easy as possible for you.

update: Just had word back from the Netjack developer, Torben, who assures me that Netjack1 is working fine with win to lin boxes, and has been tested thoroughly. He suggests you examine the options you're using (-switch arguments), and ensure that Master and Slave are using the same sample rate and number of periods. (i.e. 48000 samplerate, and 3 periods)

Good luck.

Alex.

Alex.

dougal2
User
Posts: 30
Joined: Wed Jul 08, 2009 11:42 pm

Re: Help with using LS with Cubase and VSL

Post by dougal2 » Fri Jul 10, 2009 2:16 pm

Thanks Alex for all that, I shall certainly work through each point and see where I get.

With regards to workflow, this is some of the better info you guys could provide. Indeed I'm open to adapting things to work better, rather than trying to fit cubase/LS into any ideas I might already have about what I think should happen.
After further conversations with my friend, the VSL owner, I've also discovered that he had massive problems using VSL with GigaStudio related to stability and workflow. I think the LS team will earn some serious kudos if we can get this to work better than previously.

From here, I think my tasks now are:
1. Investigate exactly how well cubase is performing with regards to MIDI track bank/progam number settings.
2. Look at cubase workflow/"automation" for MIDI bank/prog switching.
3. Get netjack stable, and automate it's startup on both machines to be reliable.
4. Build some useful LS instrument maps.

I agree that it's a big task, I'll keep reporting back any further problems.

dougal2
User
Posts: 30
Joined: Wed Jul 08, 2009 11:42 pm

Re: Help with using LS with Cubase and VSL

Post by dougal2 » Fri Jul 10, 2009 5:31 pm

Progress this afternoon:

1. Ignore Cubase's track-based bank/prog numbers. Set the MIDI channel only.
2. Ditch all attempts to use jack on windows.
- This means forgetting netjack for now.
- Even with the highest frames/period setting (matched on both master and slave) the returned audio was still corrupted even though MIDI transmission seemed OK.
(Ideally, I'd want the audio coming out of a physical soundcard on the slave, and this doesn't seem currently possible).
- Also, somehow running jack on windows as well as cubase doesn't 'feel right', and it's extra stuff that's consuming resources.
3. Found cubase has a MIDI 'List Editor' for viewing precise MIDI events sent. This also allows fairly quick insertion of program change messages. winning here.
4. Found out that program numbers in cubase are +1 compared to LS program numbers. Oddly, this doesn't seem to be a 0/1 offset issue. Program 1 in LS == program 2 in cubase, and neither app has a program 0.
(Just noticed that LS/Fantasia has a 0/1 start option, [I'll try that but I think that'll make it a +2 difference]-WRONG. problem now fixed :) ).
5. Started building some basic instrument maps in Fantasia.


So, using hardware links between machines is both the most obvious and most stable solution, and I'll stick with that for now.
However, I'm limited to 16 channels, but now I understand the program switching and instrument maps, so it looks like I'm winning :)

Next steps will be to investigate running cubase and LS on the same windows machine.
This next phase will have to wait a little while because I'm waiting for a newer piece of hardware to arrive so that I can run cubase on my quadcore.
However, I have some questions about this:
1. The pre-packaged installer I found on the main site doesn't include any of the VST stuff?
2. Will I need to run jack on the windows machine for windows LS to output audio ?

[3. Where can I get the latest windows build ?] - Nevermind, I've seen the thread in the other forum.

ccherrett
Advanced User
Posts: 162
Joined: Wed Jan 23, 2008 11:24 pm
Contact:

Re: Help with using LS with Cubase and VSL

Post by ccherrett » Fri Jul 10, 2009 8:13 pm

dougal2 wrote:Progress this afternoon:

1. Ignore Cubase's track-based bank/prog numbers. Set the MIDI channel only.
2. Ditch all attempts to use jack on windows.
- This means forgetting netjack for now.
- Even with the highest frames/period setting (matched on both master and slave) the returned audio was still corrupted even though MIDI transmission seemed OK.
(Ideally, I'd want the audio coming out of a physical soundcard on the slave, and this doesn't seem currently possible).
- Also, somehow running jack on windows as well as cubase doesn't 'feel right', and it's extra stuff that's consuming resources.
3. Found cubase has a MIDI 'List Editor' for viewing precise MIDI events sent. This also allows fairly quick insertion of program change messages. winning here.
4. Found out that program numbers in cubase are +1 compared to LS program numbers. Oddly, this doesn't seem to be a 0/1 offset issue. Program 1 in LS == program 2 in cubase, and neither app has a program 0.
(Just noticed that LS/Fantasia has a 0/1 start option, [I'll try that but I think that'll make it a +2 difference]-WRONG. problem now fixed :) ).
5. Started building some basic instrument maps in Fantasia.


So, using hardware links between machines is both the most obvious and most stable solution, and I'll stick with that for now.
However, I'm limited to 16 channels, but now I understand the program switching and instrument maps, so it looks like I'm winning :)

Next steps will be to investigate running cubase and LS on the same windows machine.
This next phase will have to wait a little while because I'm waiting for a newer piece of hardware to arrive so that I can run cubase on my quadcore.
However, I have some questions about this:
1. The pre-packaged installer I found on the main site doesn't include any of the VST stuff?
2. Will I need to run jack on the windows machine for windows LS to output audio ?

[3. Where can I get the latest windows build ?] - Nevermind, I've seen the thread in the other forum.
If you ever want to see how it is done in Linux let me know. I will help you to get going.

I have the entire PRO library midi mapped.

Thanks!
Christopher Cherrett
Founder of The Open Octave Project
http://www.openoctave.org

Alex
Moderator
Posts: 316
Joined: Wed Jan 23, 2008 9:08 pm

Re: Help with using LS with Cubase and VSL

Post by Alex » Fri Jul 10, 2009 11:05 pm

dougal2 wrote:Progress this afternoon:

1. Ignore Cubase's track-based bank/prog numbers. Set the MIDI channel only.
2. Ditch all attempts to use jack on windows.
- This means forgetting netjack for now.
- Even with the highest frames/period setting (matched on both master and slave) the returned audio was still corrupted even though MIDI transmission seemed OK.
(Ideally, I'd want the audio coming out of a physical soundcard on the slave, and this doesn't seem currently possible).
- Also, somehow running jack on windows as well as cubase doesn't 'feel right', and it's extra stuff that's consuming resources.
3. Found cubase has a MIDI 'List Editor' for viewing precise MIDI events sent. This also allows fairly quick insertion of program change messages. winning here.
4. Found out that program numbers in cubase are +1 compared to LS program numbers. Oddly, this doesn't seem to be a 0/1 offset issue. Program 1 in LS == program 2 in cubase, and neither app has a program 0.
(Just noticed that LS/Fantasia has a 0/1 start option, [I'll try that but I think that'll make it a +2 difference]-WRONG. problem now fixed :) ).
5. Started building some basic instrument maps in Fantasia.


So, using hardware links between machines is both the most obvious and most stable solution, and I'll stick with that for now.
However, I'm limited to 16 channels, but now I understand the program switching and instrument maps, so it looks like I'm winning :)

Next steps will be to investigate running cubase and LS on the same windows machine.
This next phase will have to wait a little while because I'm waiting for a newer piece of hardware to arrive so that I can run cubase on my quadcore.
However, I have some questions about this:
1. The pre-packaged installer I found on the main site doesn't include any of the VST stuff?
2. Will I need to run jack on the windows machine for windows LS to output audio ?

[3. Where can I get the latest windows build ?] - Nevermind, I've seen the thread in the other forum.
In regards to question 2, it looks like you're trying to run Netjack with audio for 2 cards.

If your current slave machine has the card you want, then you should make that the master, and route audio from your current master machine into the other one, using jack audio port connections in something like Qjackctl.Trying to use 2 cards at once on different machines sounds like trouble. (I'll ask torben if this is possible, and what results or tips he may have.)

I get the impression your cubase machine is only being used for midi, yes?
If this is the case, then make this the slave, and the linux/LSampler box the master. If you do this, make sure the master (linux) box soundcard goes out to monitors or headphones, because if you try to route the audio back into the slave, you're effectively creating a loop, and that won't be good at all.

In summary.
The master machine (linux) has the soundcard you want to use.
The slave machine (Win/cubase) accepts and transmits midi only. (Accepts midi from your midi keyboard, and transmits using multiple ports over netjack to your linux/LSampler box)
If this is correct, please say so. We can work from here.


See how far you progress and get back to me with results and any questions.

Alex.

dougal2
User
Posts: 30
Joined: Wed Jul 08, 2009 11:42 pm

Re: Help with using LS with Cubase and VSL

Post by dougal2 » Fri Jul 10, 2009 11:32 pm

Alex wrote: In regards to question 2, it looks like you're trying to run Netjack with audio for 2 cards.

If your current slave machine has the card you want, then you should make that the master, and route audio from your current master machine into the other one, using jack audio port connections in something like Qjackctl.Trying to use 2 cards at once on different machines sounds like trouble. (I'll ask torben if this is possible, and what results or tips he may have.)
No, this is not what I'm trying to do. My main DAW has a big 24-channel digital interface to my mixer. My sampler machine has an 8 channel interface, all analogue outs routed to analogue inputs on the mixer.
I understand that in a netjack setup, I can only use one of these interfaces. This is one reason I've decided not to pursue it.

I did suggest that if I could use both interfaces that it would be worth perhaps a bit more effort to make it work.
Alex wrote:I get the impression your cubase machine is only being used for midi, yes?
If this is the case, then make this the slave, and the linux/LSampler box the master. If you do this, make sure the master (linux) box soundcard goes out to monitors or headphones, because if you try to route the audio back into the slave, you're effectively creating a loop, and that won't be good at all.
No. Mostly my projects are audio track based, hence the heavy outboard mixing capability I have.
I would like to start using the sampler to enhance these and future projects.

If I were solely MIDI based, I would wholeheartedly migrate to a linux only setup.

Alex
Moderator
Posts: 316
Joined: Wed Jan 23, 2008 9:08 pm

Re: Help with using LS with Cubase and VSL

Post by Alex » Fri Jul 10, 2009 11:37 pm

dougal2 wrote:
Alex wrote: In regards to question 2, it looks like you're trying to run Netjack with audio for 2 cards.

If your current slave machine has the card you want, then you should make that the master, and route audio from your current master machine into the other one, using jack audio port connections in something like Qjackctl.Trying to use 2 cards at once on different machines sounds like trouble. (I'll ask torben if this is possible, and what results or tips he may have.)
No, this is not what I'm trying to do. My main DAW has a big 24-channel digital interface to my mixer. My sampler machine has an 8 channel interface, all analogue outs routed to analogue inputs on the mixer.
I understand that in a netjack setup, I can only use one of these interfaces. This is one reason I've decided not to pursue it.

I did suggest that if I could use both interfaces that it would be worth perhaps a bit more effort to make it work.
Alex wrote:I get the impression your cubase machine is only being used for midi, yes?
If this is the case, then make this the slave, and the linux/LSampler box the master. If you do this, make sure the master (linux) box soundcard goes out to monitors or headphones, because if you try to route the audio back into the slave, you're effectively creating a loop, and that won't be good at all.
No. Mostly my projects are audio track based, hence the heavy outboard mixing capability I have.
I would like to start using the sampler to enhance these and future projects.

If I were solely MIDI based, I would wholeheartedly migrate to a linux only setup.
Ok, got it now.
So the only thing you'd need netjack for is midi out from the master (DAW) to the slave (sampler), yes?

Alex.

dougal2
User
Posts: 30
Joined: Wed Jul 08, 2009 11:42 pm

Re: Help with using LS with Cubase and VSL

Post by dougal2 » Fri Jul 10, 2009 11:38 pm

That's right.

Right now the most reliable solution is proving to be a single physical 16-channel cable.

Alex
Moderator
Posts: 316
Joined: Wed Jan 23, 2008 9:08 pm

Re: Help with using LS with Cubase and VSL

Post by Alex » Fri Jul 10, 2009 11:39 pm

dougal2 wrote:That's right.

Right now the most reliable solution is proving to be a single physical 16-channel cable.
I'll do some research into this, and get back to you.

Question 1)
When you setup the master machine, did you set the netjack audio outs to zero, using the arguments provided?
When you setup the slave machine, did you set the audio ins to zero, using the arguments provided?

More to come...

Alex.

Post Reply