Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-11 Thread David Olofson
On Wednesday 10 February 2010, at 22.45.40, Emanuel Rumpf xb...@web.de 
wrote:
 2010/2/8 Paul Davis p...@linuxaudiosystems.com:
  not all PCs can do it. but its simply not true that PCs can't do it.
 
 Accepted.
 
 
 When running any 32 polyphonic hw synth,
 it is able to do those 32 voices anytime.
 When running out of the voices, something will
 happen (e.g. voice killing/stealing). But it won't start any noise.
 
 Something to concider
 Would a check for guaranteed voices be possible for a soft-synth ?

Any polyphonic synth will have to check for voices as part of the allocate 
voice action for any noise started, so the question seems somewhat odd to me.

Are you thinking of voice stealing logic?

I would think most softsynths have this. The alternative would be to 
dynamically allocate voices as needed, and I think some actually do this - but 
this will be troublesome in a realtime implementation, unless you're on a full 
realtime OS using physical RAM only. You may pre-allocate and lock a huge 
block of memory for the synth, but then you still have a limited voice count 
of sorts...


 That would require an extensive deterministic behavior, I think.
 Instead of noise generation, maybe some sort of interpolation/silence
 for sample values could be used, when running out of processing power.

There are various solutions, such as stealing the least audible note, or 
just grabbing the oldest playing note. Figuring out which note is *actually* 
the least audible is a lot trickier than it might seem at first, so any real 
implementation would be an approximation at best.

Anyway, I don't think there's much of a difference between hardware and 
software synths in this regard. (They all do an equally bad job of it! ;-) 
After all, most hardware synths are actually one or more DSPs and 
(sometimes) MCUs running some sort of software, and even real hardware 
synths will have an MCU or logic circuitry to implement this.


-- 
//David Olofson - Developer, Artist, Open Source Advocate

.--- Games, examples, libraries, scripting, sound, music, graphics ---.
|  http://olofson.net   http://kobodeluxe.com   http://audiality.org  |
|  http://eel.olofson.net  http://zeespace.net   http://reologica.se  |
'-'
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-10 Thread Fernando Lopez-Lezcano
On Thu, 2010-02-04 at 20:30 +0100, Emanuel Rumpf wrote:
 2010/2/4 Arnold Krille arn...@arnoldarts.de:
  On Thursday 04 February 2010 18:50:28 Emanuel Rumpf wrote:
  Has anyone ever played a plugin in realtime ( live )...
  ...and I don't mean a one-finger melody, but a mutli-polyphonic piano
   piece, eventually with sustain held down, which resulted in about 20 to 40
   simultaneusly processed voices.

Yes.

  Yes, I have. I believe Ken Restivo, Atte Andre Jensen and many others too.
 
 Reliably ? At a latency below 10 ms ?
 Which synth ? I don't intend to mistrust you, but I remain
 disbelieving for now. :-)
 
 Linuxsampler is well written and reliable, but
 when playing intensely, it xran too here.

I've been working for a while in a piece for real-time synthesis /
sample playback and a piano controller (and pedals, etc, etc). I
normally play with my laptop, a dual core lenovo t61 running the latest
rt patched kernel and: linuxsampler at 96 voices max (4 different piano
samples), two instances of the supercollider synthesis engine doing
synthesis and spatialization, a program in supercollider controlling the
whole thing (including the GUI feedback screen for the performer),
jconvolver for convolution reverb and ambdec for ambisonics decoding.
All with a PCMCIA RME card and a Multiface running at 128x2 48KHz. 

It can glitch but if it does it is because it has actually run out of
cpu (and I have had a couple of instances in rehearsal where I'm playing
textures so thick that the supercollider scheduling queue has filled up
with not so good results, argh :-)

