[Question]: Sending OSC without SuperCollider?

Hi, my name is Rangga. Currently, I want to try to send an OSC message from Tidal to PD but without using SuperCollider first. Could anyone maybe help me about this? or maybe some link that I could read as a starting point?.

Thanks!

If I understood you correctly, you need another target which you address via TidalCycles. Since TidalCycles itself only sends OSC messages, you can also process them directly in another system (e.g. in Max/MSP or Hydra).

You find this in the documentation: https://tidalcycles.org/index.php/Custom_OSC
And some related posts like

3 Likes

Thank you, I will try to check those links first and I'll update you again soon!

all the best!

Hi, you also may find relevant information here too : http://liblo.sourceforge.net/

1 Like

Hey, I did check the links that you've shared. At first, I thought I understand some of the custom OSC codes from TIdalCycle official documentation. But unfortunately, I didn't quite get it. I guess I need to take some time to fully understand how OSC works first (besides the IP and port things).

Thanks!

Hey, thanks for sharing me this! i dont know how it might work tho but i think i'll take a look on it slowly soon.

best!

Hey, maybe if you can share an example PD patch for receiving OSC, we can make an example for sending OSC to it.

1 Like

Hi Yaxu,

Sorry for the late reply.
here is the patch that I want to receive the OSC from Tidal:

#N canvas 0 23 1440 804 10;
#X obj 130 123 routeOSC /a;
#X obj 211 122 routeOSC /b;
#X obj 290 121 routeOSC /c;
#X obj 365 123 routeOSC /d;
#X obj 132 151 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 294 150 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 368 151 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 328 67 unpackOSC;
#X obj 329 35 udpreceive 8888;
#X obj 283 272 *~ 0.4;
#X obj 382 271 *~ 0.6;
#X obj 252 215 * 0.75;
#X obj 352 214 * 1.25;
#X obj 280 481 dac~;
#X obj 155 324 vline~;
#X obj 282 411 *~;
#X obj 470 294 *~ 0.9;
#X obj 376 244 osc~ 432;
#X obj 464 267 osc~ 432;
#X obj 276 245 phasor~ 432;
#X text 3 150 this one send pulses;
#X obj 66 536 +~;
#X floatatom 52 506 5 0 0 0 - - -;
#X text 39 487 Carrier;
#X floatatom 138 462 5 0 0 0 - - -;
#X obj 138 482 osc~;
#X obj 138 503 *~ 0.8;
#X text 121 441 Modulator Freq;
#X floatatom 204 478 5 0 0 0 - - -;
#X text 199 461 Mod Index;
#X obj 124 595 line~;
#X msg 125 571 \$1 50;
#X obj 63 601 *~;
#X obj 135 546 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 63 563 osc~;
#X obj 396 487 *~ 0.15;
#X obj 444 123 routeOSC /e;
#X obj 23 393 random 1000;
#X obj 35 259 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 70 262 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 93 263 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 194 162 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 173 202 random 3;
#X obj 42 224 sel 0 1 2;
#X obj 110 385 random 20;
#X text 161 149 random fm synth;
#X text 299 171 fm synth on/off;
#X msg 127 288 0.1 10 \, 0 10 120;
#X obj 186 414 random 2000;
#X obj 548 399 *~ 0.6;
#X obj 479 349 delwrite~ delaysaja 750;
#X obj 481 436 delread~ delaysaja 150;
#X obj 701 216 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#X floatatom 627 180 5 0 127 0 - - -;
#X text 605 161 slider from 0 to 127;
#X obj 406 169 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 420 201 metro 100;
#X text 443 169 fm synth goes randomly;
#X connect 0 0 4 0;
#X connect 1 0 41 0;
#X connect 2 0 5 0;
#X connect 3 0 6 0;
#X connect 4 0 47 0;
#X connect 5 0 33 0;
#X connect 6 0 55 0;
#X connect 7 0 0 0;
#X connect 7 0 1 0;
#X connect 7 0 2 0;
#X connect 7 0 3 0;
#X connect 7 0 36 0;
#X connect 8 0 7 0;
#X connect 9 0 15 0;
#X connect 10 0 15 0;
#X connect 11 0 19 0;
#X connect 12 0 17 0;
#X connect 14 0 15 1;
#X connect 15 0 13 1;
#X connect 15 0 50 0;
#X connect 16 0 15 0;
#X connect 17 0 10 0;
#X connect 18 0 16 0;
#X connect 19 0 9 0;
#X connect 21 0 34 0;
#X connect 22 0 21 0;
#X connect 24 0 25 0;
#X connect 25 0 26 0;
#X connect 26 0 21 1;
#X connect 28 0 26 1;
#X connect 30 0 32 1;
#X connect 31 0 30 0;
#X connect 32 0 35 0;
#X connect 33 0 31 0;
#X connect 34 0 32 0;
#X connect 35 0 13 0;
#X connect 35 0 13 1;
#X connect 36 0 53 0;
#X connect 37 0 22 0;
#X connect 38 0 37 0;
#X connect 39 0 44 0;
#X connect 40 0 48 0;
#X connect 41 0 42 0;
#X connect 42 0 43 0;
#X connect 43 0 38 0;
#X connect 43 1 39 0;
#X connect 43 2 40 0;
#X connect 44 0 24 0;
#X connect 47 0 14 0;
#X connect 48 0 28 0;
#X connect 49 0 50 0;
#X connect 51 0 49 0;
#X connect 51 0 13 1;
#X connect 53 0 52 0;
#X connect 55 0 56 0;
#X connect 56 0 42 0;

Thank you so much!

Do you know what puredata version is needed for this? 0.50.2 in linux mint doesn't have udpreceive etc

I currently use Pd-0.49-1 version on my MacBook Pro. The udpreceive object is actually a part of mrpeach plugin for OSC Protocol on PD.