Warning: Undefined array key "p" in /home/clients/a70cbb4a74edf8105da5fd7e142fb9de/web/forum/includes/vb5/template.php(404) : eval()'d code on line 794
Warning: Undefined array key "p" in /home/clients/a70cbb4a74edf8105da5fd7e142fb9de/web/forum/includes/vb5/template.php(404) : eval()'d code on line 794
Warning: Undefined array key "p" in /home/clients/a70cbb4a74edf8105da5fd7e142fb9de/web/forum/includes/vb5/template.php(404) : eval()'d code on line 794
Warning: Undefined array key "p" in /home/clients/a70cbb4a74edf8105da5fd7e142fb9de/web/forum/includes/vb5/template.php(404) : eval()'d code on line 794
Warning: Undefined array key "p" in /home/clients/a70cbb4a74edf8105da5fd7e142fb9de/web/forum/includes/vb5/template.php(404) : eval()'d code on line 794
Warning: Undefined array key "p" in /home/clients/a70cbb4a74edf8105da5fd7e142fb9de/web/forum/includes/vb5/template.php(404) : eval()'d code on line 794
Warning: Undefined array key "p" in /home/clients/a70cbb4a74edf8105da5fd7e142fb9de/web/forum/includes/vb5/template.php(404) : eval()'d code on line 794
Warning: Undefined array key "p" in /home/clients/a70cbb4a74edf8105da5fd7e142fb9de/web/forum/includes/vb5/template.php(404) : eval()'d code on line 794
Warning: Undefined array key "p" in /home/clients/a70cbb4a74edf8105da5fd7e142fb9de/web/forum/includes/vb5/template.php(404) : eval()'d code on line 794
OSCulator in SuperCollider -
OSCulator Forum
If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
Dear all,hi, (this is my first thread to this list)
I am using the example of the Osculator on Supercollider where I find it a bit slow concerning the motion and response, in relation of receiving the osc data from the OSCulator in SuperCollider with OSCResponderNodes, if any has any success of using the example and he is satisfied could pass any tips or experience.Let me know if in the whole discussion could help of uploading and sharing the SC doc + the .oscd
Best
\K.
Normally, the reporting rate of the Wiimote should not be altered, this is a rather light process, so I suspect the problem lies on SuperCollider side. You can have a visual readout of what OSCulator processes by selecting a message and pressing the Space key, this will show a "Quick Look" like window with the signal sent from the Wiimote.
You can also experiment with the smoothing parameter, which has an influence on the perceived latency. This is located in the Wiimote drawer on the right side of the application.
And yes please, if you could attach the files to this thread that would be great, I will have a look.
Hi Cam, first thing I am gonna check is other methods of messaging nodes which in various synthesis techniques are applied for example in granular synthesis is suggested. i.e as appear in the super collider help "In certain cases, such as for granular synthesis it is recommended to use messages directly, because there is no benefit to be gained from the node objects (i.e. no need to message them) and they add cpu load to the client side."
Maybe that's the case as I am trying to control a granular synthesizer
By the way how do I upload files here? Thanks Best \K.
Thanks! As it seems now the major issues are solved, although a second opinion might worth.
I am uploading the code through here as on attaching it returned to be invalid file.
I am not an expert in SuperCollider, but here's a suggestion:
You are setting different nodes values with OSC messages, which is fine, but each message only carries one information (rate, rateDev, etc.). You could perhaps optimize the OSC messaging by grouping values together. For example, instead of sending 2 messages from /wii/1/accel/pry, you could send only 1, same thing for /wii/1/nunchuk/accel/pry, you can group the 3 messages in only one.
Of course, doing this makes the OSC file less flexible, because it seals the index of arguments to be routed.
I honestly don't know if that will help regarding latency, but instead of sending about 500 messages per second, the rate will go down to 200 / second. If SuperCollider perform a state update on each OSC message received, then it could give a dramatic improvement.
Honestly I prefer your version as I find it easier to work it, if you need to try other things. And also you could save your OSC routing definitions in a file and use them with other input controllers (click on the gear button to import / export routings) ...
I'll be curious to know if you can see a difference.
One last thing : I haven't tried the SC file, there is a reference to sounds that I don't have.
I can see that you are doing a FFT with a buffer of 2048 points.
That could also be the origin of the latency. Doing a FFT and then an inverse FFT introduces a delay by about the length of a buffer. So if you have a 2048 points FFT and you sample rate if 44.1 kHz, that's a (2048/44100) 46 ms delay introduced in the system.
Add to this the latency of the audio interface (what are your settings ?), etc...
Hi Cam, concerning the same patch slightly implemented in a different way works absolutely fine, maximum speed and no latency, works as a charm.
(Average CPU 16 +-) a charm indeed(but there is an issue of synchronous-asynchronous access so I tried to do it otherwise)
(
~myBuffs = SoundFile.collectIntoBuffers("/Users/admin/STUDIO/SCfold/Spec/*");
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
v = [0.10];
~bufferPointer = 0;
b = Bus.control(s, 1);
c = Bus.control(s, 1);
d = Bus.control(s, 1);
e = Bus.control(s, 1);
f = Bus.control(s, 1);
g = Bus.control(s, 1);
h = Bus.control(s, 1);
k = Bus.control(s, 1);
o = Bus.control(s, 1);
m = Buffer.alloc(s, 2048, 0);
l = Buffer.alloc(s, 2048, 0);
~myrecBuff = Buffer.alloc(s, 44100 * 120, 1);
(
(s.bind
{
~mySynth =
SynthDef(\inst,
{arg out = 0, bufnum, b_bufnum;
var main, xfade, fftA, fftB, morph, x_morph, grains, b_grains, env, center, grainLen, density, rate, rateDev, dur, durDev;
By the way you can drag and drop any folder with aiff or wav (probably mp's as well) files on your computer, just drag and drop the folder in the ~myBuffs = SoundFile.collectIntoBuffers("/Users/admin/STUDIO/SCfold/Spec/*"); so the path will appear on that way!
Comment