|
From: rosea.grammostola <ros...@gm...> - 2012-03-11 19:34:55
|
Hi, Is it possible to run multiple instance of Linuxsampler or load multiple lscp files (via commandline) into LinuxSampler? This would give you more possibilities and especially more flexibility. \r |
|
From: Christian S. <sch...@li...> - 2012-03-12 15:38:55
|
On Sunday 11 March 2012 20:34:43 rosea.grammostola wrote: > Is it possible to run multiple instance of Linuxsampler or load multiple > lscp files (via commandline) into LinuxSampler? Both is possible. You can run multiple instances of linuxsampler, but you should then override the TCP port on which the other instances shall listen to by launching the sampler like: linuxsampler --lscp-port 8889 linuxsampler --lscp-port 8890 ... However usually it doesn't make much sense to run several instances of the server. Especially it will waste more resources, e.g. global audio buffers which cannot be shared among several sampler instances. And of course you can also feed several LSCP files into the sampler, even at the same time. You don't need to spawn new sampler instances for that. > This would give you more possibilities and especially more flexibility. What are you trying to achieve? CU Christian |
|
From: rosea.grammostola <ros...@gm...> - 2012-03-12 17:14:32
|
On 03/12/2012 03:42 PM, Christian Schoenebeck wrote: > On Sunday 11 March 2012 20:34:43 rosea.grammostola wrote: >> Is it possible to run multiple instance of Linuxsampler or load multiple >> lscp files (via commandline) into LinuxSampler? > > Both is possible. You can run multiple instances of linuxsampler, but you > should then override the TCP port on which the other instances shall listen to > by launching the sampler like: > > linuxsampler --lscp-port 8889 > linuxsampler --lscp-port 8890 > ... > > However usually it doesn't make much sense to run several instances of the > server. Especially it will waste more resources, e.g. global audio buffers > which cannot be shared among several sampler instances. > > And of course you can also feed several LSCP files into the sampler, even at > the same time. You don't need to spawn new sampler instances for that. > >> This would give you more possibilities and especially more flexibility. > > What are you trying to achieve? Thanks for your reply. There certainly are no stupid questions... I thought, just ask, but it's actually possible!?! A typical situation is that you have made a template for let say bigband. One or two types of instruments are not in a typically bigband, but then you have a midi file / composition with that instruments, or just want to try how it sounds. Then it's nice if you have the possibility to try it without rewriting the template first. I'm really impressed by this excellent application and especially like the new SFZ developments. Thanks. \r |
|
From: Christian S. <sch...@li...> - 2012-03-12 17:50:26
|
On Monday 12 March 2012 18:14:10 rosea.grammostola wrote:
> Thanks for your reply. There certainly are no stupid questions... I
> thought, just ask, but it's actually possible!?!
Yes, it is definitely possible to spawn multiple instances of the sampler. But
right now I cannot imagine a scenario in practice where this would make sense.
For example if you want to leverage a SMP/multi core system, or a system with
multiple independent hard discs, you could simply create (in the same sampler
instance) multiple JACK audio output devices (assuming JACK2 or JACKMP), like:
CREATE AUDIO_OUTPUT_DEVICE JACK
CREATE AUDIO_OUTPUT_DEVICE JACK
...
(or do that with some clicks in Fantasia or QSampler). For each audio output
device in the sampler, a separate audio rendering thread and disk streaming
thread is spawned. And by connecting a part to one of those audio output
devices you can control which audio rendering thread & disk streaming thread
the part shall be part of.
> A typical situation is that you have made a template for let say
> bigband. One or two types of instruments are not in a typically bigband,
> but then you have a midi file / composition with that instruments, or
> just want to try how it sounds. Then it's nice if you have the
> possibility to try it without rewriting the template first.
Sure, but maybe a "MIDI instrument map" is a better way for you to achieve
such a flexible configuration. This feature allows you to define a MIDI program
change map with instruments, thus to turn the sampler in some standard General
MIDI sound generator. For each entry you define at least a MIDI bank select and
program change number and a sound file (.gig, .sfz, .sf2 ) to be loaded. For
each entry you can also define a volume factor (for fine tuning your
performance) and a load strategy. The latter defines whether the sound shall be
loaded:
a) immediately and always kept in memory ("PERSISTENT"), or
b) instead be loaded on demand and freed automatically when its not in use
anymore on any sampler part ("ON_DEMAND") or
c) be loaded on demand, but kept in memory afterwards even if not used anymore
by any sampler part ("ON_DEMAND_HOLD")
http://www.linuxsampler.org/api/draft-linuxsampler-
protocol.html#MIDI%20Instrument%20Mapping
On most master keyboards you can define "performances" which will send the
appropriate MIDI program change messages to the sampler. So you would just
need to select the respective performance on your master keyboard and you are
ready to play.
You can also manage MIDI instrument maps with the two GUI frontend
applications.
CU
Christian
|
|
From: rosea.grammostola <ros...@gm...> - 2012-03-13 09:19:29
|
On 03/12/2012 05:53 PM, Christian Schoenebeck wrote:
> On Monday 12 March 2012 18:14:10 rosea.grammostola wrote:
>> Thanks for your reply. There certainly are no stupid questions... I
>> thought, just ask, but it's actually possible!?!
>
> Yes, it is definitely possible to spawn multiple instances of the sampler. But
> right now I cannot imagine a scenario in practice where this would make sense.
>
> For example if you want to leverage a SMP/multi core system, or a system with
> multiple independent hard discs, you could simply create (in the same sampler
> instance) multiple JACK audio output devices (assuming JACK2 or JACKMP), like:
>
> CREATE AUDIO_OUTPUT_DEVICE JACK
> CREATE AUDIO_OUTPUT_DEVICE JACK
> ...
>
> (or do that with some clicks in Fantasia or QSampler). For each audio output
> device in the sampler, a separate audio rendering thread and disk streaming
> thread is spawned. And by connecting a part to one of those audio output
> devices you can control which audio rendering thread& disk streaming thread
> the part shall be part of.
>
>> A typical situation is that you have made a template for let say
>> bigband. One or two types of instruments are not in a typically bigband,
>> but then you have a midi file / composition with that instruments, or
>> just want to try how it sounds. Then it's nice if you have the
>> possibility to try it without rewriting the template first.
>
> Sure, but maybe a "MIDI instrument map" is a better way for you to achieve
> such a flexible configuration. This feature allows you to define a MIDI program
> change map with instruments, thus to turn the sampler in some standard General
> MIDI sound generator. For each entry you define at least a MIDI bank select and
> program change number and a sound file (.gig, .sfz, .sf2 ) to be loaded. For
> each entry you can also define a volume factor (for fine tuning your
> performance) and a load strategy. The latter defines whether the sound shall be
> loaded:
> a) immediately and always kept in memory ("PERSISTENT"), or
> b) instead be loaded on demand and freed automatically when its not in use
> anymore on any sampler part ("ON_DEMAND") or
> c) be loaded on demand, but kept in memory afterwards even if not used anymore
> by any sampler part ("ON_DEMAND_HOLD")
>
> http://www.linuxsampler.org/api/draft-linuxsampler-
> protocol.html#MIDI%20Instrument%20Mapping
>
> On most master keyboards you can define "performances" which will send the
> appropriate MIDI program change messages to the sampler. So you would just
> need to select the respective performance on your master keyboard and you are
> ready to play.
>
> You can also manage MIDI instrument maps with the two GUI frontend
> applications.
Ok, so if you have one big template with all your samples, it doesn't
hurt the performance of you system. Having them in the template, doesn't
mean they are loaded in memory (ON_DEMAND_HOLD). So a bigger template
doesn't necessarily eat more system resources.
\r
|
|
From: rosea.grammostola <ros...@gm...> - 2012-03-13 09:30:42
|
On 03/12/2012 03:42 PM, Christian Schoenebeck wrote: > On Sunday 11 March 2012 20:34:43 rosea.grammostola wrote: >> Is it possible to run multiple instance of Linuxsampler or load multiple >> lscp files (via commandline) into LinuxSampler? > > Both is possible. You can run multiple instances of linuxsampler, but you > should then override the TCP port on which the other instances shall listen to > by launching the sampler like: > > linuxsampler --lscp-port 8889 > linuxsampler --lscp-port 8890 > ... > > However usually it doesn't make much sense to run several instances of the > server. Especially it will waste more resources, e.g. global audio buffers > which cannot be shared among several sampler instances. > > And of course you can also feed several LSCP files into the sampler, even at > the same time. You don't need to spawn new sampler instances for that. If I try to load multiple instances, one replaces the other cat Template1.lscp | nc localhost 8888 cat template2.lscp | nc localhost 8888 Template 2 replaces template 1. They are not both loaded. \r |
|
From: Christian S. <sch...@li...> - 2012-03-13 10:57:03
|
On Tuesday 13 March 2012 10:30:24 rosea.grammostola wrote: > If I try to load multiple instances, one replaces the other > > cat Template1.lscp | nc localhost 8888 > > cat template2.lscp | nc localhost 8888 > > Template 2 replaces template 1. They are not both loaded. The sampler has no idea that you want to replace the whole session with the 2nd file. To achieve what you are doing, you have to place a "RESET" command at the beginning of your LSCP files. http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html#RESET CU Christian |
|
From: Markus W. K. <kr...@ko...> - 2012-03-13 15:24:03
|
Hm. I think it´s more helpful to start one linuxsampler on port 8888 and another on port 8889. then you can do this: cat Template1.lscp | nc localhost 8888 cat template2.lscp | nc localhost 8889 <--- REMEMBER! this should work. you can now connect each linuxsampler in jack or whatever you want to do woth this two samplers. and: with this setup you don´t need to reset something. greetings! Am Tue, 13 Mar 2012 11:00:18 +0100 schrieb Christian Schoenebeck <sch...@li...>: > On Tuesday 13 March 2012 10:30:24 rosea.grammostola wrote: > > If I try to load multiple instances, one replaces the other > > > > cat Template1.lscp | nc localhost 8888 > > > > cat template2.lscp | nc localhost 8888 > > > > Template 2 replaces template 1. They are not both loaded. > > The sampler has no idea that you want to replace the whole session with the > 2nd file. > > To achieve what you are doing, you have to place a "RESET" command at the > beginning of your LSCP files. > > http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html#RESET > > CU > Christian > > ------------------------------------------------------------------------------ > Keep Your Developer Skills Current with LearnDevNow! > The most comprehensive online learning library for Microsoft developers > is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, > Metro Style Apps, more. Free future releases when you subscribe now! > http://p.sf.net/sfu/learndevnow-d2d > _______________________________________________ > Linuxsampler-devel mailing list > Lin...@li... > https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel ----- Musix-Blog - Über meine Kompositionen - http://www.musix-de.blogspot.com Musix-Wiki - Den Computer zum Komponieren einrichten - http://www.musix-wiki.org Klavierunterricht in Köln - http://www.koelnklassik.de/klavierunterricht.htm Markus W. Kropp Buchholzstr. 36 51061 Köln Tel.:0221-4719703 kr...@ko... |
|
From: rosea.grammostola <ros...@gm...> - 2012-03-13 15:54:27
|
On 03/13/2012 11:00 AM, Christian Schoenebeck wrote: > On Tuesday 13 March 2012 10:30:24 rosea.grammostola wrote: >> If I try to load multiple instances, one replaces the other >> >> cat Template1.lscp | nc localhost 8888 >> >> cat template2.lscp | nc localhost 8888 >> >> Template 2 replaces template 1. They are not both loaded. > > The sampler has no idea that you want to replace the whole session with the > 2nd file. > > To achieve what you are doing, you have to place a "RESET" command at the > beginning of your LSCP files. > > http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html#RESET Hmm to be clear, I want to have BOTH files loaded, not one replaced by the other. And in my template files RESET seems to be set. So that's why it is replacing the other template. On the other hand when I remove RESET, both are loaded but only audio outs are shown in patchage, without the names http://imageshack.us/photo/my-images/819/selection020a.png/ |
|
From: rosea.grammostola <ros...@gm...> - 2012-03-13 15:56:32
|
On 03/13/2012 04:54 PM, rosea.grammostola wrote: > On 03/13/2012 11:00 AM, Christian Schoenebeck wrote: >> On Tuesday 13 March 2012 10:30:24 rosea.grammostola wrote: >>> If I try to load multiple instances, one replaces the other >>> >>> cat Template1.lscp | nc localhost 8888 >>> >>> cat template2.lscp | nc localhost 8888 >>> >>> Template 2 replaces template 1. They are not both loaded. >> >> The sampler has no idea that you want to replace the whole session >> with the >> 2nd file. >> >> To achieve what you are doing, you have to place a "RESET" command at the >> beginning of your LSCP files. >> >> http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html#RESET > > Hmm to be clear, I want to have BOTH files loaded, not one replaced by > the other. And in my template files RESET seems to be set. So that's why > it is replacing the other template. > > On the other hand when I remove RESET, both are loaded but only audio > outs are shown in patchage, without the names > > http://imageshack.us/photo/my-images/819/selection020a.png/ This is how it looks with only that lscp loaded http://img100.imageshack.us/i/selection021.png/ |