All in all quite reliable (I played an earlier version of the piece in
last year's LAC). 

-- Fernando


  We have dedicated hardware for graphics, why not for audio ?
 
  There are manufacturers selling dedicated PCI-cards to do VST-plugin work 
  and
  free your cpu of that.
 
 Interesting, although uneligible for my laptop..
 
  But whats the purpose of running some piece of (almost)
  generic software on generic platforms, when you still need specialised
  hardware?
 
 Being generic means (for the platform) to support a bunch of
 specialised applications.
 It doesn't bother much to buy additional hardware, in order to make
 the system more generic, but not being able to make it
 generic enough for being able to use it for a cerain specialised application.
 We are used to extend the systems usability through additional peripherials
 such as graphic-cards, audio-cards, printers
 That's what has made it a success.
 
 
  Of course you can buy dedicated audio-hardware. Its called keyboards and
  synths and mixers and effects (outboard).
 
 These make me lose the generality.
 
  But isn't it easier to have it all in software and carry it around on your
  pc/laptop/usb-stick?
 
 It absolutely would, if it gave me the same reliability.
 
 
  Please give us some pointers to help you improve performance on your 
  definitely
  un-tuned and probably mis-configured system before making our work bad in
  general.
 
 I'm not making it bad. I'm even searching for a way to
 make it more valueable by making it more usable.
 
 I don't think my system is so badly configured - how to measure ?
 It's not the most recent hardware, I admit.
 
 
  Have fun,
 
 Thanks
 

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-10 Thread fons
On Wed, Feb 10, 2010 at 10:32:48AM -0800, Fernando Lopez-Lezcano wrote:

 On Thu, 2010-02-04 at 20:30 +0100, Emanuel Rumpf wrote:

  2010/2/4 Arnold Krille arn...@arnoldarts.de:

   On Thursday 04 February 2010 18:50:28 Emanuel Rumpf wrote:
   Has anyone ever played a plugin in realtime ( live )...
   ...and I don't mean a one-finger melody, but a mutli-polyphonic piano
piece, eventually with sustain held down, which resulted in about 20 to 
   40
simultaneusly processed voices.
 
 Yes.

Yes again.
 
 I've been working for a while in a piece for real-time synthesis /
 sample playback and a piano controller (and pedals, etc, etc). I
 normally play with my laptop, a dual core lenovo t61 running the latest
 rt patched kernel and: linuxsampler at 96 voices max (4 different piano
 samples), two instances of the supercollider synthesis engine doing
 synthesis and spatialization, a program in supercollider controlling the
 whole thing (including the GUI feedback screen for the performer),
 jconvolver for convolution reverb and ambdec for ambisonics decoding.
 All with a PCMCIA RME card and a Multiface running at 128x2 48KHz. 
 
 It can glitch but if it does it is because it has actually run out of
 cpu (and I have had a couple of instances in rehearsal where I'm playing
 textures so thick that the supercollider scheduling queue has filled up
 with not so good results, argh :-)
 
 All in all quite reliable (I played an earlier version of the piece in
 last year's LAC). 

Indeed. Live, third order AMB surround, and having heard
the recording a hundred times I haven't noticed any problem
with it (except for those cats running on the keyboard).

I'm using Linuxsampler, piano samples, playing anything
between Bach and Ligeti. Add jconvolver doing real time
convolution with a concert hall IR. Typical CPU use for
this is below 20% on a seven year old P4 with just 512M
ram. Standard unpatched kernel, 5 ms latency. Never heard
a glitch.

Ciao, 

-- 
FA

O tu, che porte, correndo si ?
E guerra e morte !
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-10 Thread Emanuel Rumpf
2010/2/8 Paul Davis p...@linuxaudiosystems.com:

 not all PCs can do it. but its simply not true that PCs can't do it.


Accepted.


When running any 32 polyphonic hw synth,
it is able to do those 32 voices anytime.
When running out of the voices, something will
happen (e.g. voice killing/stealing). But it won't start any noise.

Something to concider
Would a check for guaranteed voices be possible for a soft-synth ?
That would require an extensive deterministic behavior, I think.
Instead of noise generation, maybe some sort of interpolation/silence
for sample values
could be used, when running out of processing power.


Kind regards
- -
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-08 Thread Joshua Boyd
On Sun, Feb 07, 2010 at 12:18:51AM +0100, Jens M Andreasen wrote:

snip example of sse assembly versus Cuda

 In which one of those two codepaths would you like to spend your spare
 time? Which one looks the most civilized? Just wondering ...

snip a bit more

 [OK... That might be enough CUDA advocacy for tonight? :-D]

The cuda stuff is impressive, and may well be the way of the future.
However, I don't think it is generally right for linux audio until I can
write cuda code (or a similar language) and have it run on Nvidia cards, 
ATI cards, at least one card using open source drivers, and plain CPUs
using SSE (and/or threading).

It seems that any quarter now, OpenCL may be close to meeting the
qualifications I set (use with Nvidia, ATI, free drivers, and CPU only),
however, I don't believe that the OpenCL language is as nice or easy to
use as Cuda.  Is there any work on an open source clone of Cuda?

Obviously any individual programmer can do what they want, but I believe
that as a community, GPUs are not yet ready for us to be using them, not
strictly for technical reasons, but primarily for freedom and
interoperability reasons.  I am really eager to see this change though.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-08 Thread Emanuel Rumpf
2010/2/8 Joshua Boyd jdb...@jdboyd.net:

 However, I don't think it is generally right for linux audio until I can
 write cuda code (or a similar language) and have it run on Nvidia cards,
 ATI cards, at least one card using open source drivers, and plain CPUs
 using SSE (and/or threading).

 It seems that any quarter now, OpenCL may be close to meeting the
 qualifications I set (use with Nvidia, ATI, free drivers, and CPU only),


Actually OpenCL seems to already be supported, (in new hardware only ?),
by the large graphic players:
http://www.nvidia.com/object/cuda_opencl.html  (there's a lot of docu
here too !)
http://developer.amd.com/gpu/atistreamsdk/pages/default.aspx
http://www.khronos.org/opencl/

There's also the CT Technology from Intel (aquired from RapidMind),
which is claimed to be easier to code and less hardware-dependant than OpenCL.
http://software.intel.com/en-us/data-parallel/
http://software.intel.com/sites/products/collateral/hpc/ct/ct_newsletter1109.html

 however, I don't believe that the OpenCL language is as nice or easy to
 use as Cuda.  Is there any work on an open source clone of Cuda?

A link to a short Intro. The code looks acceptable at a first glance:
http://ati.amd.com/technology/streamcomputing/intro_opencl.html

I still somehow wonder, how cheap low MHz Chips can outperform my
GHz PC system. The answer seems to be parallelism of computations,
which the GPUs (or DSPs) support better than CPUs.
This also means, that faster CPUs won't necessarily bring
the effect we are waiting for.
(To play many software effects/instruments in an acceptable time.)

Anyway. If the PCs can't do it, someone has to create a new
system, or extend the PC anyway to make it capable.


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-08 Thread Paul Davis
On Mon, Feb 8, 2010 at 4:01 PM, Emanuel Rumpf xb...@web.de wrote:

 I still somehow wonder, how cheap low MHz Chips can outperform my
 GHz PC system. The answer seems to be parallelism of computations,
 which the GPUs (or DSPs) support better than CPUs.
 This also means, that faster CPUs won't necessarily bring
 the effect we are waiting for.
 (To play many software effects/instruments in an acceptable time.)

GPUs do not run a general purpose OS. CPUs do (at least if you run
Linux, Windows, BSD, OSX, Solaris etc). HUGE difference. This plays a
major role. The overall architecture of a GPU is very, very different
from a CPU, making the code that runs on them more deterministic. GPUs
also do not service interrupts from every device on your system.

 Anyway. If the PCs can't do it, someone has to create a new
 system, or extend the PC anyway to make it capable.

not all PCs can do it. but its simply not true that PCs can't do it.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-08 Thread Joshua Boyd
On Mon, Feb 08, 2010 at 10:01:03PM +0100, Emanuel Rumpf wrote:

 Actually OpenCL seems to already be supported, (in new hardware only ?),
 by the large graphic players:
 http://www.nvidia.com/object/cuda_opencl.html  (there's a lot of docu
 here too !)
 http://developer.amd.com/gpu/atistreamsdk/pages/default.aspx
 http://www.khronos.org/opencl/

