[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-users] Pbind question



Hello

-> James / hjh. This has definitely piqued my interest, thank you so much !

It's working fine with any SynthDef. I struggled at first and then it managed to make itself work, I had absolutely no idea how. At first it didn't... then it did.. then it didn't anymore...
it turns out the problem was VarLag haha ! since a few days ago I have been sprinkling them everywhere like pepper in my SynthDefs and so it only started working after I evaluated alternate SynthDefs in older projects. Pretty obvious with hindsight that this might have been an obstacle...

I will be able to study this more carefully (at least usage syntax) after next week-end. Seeing the code brings a up a few questions on other subjects. Happy to investigate it on my own for the time being.

\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.
 
I'm not sure I understand, is it the choice of the symbol ? If you are looking for something shorter but nevertheless corresponding i could perhaps suggest \glissando ?

Kind regards,
Max

Le sam. 12 juin 2021 à 12:23, <flo.huth@xxxxxxxx> a écrit :
Hi,

i dont know your SynthDefs but something like that?
For a convincing "glide" effect you can use a monosynth. Just check your
"doneActions" and your gate argument.
Also im a bit confused of the thread...maybe it has been already
answered. Good luck anyway!

(
SynthDef(\glide,{
     arg t_trig,freq,lagTime,amp;
     var lag,osc,env,mix;

     lag = Lag.kr(freq,lagTime); //lag UGen ramps from one freq to the
next in "lagTime"

     osc = Saw.ar(lag,amp);

     env =EnvGen.ar(Env.adsr(0.3,0.1,0.4,1),gate:t_trig,doneAction:0);
//t_trig and doneAction:0 are important

     mix = osc * env; //...

     Out.ar(0,mix!2)
}
).add;
)

(
a=Pmono(\glide, //for reasons i dont get you dont need to type a key
value pair. Just synth name.
     \t_trig,1,
     \degree,Pwhite(-5,12),
     \lagTime,Pwhite(0.01,2),
     \amp,1,
     \dur,Pkey(\lagTime)
).play;
)

a.stop;


best

flo.


On 12.06.21 09:23, paulineugalde@xxxxxxxxx wrote:
> Hey everyone,
> I just looked at some of the responses again.
>
> I took Bruno Ruviaro's Experimental Sound Design course in my fall
> quarter of my senior year of college. At the end of the class, he
> recommended this mailing list to me, so my expectation when I subbed
> to it was that it'd be accessible to someone of my experience--or lack
> of it, more like.
>
> I ******* love A Gentle Intro to SC because it gives you code examples
> to run first, so you can hear the end result. Only after the text
> gives you the chance to listen to the sound does it explain--with
> varying levels of technicality--how that sound is produced. I still
> refer to it to this day.
>
> James, about the SynthDef and example you quoted?
>
> I know what I want to ask but not how to ask it so this might not make sense.
>
> I have multiple synthDefs already made that I want to be able to make
> sliding notes. I also have Pbinds already written that I want to
> change so they have sliding notes.
>
> How would I alter my preexisting synthDefs and Pbinds to accommodate
> for what you've quoted? I read the synthDef, and I recognize most of
> it except there are a couple new variables?



>
> I have a lot of material already made, so I want to be able to
> implement this with as little fuss as possible.
>
> On 6/10/21, jamshark70@xxxxxxxxx <jamshark70@xxxxxxxxx> wrote:
>> On Fri, Jun 11, 2021 at 9:33 AM James Harkins <jamshark70@xxxxxxxxx> 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: https://listarc.bham.ac.uk/marchives/sc-users/
>> search: https://listarc.bham.ac.uk/lists/sc-users/search/
>>
>

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: https://listarc.bham.ac.uk/marchives/sc-users/
search: https://listarc.bham.ac.uk/lists/sc-users/search/