Re: Building a Racket client for SC

[email protected]
Newsgroups gmane.comp.audio.supercollider.user
Message-ID <CAFniQ7X-nWF7PXtK1v70SmKsiGbT7DtADt2-0FScwx+QjU6Cdw@mail.gmail.com>
On Tue, Mar 2, 2021 at 6:50 PM <[email protected]> wrote:
> Oh, yes, I knew there was some way to map a control bus to a parameter! However, adding an In.ar for each parameter (which in most cases won't be used) - is that CPU expensive?

In.ar is more expensive than In.kr, yes.

Also, be aware of a server-side limitation on the number of audio-rate
connection buffers (s.options.numWireBufs). Control-rate inputs don't
use wire buffers; audio-rate inputs do.

a = { In.ar((0 .. 63), 1) }.play;  // ok

a = { In.ar((0 .. 64), 1) }.play;
exception in GraphDef_Recv: exceeded number of interconnect buffers.

And these interconnect buffers are used for signal processing as well,
so, a large number of audio-rate inputs would restrict the number of
parallel chains you could have in one def.

You could define modulation as control-rate by default, and send a new
synthdef only when it's necessary to promote a control to audio rate.

> I don't think I will anyway, since sending a modified synthdef might be faster than I expected. Last night I was concerned about big synthdefs, so I tried making a synthdef with 700 UGens (25kb). First I made it in SCide, the computer hung for ~10 seconds writing the synthdef to a .scsyndef file.

This is almost certainly `optimizeGraph` -- in it, the graph is
optimized, but the algorithm to perform the optimization is not
well-optimized -- I'd expect O(n ^ m) where n is the number of UGens
and m is some figure > 1. (SynthDefs are executed in the server many
times, but compiled infrequently, so it's a reasonable trade-off.)

You could test this theory -- go to SynthDef.sc and comment out line
276 (`this.optimizeGraph;`).

hjh

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.