I am aware of Nvidia and ATI binary drivers supporting OpenCL.  What I
do not see is an ability to run this using the Nouvou, the RadeonHD xorg
driver, the intel xorg driver, or as SSE optimized software only.

If OpenCL DSP code would run on my desktop using CPUs only, faster than
a reasonable C implementation using primitives would run, then I'd
suggest it is ready for people to start using without holding out for
open source driver support.  I don't think that we are close enough to
say that we will be there in 6-12 months yet though.  If I am mistaken
about the state of the Khronos reference implementation or the clang
implementation, I'd love to see a demo prove me wrong.
 
 There's also the CT Technology from Intel (aquired from RapidMind),
 which is claimed to be easier to code and less hardware-dependant than OpenCL.
 http://software.intel.com/en-us/data-parallel/
 http://software.intel.com/sites/products/collateral/hpc/ct/ct_newsletter1109.html

I am passingly aware of them, but as long as there is not an open
language specification, and an open implementation, I don't think they
are a real answer either.
 
  however, I don't believe that the OpenCL language is as nice or easy to
  use as Cuda. ?Is there any work on an open source clone of Cuda?
 
 A link to a short Intro. The code looks acceptable at a first glance:
 http://ati.amd.com/technology/streamcomputing/intro_opencl.html

Just because I don't like it as well does not mean I won't accept it as
a valid choice.

However, the examples there still look a lot more complicated that the
cuda examples.  The page you posts included a fairly minimal OpenCL
example that is close to 40 lines long without showing the actual source
code for the actual OpenCL function to execute on the card.

_global__ void inc_gpu(int *a, int N)
{
  int idx = blockIdx.x * blockDim.x + threadIdx.x;
  if (idx  N)
a[idx] = a[idx] + 1;
} }
int main()
{ 
  float *a;
  dim3 dimBlock (blocksize);
  dim3 dimGrid( ceil( N / (float)blocksize) );
  cudaMalloc((void **) a, N);
  cudaMemcpy(a, someLocalSource, N*sizeof(float), cudaMemcpyHostToDevice);
  inc_gpudimGrid, dimBlock(a, N);
  cudaFree(a);
}

The __global__ says that it will be called from the host but run on the
device.  Calling the function uses a modified call syntax to setup the
arrangement of hardware resources that will be used by the call, but the
number of units to use, and the block size to carve the data by. dim3 is
a cuda defined datatype.

Still, if OpenCL shows up in Mesa, and can at a minimum run on the CPU
faster than a basic C implementation, then I would certainly choose it
over Cuda for open-ness.
 
 I still somehow wonder, how cheap low MHz Chips can outperform my
 GHz PC system. The answer seems to be parallelism of computations,
 which the GPUs (or DSPs) support better than CPUs.
 This also means, that faster CPUs won't necessarily bring
 the effect we are waiting for.
 (To play many software effects/instruments in an acceptable time.)

Well, I bet a lot of software isn't wringing as much performance for
your PC as it could.  When it comes to music though, exactly what low
mhz chips are beating a 2ghz Core 2 Duo or equivelent AMD?  Also, how
does the cost of said low mhz device compare to the Core 2 Duo?

However, even in PCs, the trend is more cores, and either programmers
need to get better, or else we need better tools.  Now, I certainly plan
to become a better programmer, but I still want better tools, and I
think it is unfair to expect everyone to get better.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-08 Thread Jens M Andreasen

