Accueil › Forums › Créer avec IanniX › supercollider help
@Guest wrote:
Hey thanks dick for everything but i still got some problems
when i change my sawbass arg note to freq to have iannix’s triggerIndex control it’s pitch it just clips and crashes…
hmm don’t get much on how Iannix messages works and the one you wrote either
or perhaps it is just some stupid mistalkes i’ve made
it will be great if i could get some explanations for newbies like me!: )
thanks a lot ; )
(
SynthDef(
« sawbass »,
{
|note = 35, amp=1.2, cutoff=350, decay=1|
var env, audio;
env = EnvGen.kr(Env.new([0,1,0],[0.001,2],[3,-50]),doneAction:2);
audio = RLPF.ar(Saw.ar(note.midicps,amp),cutoff)*env;
audio = CombC.ar(audio,1,0.125,decay);
Out.ar([0,1],audio);
}
).send(s);
)
(
g = OSCresponderNode(nil, ‘/trigger’,
{ |time, responder, msg|
var pitch, octave, triggerIndex = msg[1];
var scale = [ 28, 29, 31, 33, 35, 36, 38 ].midicps;
var note = [ triggerIndex % 7 ];
octave = (triggerIndex / 7).floor;
Synth(« sawbass »/*, [ freq, note*(2**octave), amp, 1.5]*/);
}
).add(s);
)
NetAddr.langPort
well…
I tried your program out, found it made a few low grumbly noises and then quit on a memory allocation fail.
I’m probably not the guy to diagnose your SC troubles, just a beginner myself. A glance at your code above suggests you might be generating a lot of Synths that aren’t being removed fast enough. That would cause the memory fault. The pitch selection logic seems a bit odd. I tried your code with the sawbass decay a bit shorter, and pitch selection tweaked as follows, and it worked for me:
(
SynthDef(
« sawbass »,
{
|note = 35, amp=1.2, cutoff=350, decay=1|
var env, audio;
env = EnvGen.kr(Env.new([0,1,0],[0.001,0.4],[3,-5]),doneAction:2);
audio = RLPF.ar(Saw.ar(note.midicps,amp),cutoff)*env;
audio = CombC.ar(audio,1,0.125,decay);
Out.ar([0,1],audio);
}
).send(s);
)
(
g = OSCresponderNode(nil, ‘/trigger’,
{ |time, responder, msg|
var pitch, triggerIndex = msg[1];
var scale = [ 40, 41, 43, 45, 47, 48, 50 ];
var note = scale[ triggerIndex % 7 ];
Synth(« sawbass », [ note, note, amp, 1.5] );
}
).add(s);
)
thanks for your reply, it works better but still not great !!
sc obviously can’t take too many triggers at the same time,
i wonder if there is a way to work around that
all the best
Yau
@Guest wrote:
thanks for your reply, it works better but still not great !!
sc obviously can’t take too many triggers at the same time,
i wonder if there is a way to work around thatall the best
Yau
well … I’m pretty sure SuperCollider can receive and process plenty of OSC traffic, certainly as much as you can transmit from IanniX. The question is what your program does with the traffic.
Try this:
OSCresponderNode(nil, ‘/trigger’, { |time, responder, msg| msg.postln }).add;
OSCresponderNode(nil, ‘/cursor’, { |time, responder, msg| msg.postln }).add;
Then see how many cursors and triggers you can add before SC gives up or misbehaves. I think you’ll find IanniX hangs on the send and display side before SC stops handling traffic. Yes, you will hit trouble if you try to instantiate a thousand UGens at once. Is that a limitation of SC, or of your hardware config?
The biggest problem with your patch is the comb you have echoing each new note. I couldn’t figure out what you intend the relation between the echoes and the pace of triggers to be. I believe that fixing your note/frequency selection logic and removing the comb will make your patch perfectly well-behaved.
cheers
As you can see, we adapt the example to map examples on 57120 port for you, SC-users 🙂
And we provide interfaces for SC, check the Patches folder!
Hi Guillaume,
In another thread you mentioned:
@Guillaume wrote:
… in the last version, we included a transport message that sends
osc://127.0.0.1:57120/transport status nb_triggers nb_cursors nb_curves
on Play and Fastrewind.
This is so great. For those of us using SC, it means we can have the OSCresponder listening on play figure out how many synths to activate, rather than coding the number in the SC patch as the ones you provided do. As I mentioned in the other thread, we could tumble to these features quicker if they were documented.
By the way, I think there is a bug in your « gendy » patch. the responder for cursors assigns an ordinate (X-axis) value to a variable that seems to think it’s an abscissa (« Y »). If you use that to assign frequency, it won’t do the expected. Perhaps you intended to supply us a friendly puzzle?
thanks for your support!
–Dick
Hi Dick!
I didn’t develop the SC patch, I’ll ask the developer to give me some info about a potential Gendy’s bug 🙂
Way to use the itneernt to help people solve problems!
I can run Iannix and SC on one machine, but am
not having luck running Iannix on one machine and SC on another.
Taking the granular patch, SC can send the score to Iannix on the second machine, start and stop it, but when it runs, it won’t play SC back on the first machine. When I look at
the incoming OSC messages in the SC window, the messages are streaming in,
but no sound. Going from OSC to Iannix over port 1234 and from Iannix to SC
over port 57120. Only SC 3.4.4 worked by the way on the one machine. Any pointers?
© IanniX Association
Qu'est-ce que IanniX ? | Téléchargement | Showcase | Forum | Recherche | À propos
Cookie | Durée | Description |
---|---|---|
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |