|
From: David O. <da...@ol...> - 2003-01-20 21:16:46
|
On Monday 20 January 2003 19.18, Mark Knecht wrote: > > -----Original Message----- > > From: lin...@li... > > [mailto:lin...@li...]On Behalf > > Of be...@ga... > > Sent: Monday, January 20, 2003 9:36 AM > > To: lin...@li... > > Subject: Re: [Linuxsampler-devel] Hi - Very quiet list - my first > > post > > > > > > Perhaps it would be beneficial for all us to implement > > LinuxSampler as a XAP plugin ? who knows ? > > I don't think I 'know', but I can report some data. > > This could work, in some applications, but (for me anyway) it might > have limited appeal. > > In the GigaStudio world the sample libraries are huge, mostly > running between 1-2GB per library. I use 10-15 of them at a time, > so there is no way to put this in DRAM. This puts a pretty high > stress on the underlying disk subsystem, which is fine as long as > GSt is on it's own computer where the PCI bus and audio subsystem > are available to do the work. So, in replacing something like GSt > or Halion, my guess is that LinuxSampler wants to look mostly like > a stand along application. I see - and in that scenario, it doesn't really matter whether=20 LinuxSampler is it's own host, runs as a JACK client, or runs as a=20 XAP synth under another host. The difference is in the APIs and what=20 they provide. Stand-alone app: =09+ No restrictions! =09- ...and no definitive standards. Just pick some protocols. JACK client: =09+ You don't have to worry about audio I/O. =09+ Audio routing can be handled by other tools. =09+ No lib conflicts, as you can have your own process. =09- Linux still breaks JACK out-of-process latency... :-( =09- There is no instrument control protocol. =09- Control and audio run on different subsystems. XAP plugin: =09+ You don't have to worry about audio I/O. =09+ There is a comprehensive instrument control protocol. =09+ Control and audio routing and transport is integrated. =09+ You're running in-process, which works well on any LL kernel. (Note that these are not necessarily absolute facts. It's just based=20 on my own observations and information from the lists.) > That said, it would be very cool to be > able to send it control commands via the MIDI stream, or over > Ethernet, from my main DAW. GSt doesn't support much of that today. > (If at all...I don't use it.) That's just a matter of the host mapping MIDI to XAP controls in a=20 useful way. What you need is a MIDI->XAP translator - and you could=20 send a custom one with LinuxSampler, to implement SysEx or whatever=20 you like. (It's just a driver/plugin, just like the interfaces to=20 ALSA, JACK and whatnot.) Audiality implements MIDI internally for now, since it's not a=20 plugin. I just picked OSS + ALSA "rawmidi" is the control interface=20 and SDL + OSS for audio I/O, since that's what worked best for what I=20 needed at the time. (There was no XAP when I started hacking=20 Audiality, and it's still not finalized - and either way, there's no=20 host.) > If we were looking at a trimmed down version of the technology > which operated more like Battery, then I think that using the > underlying sampler technology as both a plugin or a stand alone app > running on the same DAW, if most of the samples fit in memory. > (Easy for drums, not so easy for piano) What exactly do you mean by "stand alone app"...? By my definition, the only difference between a completely=20 stand-alone application and a plugin + GUI process is that in the=20 latter case, the RT thread belongs to another process. This has no implications to users (if they even know about it!),=20 except that the latter will probably interface better with host=20 applications than will something that uses MIDI or similar in=20 parallel with JACK audio streaming. //David Olofson - Programmer, Composer, Open Source Advocate =2E- The Return of Audiality! --------------------------------. | Free/Open Source Audio Engine for use in Games or Studio. | | RT and off-line synth. Scripting. Sample accurate timing. | `---------------------------> http://olofson.net/audiality -' --- http://olofson.net --- http://www.reologica.se --- |