[PlanetCCRMA] System Requirements For Good Performance?

Fernando Lopez-Lezcano nando at ccrma.Stanford.EDU
Mon Oct 15 10:32:01 2007

On Mon, 2007-10-15 at 08:14 +0100, joey.a wrote:
> Hi
> I used to be actively engaged in computer music research in the late
> 70's early 80's,  when dedicated hardware was the only way to
> synthesise computer music in real time.
> I am planning to get back into this area now, and would have thought
> that real time synthesis should now also be possible with purely
> software synthesis modules, in view of the subsequent improvements in
> computer speeds.
> Consequently, I was wondering if anyone could give me a rough
> indication of how many voices can be synthesised in real time using
> the now available software, run on, say, a 1.8 GHz Celeron processor
> (in a new system).

Hmmm, that would be really difficult as something as generic as "voices"
has almost no meaning that can be quantified. What you would get would
depend on exactly how demanding is the instrument you are rendering. 

You can get a lot from modern processors... enough to probably keep you
happy :-)

On a very recent Intel laptop running a Core Duo at 2.4GHz (I think
that's the speed), SuperCollider would do 500 interpolated sine
oscillators with a (roughly) 50% cpu load (in one of the cores). 

> Would I be correct in assuming that it is, as yet, too early to fully
> exploit the potential  of top of the range multi-core processors,
> because the associated threading driver software has not yet been
> written? (If purchasing a more expensive processor is going to make a
> substantial difference to me in this application, I would, of course,
> do so.)

You are partially correct. No many (if any) synthesis software can use
multiple processors in real time. But I would not buy a single core
processor these days. Even if your favorite dsp engine does not use more
than one core, all the other stuff you need to run will be able to use
the other and as a result you will get better performance overall. 

There are tricks you can use, of course. For example, in SuperCollider
you could have two engines running and those would tend to use different
cores but allocation of synthesis resources would have to be manual. 

-- Fernando