On Mon, 2010-02-08 at 19:02 -0500, Joshua Boyd wrote:

 If OpenCL DSP code would run on my desktop using CPUs only, faster than
 a reasonable C implementation ...

You are smoking some illegal substances tonight?

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-06 Thread Emanuel Rumpf
2010/2/4 Jens M Andreasen jens.andrea...@comhem.se:

 Zap the Gnome on steroids and dedicate your GPU for audio then!


How to ?
Where is the switch that would tell ladspa/dssi to use the GPU for processing ?

 I have success with 3 audio buffers в 0.3 ms + another 0.3 ms for the
 PCIe roundtrip to the GPU. Voicecount is well into the hundreds and then
 some ...

That sounds marvelously.


I found this information for DSP Accelerators
http://www.thomann.de/gb/onlineexpert_127.html

as well as this interresting device:
http://www.uaudio.com/products/uad/uad2sl/index.html
(I assume that it's not supported on linux)

Those just work with special code-adjusted plugins.
Does the VST API support them or even use them if present ?
Do the RMI devices have plugin-accelerating DSPs ?

Would it be worth to design an open-hardware DSP-add-on with an open API ?

Since GPUs are very common already and have the fast PCIe connection
using them may be more appropriate, I think.



Running the rt-check script, indeed, I found some issues.
Fixed them.

Now, the only remaining warning is:
Checking for Generic PCI bus-master DMA support... not found.
** Kernel without Generic PCI bus-master DMA support


I retested with an undemanding 130 MB piano gig-file.
Results:

- Linuxsampler runs stable at 8ms. Great.

- I'm able to play fast Sequences with PianoTecTrial at 16ms.
  I'm not allowed to use sustain or play quick chord progressions.
They produce xruns and hard noise then.

- yoshimi 054-pre4 behaves comparable to PianoTec at 16ms, but slightly worse.
  It produces occasional xruns even without chord-progressions.


Likely conclusion:
My system is not fast enough for this kind of processing,
or somehow has a bad hareware-design.
I will buy a new machine next year with 8 processors hopefully...

Until then, the GPU seems the only miracle that could possibly help me out.
Would it ?

Thank you, replyers, for your replys and suggestions.


-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-06 Thread Paul Davis
On Sat, Feb 6, 2010 at 3:36 PM, Emanuel Rumpf xb...@web.de wrote:
 Would it be worth to design an open-hardware DSP-add-on with an open API ?

no, no and a thousand times no.

there have been several attempts at this ... i think they have all
failed so far. Chameleon is the one that springs to mind.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-06 Thread Julien Claassen
Emanuel!
   No DMA? That does seem bad! Direct Memory Access is VERY helpful and has 
been there for years - not to say decades. It's also supported by the Linux 
kernel since version 2.0.X something. If not enabled this can take up 
considereable amount of CPU time. So no wonder. Your system MUST be capabel of 
playing a nice piano (2-3GB) with LinuxSample with lower latencies. But how 
about your soundcard? Is it good, do you know, what they say about its own 
hardware latency?
   Always remember it's possible to play realtime on a 700mHz CPU, if you shut 
down the graphic. polyphony and sustain. Probably a few drop-outs there. But 
700mHz are far from your new dual core!
   Kindest regards
   Julien


Music was my first love and it will be my last (John Miles)

 FIND MY WEB-PROJECT AT: 
http://ltsb.sourceforge.net
the Linux TextBased Studio guide
=== AND MY PERSONAL PAGES AT: ===
http://www.juliencoder.de
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-06 Thread Julien Claassen
As to the GPU usage: I believe there were some discussions about it, a few 
years back. I think it will be a matter of a kernel driver or small 
hack or additional module, which you might download somewhere. Sounds more 
reasonable and it triggers something in my memory.
   Kindly yours
 Julien


Music was my first love and it will be my last (John Miles)

 FIND MY WEB-PROJECT AT: 
http://ltsb.sourceforge.net
the Linux TextBased Studio guide
=== AND MY PERSONAL PAGES AT: ===
http://www.juliencoder.de
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-06 Thread Jens M Andreasen

On Sat, 2010-02-06 at 21:36 +0100, Emanuel Rumpf wrote:
 2010/2/4 Jens M Andreasen jens.andrea...@comhem.se:
 
  Zap the Gnome on steroids and dedicate your GPU for audio then!
 
 
 How to ?

I can only say what I have done and _very_ _carefully_ point out that I
know _absolutely_ _nothing_ about RT-performance on any other system
_whatsoever_!

The box is a T3-P5945GC:
 http://www.asus.com/product.aspx?P_ID=BpN0BixlVJlpqtpu
.. with an Intel 945GC chipset, AD1988b HDA audio and an E1200 (1.2 GHz
Conroe style dual core Celeron.) 

The GPU is a pretty quiet, slightly overclocked Nvidia GT220 with DDR3
from Gigabyte. 
 http://www.tomshardware.com/reviews/geforce-gt-220,2445.html
(And apparently the GT240 model with GDDR5 is a lemon. Avoid!) 

Kernel is the 2.6.31.6-rt19, configured as per the Mandriva repositories
(optimized for Core2 as the only change)

 Where is the switch that would tell ladspa/dssi to use the GPU for processing 
 ?
 

That switch ideally would be somewhere here on LAD. The problem being
mostly stirring up enough momentum to get something going. There might
be this fear of jumping into the unknown? but hey look, here is one more
programmer who has also had it with SSE and is not planning on upgrading
to a 4 way $2K server any time soon:

 A realtime Mandelbrot zoomer in SSE assembly and CUDA
 http://users.softlab.ntua.gr/~ttsiod/mandelSSE.html

In which one of those two codepaths would you like to spend your spare
time? Which one looks the most civilized? Just wondering ...


Reasonable expectations for RT performance is 1/3 of what Nvidia says is
peak performance. So, 60 - 75 GFlops in the case at hand.

Which translates to $1 per GFlop (including a healthy chunk of fast
memory.) Hard to beat!

The 0.3 msec turnaround time depends on that you are working from the
console rather than the X-server. This might have been different if I
had had dedicated cards, one for audio and one for video, but -
unfortunately - I have only one PCIe slot, so there is nothing really
that I can know or tell about that ... Working from within Gnome on a
single card; 3 × 1.3 (+1.3) msec works and double that to become
indestructibly rock-solid.

[OK... That might be enough CUDA advocacy for tonight? :-D]

/jma

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-06 Thread Jens M Andreasen

On Sat, 2010-02-06 at 23:07 +0100, Emanuel Rumpf wrote:

 article: Audio Processing on the GPU
 http://www-sop.inria.fr/reves/projects/GPUAudio/
 

That article is so out of date, I dont know how to even begin to
explain? Really, you might as well be talking about how M56k code does
wonders on a NeXT cube. 

Do yourself a favour and ignore it.

/jma


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-06 Thread Arnout Engelen
On Sat, Feb 06, 2010 at 09:36:20PM +0100, Emanuel Rumpf wrote:
 Running the rt-check script, indeed, I found some issues.
 Fixed them.

Glad you found it useful

 Now, the only remaining warning is:
 Checking for Generic PCI bus-master DMA support... not found.
 ** Kernel without Generic PCI bus-master DMA support

This checks for the 'CONFIG_BLK_DEV_IDEDMA_PCI' option, which seems to have 
been dropped somewhere between 2.6.29 and 2.6.31. I guess it was renamed or
made non-optional, or something like that. I'll just remove this test from the
script.


Regards,

Arnout
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-05 Thread Pedro Lopez-Cabanillas
On Thursday, February 4, 2010, Emanuel Rumpf wrote:
 Has anyone ever played a plugin in realtime ( live )...

 ...and I don't mean a one-finger melody, but a mutli-polyphonic piano
 piece, eventually with sustain held down, which resulted in about 20 to 40
 simultaneusly processed voices.


 I just realized, that I've never been able to do that. Neither almost.
 Frustration.
 But on my digital piano, I can to it.
 That thing is some years old and definitely doesn't have 2 x 2 GHz
 processors available.

A musical instrument is something designed and built for playing music. You 
can certainly produce sounds with a computer, but a general purpose computer  
is best suited for computing... anything.

 Anyway.
 The answer so far has been: That system is more dedicated, thus it
 can, while my PC cannot.

 The conclusion:
 I'm working with a wrong system !  -  It doesn't allow me to work the
 way I intend.

 Damn. What did I buy this system for ? I don't need those 2 x 2GHz for
 word processing - right ??


 This makes me wonder:

 Which one is the system for my requirements ?
 Which one is able to make some softsynths / samplers
 process 30 voices in less than 9 milliseconds ?


 Could my system be extended or modified in order to suit ?

 How then ?

 We have dedicated hardware for graphics, why not for audio ?

Exactly. Better start with a good audio interface. You should not expect to 
convert a laptop with a cheap integrated Intel HDA sound interface into a  
good musical instrument.

Regards,
Pedro
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-05 Thread Julien Claassen
Hello Emanuel!
   I see, that you've already got some answers, here's mine though.
   I have a 1.8GHz CPU, OK I run NO GUI at all, yet still. I play all my music 
live. I play sessions with LinuxSampler (big pianos and all), I also record 
them that way, so the harddisk recorder is running at the same time. I used 
ZynAddSubFX's mini text-UI live, hydrogen, Fluidsynth with up to 200MB 
soundfonts and I even did a bit of csound playing live with a soprano voice 
emulation, so that's quite far from simple analogue.
   I could also do LinuxSampler with jconv running with some referb without 
problems. Admittedly, sometimes - when I had bad kernels - it wouldn't work 
that well. But now I have a 2.6.30 kernel, self-compiled, and everything is 
fine so far.
   I hope that somehow encourages you to go on. I know of others even using a 
couple of VSTIs at the same time, wiring them into Ardour and the like. So 
it's most certainly a question of kernel and settings and maybe taking a look 
at all the processes running, and which of them might be unnecessary. I've 
also seen, that my system installed a good deal of software, which I never 
needed, some of it daemons running all the time.
   Kindly and encouraginly yours
Julien


Music was my first love and it will be my last (John Miles)

 FIND MY WEB-PROJECT AT: 
http://ltsb.sourceforge.net
the Linux TextBased Studio guide
=== AND MY PERSONAL PAGES AT: ===
http://www.juliencoder.de
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-05 Thread Benno Senoner
Hi Emanuel,  regarding LinuxSampler the reliability and performance it
can achieve (polyphony, dropout-free playback etc)
depends from several factors:
hardware: mainboard, cpu, RAM, harddisk, audio card, gfx card
software: linux kernel (real time extensions), other running drivers, apps

as others already said some hardware like laptops are often not
optimally suited for glitchfree sub 10msec latency playback.
sometimes shared IRQs and other hardware bottlenecks can increase the
likelyhood of audio dropouts.

LinuxSampler is highly configurable, you can tune almost any parameter
including the polyphony, how much of each sample
is preloaded into RAM (reduces disk I/O), the number of disk I/O threads etc.

disk streaming audio samplers have to cope with the limited access
times and bandwidth of harddisks, so of course it cannot
 do a miracle and defy laws of physics. if the disk is physically
capable to stream only 50 voices and you try to play pieces with
100 active voices, it could go well for a while since when playing
short notes the initial part is cached in RAM but 100 sustained
notes will lead to drop outs or muted voices sooner or later.
You can easily fix the issue by either preloading more of each sample
into RAM, given enough RAM you can even avoid any disk I/O
at all and in that case the polyphony is limited only by the CPU and
RAM speed. = several hundred voices with sub 5-10msec latency.
 (Alex Stone had a LinuxSampler setup with 800 voices with disk
streaming actie).
alternatively you can stream the samples from 2 separate disks (best
solution is to place your instruments on multiple disks) or use
software RAID0/1 to increase disk bandwidth.
solid state disks are reported to work very well with harddisk based
samples since they provide low access times (often below 1msec) and
very high read speeds 100-200MB/sec.

If you need help with LinuxSampler just ask on our forum, users will
gladly and share their experiences with good performing LinuxSamplers
setups.
http://bb.linuxsampler.org


As said given non broken PC hardware, the a properly tuned linux
kernel with real time support and the right linux audio app you can
easily have a software instrument playable live
without audio dropouts and without notable latency. (   5-10msec)
given that it takes about 1.1msec to delived a Note On/Off MIDI
message and that sound travels 1 meter in 3msec,
playing a 4 note chord and standing 1 meter from the speaker leads to
7 msec latency (for the 4th note of the chord) even if your software
instrument had  0msec latency there is always some
latency present. so IMHO anything below 3-10msec is a real time instrument.

cheers,
Benno



2010/2/4 Emanuel Rumpf xb...@web.de:
 2010/2/4 Arnold Krille arn...@arnoldarts.de:
 On Thursday 04 February 2010 18:50:28 Emanuel Rumpf wrote:
 Has anyone ever played a plugin in realtime ( live )...
 ...and I don't mean a one-finger melody, but a mutli-polyphonic piano
  piece, eventually with sustain held down, which resulted in about 20 to 40
  simultaneusly processed voices.

 Yes, I have. I believe Ken Restivo, Atte Andre Jensen and many others too.

 Reliably ? At a latency below 10 ms ?
 Which synth ? I don't intend to mistrust you, but I remain
 disbelieving for now. :-)

 Linuxsampler is well written and reliable, but
 when playing intensely, it xran too here.


 We have dedicated hardware for graphics, why not for audio ?

 There are manufacturers selling dedicated PCI-cards to do VST-plugin work and
 free your cpu of that.

 Interesting, although uneligible for my laptop..

 But whats the purpose of running some piece of (almost)
 generic software on generic platforms, when you still need specialised
 hardware?

 Being generic means (for the platform) to support a bunch of
 specialised applications.
 It doesn't bother much to buy additional hardware, in order to make
 the system more generic, but not being able to make it
 generic enough for being able to use it for a cerain specialised application.
 We are used to extend the systems usability through additional peripherials
 such as graphic-cards, audio-cards, printers
 That's what has made it a success.


 Of course you can buy dedicated audio-hardware. Its called keyboards and
 synths and mixers and effects (outboard).

 These make me lose the generality.

 But isn't it easier to have it all in software and carry it around on your
 pc/laptop/usb-stick?

 It absolutely would, if it gave me the same reliability.


 Please give us some pointers to help you improve performance on your 
 definitely
 un-tuned and probably mis-configured system before making our work bad in
 general.

 I'm not making it bad. I'm even searching for a way to
 make it more valueable by making it more usable.

 I don't think my system is so badly configured - how to measure ?
 It's not the most recent hardware, I admit.


 Have fun,

 Thanks

 --
 E.R.
 ___
 Linux-audio-dev mailing list
 

[LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-04 Thread Emanuel Rumpf
Has anyone ever played a plugin in realtime ( live )...

...and I don't mean a one-finger melody, but a mutli-polyphonic piano piece,
eventually with sustain held down, which resulted in about 20 to 40
simultaneusly processed voices.


I just realized, that I've never been able to do that. Neither almost.
Frustration.
But on my digital piano, I can to it.
That thing is some years old and definitely doesn't have 2 x 2 GHz
processors available.

Anyway.
The answer so far has been: That system is more dedicated, thus it
can, while my PC cannot.

The conclusion:
I'm working with a wrong system !  -  It doesn't allow me to work the
way I intend.

Damn. What did I buy this system for ? I don't need those 2 x 2GHz for
word processing - right ??


This makes me wonder:

Which one is the system for my requirements ?
Which one is able to make some softsynths / samplers
process 30 voices in less than 9 milliseconds ?


Could my system be extended or modified in order to suit ?

How then ?

We have dedicated hardware for graphics, why not for audio ?


Sincerely

-- 
E.R.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-04 Thread Paul Davis
On Thu, Feb 4, 2010 at 12:50 PM, Emanuel Rumpf xb...@web.de wrote:
 Has anyone ever played a plugin in realtime ( live )...

 ...and I don't mean a one-finger melody, but a mutli-polyphonic piano piece,
 eventually with sustain held down, which resulted in about 20 to 40
 simultaneusly processed voices.


 I just realized, that I've never been able to do that. Neither almost.
 Frustration.

it depends HUGELY on the nature of the synthesis method being used.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-04 Thread Arnold Krille
On Thursday 04 February 2010 18:50:28 Emanuel Rumpf wrote:
 Has anyone ever played a plugin in realtime ( live )...
 ...and I don't mean a one-finger melody, but a mutli-polyphonic piano
  piece, eventually with sustain held down, which resulted in about 20 to 40
  simultaneusly processed voices.

Yes, I have. I believe Ken Restivo, Atte Andre Jensen and many others too.

 We have dedicated hardware for graphics, why not for audio ?

There are manufacturers selling dedicated PCI-cards to do VST-plugin work and 
free your cpu of that. But whats the purpose of running some piece of (almost) 
generic software on generic platforms, when you still need specialised 
hardware?

Of course you can buy dedicated audio-hardware. Its called keyboards and 
synths and mixers and effects (outboard).
But isn't it easier to have it all in software and carry it around on your 
pc/laptop/usb-stick?

Please give us some pointers to help you improve performance on your definitely 
un-tuned and probably mis-configured system before making our work bad in 
general.

Have fun,

Arnold


signature.asc
Description: This is a digitally signed message part.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-04 Thread Adrian Knoth
On Thu, Feb 04, 2010 at 06:50:28PM +0100, Emanuel Rumpf wrote:

 Has anyone ever played a plugin in realtime ( live )...
 
 ...and I don't mean a one-finger melody, but a mutli-polyphonic piano
 piece, eventually with sustain held down, which resulted in about 20
 to 40 simultaneusly processed voices.

Yep, I do this since 2003. Though not with Linux, yet, but Win32 on an
RME Multiface.

Sampled pianos, strings, some synths.

I started on AMD Athlon xp1600 (iirc) with 1GB RAM and I'm now on AMD
athlon 2x2GHz laptop with 3GB RAM.

What can I say? It works. The audience varies from 150 to 4000 people,
and I trust my system, despite it's Windows. ;) I clearly wouldn't even
enter the stage when I'd doubt system stability.

This said, Linuxsampler was the most useful virtual instrument I found,
but I'm really missing my Hypersonic2. This comes very close to a
typical keyboard workstation with lots of _decent_ sounds like Korg
Triton or Yamha Motif.

I then bought a Korg microX as the primary sound engine for my ardour
based studio setup. It's around 450 Euro, it delivers the Triton sounds,
it's hardware and it's approximately the price one would have to pay for
a good virtual instrument. It's the confession that HQ virtual
instruments on Linux (besides LS) won't happen any soon.

 process 30 voices in less than 9 milliseconds ?

You don't need 9ms, I use 12ms, and I would claim I'm not lagging behind
the drummer. ;)



-- 
mail: a...@thur.de  http://adi.thur.de  PGP/GPG: key via keyserver
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-04 Thread James Warden


--- On Thu, 2/4/10, Adrian Knoth a...@drcomp.erfurt.thur.de wrote:

 From: Adrian Knoth a...@drcomp.erfurt.thur.de
 Subject: Re: [LAD] Has anyone ever played a plugin in realtime ... [related 
 to:] hard realtime performance synth
 To: linux-audio-dev@lists.linuxaudio.org
 Date: Thursday, February 4, 2010, 1:46 PM
 On Thu, Feb 04, 2010 at 06:50:28PM
 +0100, Emanuel Rumpf wrote:
 
  Has anyone ever played a plugin in realtime ( live
 )...
  
  ...and I don't mean a one-finger melody, but a
 mutli-polyphonic piano
  piece, eventually with sustain held down, which
 resulted in about 20
  to 40 simultaneusly processed voices.
 
 Yep, I do this since 2003. Though not with Linux, yet, but
 Win32 on an
 RME Multiface.
 
 Sampled pianos, strings, some synths.
 
 I started on AMD Athlon xp1600 (iirc) with 1GB RAM and I'm
 now on AMD
 athlon 2x2GHz laptop with 3GB RAM.
 
 What can I say? It works. The audience varies from 150 to
 4000 people,
 and I trust my system, despite it's Windows. ;) I clearly
 wouldn't even
 enter the stage when I'd doubt system stability.
 
 This said, Linuxsampler was the most useful virtual
 instrument I found,
 but I'm really missing my Hypersonic2. This comes very
 close to a
 typical keyboard workstation with lots of _decent_ sounds
 like Korg
 Triton or Yamha Motif.
 
 I then bought a Korg microX as the primary sound engine for
 my ardour
 based studio setup. It's around 450 Euro, it delivers the
 Triton sounds,
 it's hardware and it's approximately the price one would
 have to pay for
 a good virtual instrument. It's the confession that HQ
 virtual
 instruments on Linux (besides LS) won't happen any soon.

