Re: [linux-audio-dev] Real time plug ins

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] Real time plug ins
From: Benno Senoner (sbenno_AT_gardena.net)
Date: Tue Mar 14 2000 - 11:39:40 EST


On Tue, 14 Mar 2000, James McCartney wrote:
> I'm not a Linux developer yet. But Linux is one of the first OSes to which I
> am interested in a port of SuperCollider from the Mac, the other being BeOS.

Linux version planned and no "PC (Windows) version planned ?"
at least looking at the audiosynth site you can read this:

---
SuperCollider is for Macintosh only. There is not currently a PC version. 
Do not send email asking about a PC version. 
---

things are starting to look good :-))

Back to the realtime problem:

What do you mean with "instantiable in realtime" ?

1) that there is no disruption in the audio stream while adding/removing plugins from the processing chain, but the instantiation may take some time ( 0.1 - 1 sec)

OR

2) condition 1) must be meed AND the plugin must start up immediately after the insertion , with virtually NO delay at all.

can you explain this s bit more precisely ?

My thoughts:

1) not hard to implement: just fire up a lower priority thread and let perform all the instantiations inside this thread. As soon the plug is ready it can get added to the processing chain without any pop and crackles in the audio stream.

2) much harder, and I think the zero delay startup very probably has to be implemented in the plugin itself, especially when you use dynamic memory allocation/deallocation. In this case you need to reserve some chuck of mem in advance and do all your hard-realtime memory management inside this memory area.

Maybe LADSPA/MuCos will provide this hard-realtime memory allocator, but it will be a waste of memory, since the mem has to be grabbed before any plug attempts to perform "hard-realtime" memory management.

Benno.

> > One of SuperCollider's requirements for unit generator plug ins is that they > must also be instantiable in real time. SuperCollider constantly builds and > destroys patches dynamically at run time. A unit generator must take only as > much time to instantiate as is proportional to its run time. So doing things > like taking time to zero out a long delay line are illegal as they may > glitch. This does not appear to be a requirement of the proposed plug in > standard. It does add a burden to the developer, but it is possible to write > delay lines and such without zeroing out the buffers first. Plug-ins like > VST or MAX/MSP plug ins that can take an unbounded amount of time to > instantiate are unusable in SuperCollider. If there is not to be such a > requirement, SC would have to restrict such plug ins to a static area. > > --- james mccartney james_AT_audiosynth.com <http://www.audiosynth.com> > SuperCollider - a real time synthesis programming language for the PowerMac. > <ftp://www.audiosynth.com/pub/updates/SC2.2.7.sea.hqx>


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Tue Mar 14 2000 - 20:16:46 EST