Re: Pbind question
[email protected] Fri, 11 Jun 2021 11:10:33 +0800
| Newsgroups | gmane.comp.audio.supercollider.user |
|---|---|
| Message-ID | <CAFniQ7UfnCLYUmpBq_Y=ZC+dr3C37YsFmsrEYmvH9M4GSBY97Q@mail.gmail.com> |
On Fri, Jun 11, 2021 at 9:33 AM James Harkins <[email protected]> wrote: > After that, you can have an Event that embeds another event, and the > sub-event will automatically allocate a bus, play its synth on that > bus, map the parent event control to that bus, and release the bus > when finished -- arbitrary modulation signals applied to any > parameter. To pique interest, a quick example. After installing the test-tempbus.sc extension from https://gist.github.com/jamshark70/7571ef65cb3aef58ff14b014b672c91b then the following works: ( p = Pbind( \type, \notemap, \dur, Pexprand(0.1, 0.8, inf), \legato, Pexprand(0.5, 3.0, inf), \freqEndpoints, Pexprand(200, 1200, inf).clump(2), \pan, Pwhite(-1.0, 1.0, inf), \detunedFreq, Pfunc { |ev| var sustain = ev.use { ~sustain.value } / thisThread.clock.tempo; ( instrument: \ctlEnv, env: Env(ev[\freqEndpoints], [1], \exp), time: sustain, addAction: \addBefore ) } ).play; ) p.stop; So we get sliding notes, but the important thing is what is not necessary to do: - This example does not have to produce control-change events quickly -- the time granularity of the Pbind is still per note. - This example does not have to make any changes to the default SynthDef -- you write the note and control SynthDefs in a normal, simple way, and the event connects them automatically. \detunedFreq is a bother -- I'm not sure when I would have time to improve that. This isn't high on my priority list -- I would welcome suggestions on this issue. 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/