are you kidding ?? have you tried Pianoteq ?
I use it at 1ms lat for RT playing together with Addictive Drums via dssi-vst. 
Not a single glitch.

I use a dedicated PC, with a Core 2 Duo @ 2.4 GHz, 4GB RAM and RNME HDSP + 
Multiface II sound system.

J.






 
  process 30 voices in less than 9 milliseconds ?
 
 You don't need 9ms, I use 12ms, and I would claim I'm not
 lagging behind
 the drummer. ;)
 
 
 
 -- 
 mail: a...@thur.de 
     http://adi.thur.de   
 PGP/GPG: key via keyserver
 ___
 Linux-audio-dev mailing list
 Linux-audio-dev@lists.linuxaudio.org
 http://lists.linuxaudio.org/listinfo/linux-audio-dev
 


  
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-04 Thread Jens M Andreasen

On Thu, 2010-02-04 at 18:50 +0100, Emanuel Rumpf wrote:

 We have dedicated hardware for graphics, why not for audio ?
 

Zap the Gnome on steroids and dedicate your GPU for audio then!

I have success with 3 audio buffers × 0.3 ms + another 0.3 ms for the
PCIe roundtrip to the GPU. Voicecount is well into the hundreds and then
some ...

This is not a laptop though, if that matters?

 
 Sincerely
 

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-04 Thread Adrian Knoth
On Thu, Feb 04, 2010 at 11:46:35AM -0800, James Warden wrote:

  a good virtual instrument. It's the confession that HQ virtual
  instruments on Linux (besides LS) won't happen any soon.

 are you kidding ?? have you tried Pianoteq ?

I tried it some years ago, and it was crap. I tried it five minutes ago,
and it's amazing.

That's exactly the kind of software I'm looking for. If the company
would just do other sounds... I don't need 20 pianos, I also need
strings, pads, hard synths, Atmo-FX and the lot.


However, it's clearly a good product.


-- 
mail: a...@thur.de  http://adi.thur.de  PGP/GPG: key via keyserver
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-04 Thread Paul Davis
On Thu, Feb 4, 2010 at 3:28 PM, Adrian Knoth a...@drcomp.erfurt.thur.de wrote:
I don't need 20 pianos, I also need
 strings, pads, hard synths, Atmo-FX and the lot.

given that pianoteq is using physical modelling, its hard to see how
their technology could be applied to hard synths, pads or atmo-fx.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-04 Thread Adrian Knoth
On Thu, Feb 04, 2010 at 03:32:23PM -0500, Paul Davis wrote:

 I don't need 20 pianos, I also need
  strings, pads, hard synths, Atmo-FX and the lot.
 given that pianoteq is using physical modelling, its hard to see how
 their technology could be applied to hard synths, pads or atmo-fx.

That's why Steinberg's Hypersonic2 is a hybrid: it has a sample ROM, it
has the usual synthesizer stuff (VCO+LFO) for the hard leads and a FX
section, an arpeggiator plus some more to combine everything.

I don't expect Pianoteq to be anything else than a piano, but this
doesn't change the point that there's no allround virtual instrument on
Linux that's suitable for the average pop producer or live keyboardist
playing in a Top40 band. (that's exactly what the microX does: it
delivers a wide variety of decent sounds ready to be used for
straight-forward tasks)

I guess the hardest part of making such a Motif/Triton/Phantom clone is
getting some nice samples, which won't probably happen for free. I could
sample an acoustic guitar, but I can't record a whole orchestra. ;)


Cheerio

-- 
mail: a...@thur.de  http://adi.thur.de  PGP/GPG: key via keyserver
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Has anyone ever played a plugin in realtime ... [related to:] hard realtime performance synth

2010-02-04 Thread Paul Davis
On Thu, Feb 4, 2010 at 4:12 PM, Adrian Knoth a...@drcomp.erfurt.thur.de wrote:
 I don't expect Pianoteq to be anything else than a piano, but this
 doesn't change the point that there's no allround virtual instrument on
 Linux that's suitable for the average pop producer or live keyboardist
 playing in a Top40 band. (that's exactly what the microX does: it
 delivers a wide variety of decent sounds ready to be used for
 straight-forward tasks)

well, if you were willing to purchase gigasampler sample libraries,
and spend a little time making sure your system configuration was all
correct, i have little doubt that you could get LinuxSampler to do
what you want. its notably lighter-weight for a sample-playback engine
than most others that handle GS formats.

however, given that gigasampler has died as a library format, and
given that sound as if you don't believe your system configuration
could possibly have any issues, i'm not sure that this solution will
work for you.

 I guess the hardest part of making such a Motif/Triton/Phantom clone is
 getting some nice samples, which won't probably happen for free.

yep, precisely.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev