Hi Robb,

http://www.tigoe.net/pcomp/stamp/stamp-midi.shtml
is good to look at, considering that MIDI is a serial interface it's pretty 
segregated in terms of data - scroll down the page until you see the chart. 

I suspect you are using the [makenote] object which is monophonic. Open the 
dynamic patching example I send you. It builds the contents of [pd $0-subsub] 
in 

[pd-$0-submidimix] to contain 128 [makenote] objects, 1 for each note. I'm 
thinking of trying to implement this in two dimensions with my [polymap] 
object, 

but haven't got round to it yet.

Best,
Ed


Metastudio 4 for Pure Data - coming soon!
Metastudio 3 still available at http://sharktracks.co.uk/puredata



----- Original Message ----
From: Robb Mitchell <[email protected]>
To: Ed Kelly <[email protected]>
Cc: Zhu CW <[email protected]>; [email protected]; 
[email protected]; 
[email protected]; [email protected]; [email protected]; 
[email protected]; [email protected]; [email protected]; 
[email protected]; [email protected]
Sent: Wed, 8 December, 2010 8:25:28
Subject: Re: Pure Data Resources

Hi Ed, Zhu and everyone

Good to meet everyone and thanks for the resources.   I recommend the
Hernandez youtube tutorials too.   I want to have a good look at Ed's
tutorials too. Particularly if the answer to the following query might
be found therein.... :)

I am trying to make a musical instrument for two or three people to
play at once
(fuller details below).  Each person will have a controller (just a
simple gyro sensor) , and I am outputting
to a single software synthesizier.
It works fine (some very fun responses so far!) with one controller,
but input from the
second sensor cuts short the notes played by the first (and vice versa).
Is there some way to make a MIDI note play for its full duration regardless or
whether another "overlapping" note is being played ?
(and if not, other suggested workarounds most welcome)
I thought maybe Noteout channel numbers was the way, but I maybe
misunderstanding how these work...

I would like to work towards eventually making my own sounds in PD
rather than using a preprogrammed synth, but getting this far has been
tricky enough for a non-techy like me:)

Sorry to spam you with this query.. but I think you did ask for an update :)

Many thanks

Robb

Project Details:

I am working towards a remake and electronic update of an earlier, fairly
popular "dance floor" sculpture:
http://www.chateau.eclipse.co.uk/robb/socialwhirl.htm
but hoping to transform people's movements on the rotating discs into sound
(though not expecting to wire up as many as 28 rotating discs for some time!
Two or three controllers is more than enough for now)

So the basic set up is:
Gyroscope sensor in each disc/controller > Arduino > xbee > serial
read in via a receiving Arduino (using Comport)  > Pure Data  (patch
attached)  > FM8 (currently just able to  >use the Demo mode, so very
open to alternative synthesiser suggestions!)


>> There is a good series of video tutorials on YouTube by Professor Rafael
>> Hernandez:
>> http://www.youtube.com/watch?v=rtgGol-I4gA&feature=related
>>


      
#N canvas 55 124 1019 511 10;
#X obj 339 6 cnv 15 650 480 empty empty empty 20 12 0 14 -171936 -66577
0;
#X obj 246 418 cnv 15 650 48 empty empty empty 20 12 0 14 -171936 -66577
0;
#N canvas 0 0 450 300 format_midi 0;
#X obj 95 89 inlet;
#X obj 65 156 sel 128 144;
#X obj 177 201 spigot;
#X msg 207 177 1;
#X obj 178 231 serialize 2;
#X obj 51 205 spigot;
#X msg 81 181 1;
#X obj 66 265 outlet;
#X obj 175 135 < 128;
#X obj 175 157 sel 1;
#X msg 227 158 0;
#X obj 268 225 print in;
#X msg 55 235 \$1 0;
#X msg 103 210 0;
#X connect 0 0 1 0;
#X connect 1 0 6 0;
#X connect 1 1 3 0;
#X connect 1 2 2 0;
#X connect 1 2 5 0;
#X connect 1 2 8 0;
#X connect 2 0 4 0;
#X connect 2 0 11 0;
#X connect 3 0 2 1;
#X connect 4 0 7 0;
#X connect 5 0 12 0;
#X connect 5 0 13 0;
#X connect 6 0 5 1;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 10 0 2 1;
#X connect 10 0 5 1;
#X connect 12 0 7 0;
#X connect 13 0 5 1;
#X restore 48 81 pd format_midi;
#X obj 48 51 midiin;
#X obj 48 101 unpack;
#X floatatom 48 122 5 0 0 3 note - -;
#X floatatom 81 122 5 0 0 3 velocity - -;
#X text 154 78 same as;
#X obj 230 51 notein;
#X obj 231 76 pack;
#X obj 601 425 s pd-\$0-subsub;
#X obj 570 452 s pd-\$0-submidimix;
#N canvas 771 59 450 300 \$0-submidimix 0;
#X obj 52 28 inlet;
#X obj 225 31 inlet;
#X obj 65 192 outlet;
#N canvas 0 0 450 300 \$0-subsub 1;
#X restore 54 132 pd \$0-subsub;
#X restore 745 419 pd \$0-submidimix;
#X obj 746 295 inlet;
#X obj 744 458 outlet;
#X obj 555 74 t b b b;
#X obj 555 43 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 428 127 kalashnikov 128;
#X msg 591 186 connect 0 0 3 0 \, connect 3 0 2 0 \, connect 1 0 3
1;
#X obj 374 43 makenote;
#X text 429 39 ...it's monophonic!;
#X obj 50 179 noteout;
#X obj 463 155 t f f f;
#X obj 489 241 pack;
#X obj 486 188 * 63;
#X obj 489 212 + 10;
#X msg 615 219 clear \, obj 120 20 inlet \, obj 200 20 inlet \, obj
160 200 outlet;
#X obj 374 249 + 3;
#X obj 401 251 + 4;
#X obj 883 365 inlet;
#X floatatom 861 393 7 0 0 1 time_in_ms - -;
#X text 512 12 -------DYNAMIC PATCHING EXAMPLE-------;
#X msg 488 263 obj \$1 100 route \$2 \, obj \$1 130 makenote \, obj
\$1 160 pack;
#X obj 370 273 pack f f f;
#X obj 428 250 + 5;
#X obj 428 226 * 3;
#X obj 401 227 * 3;
#X obj 373 226 * 3;
#X msg 514 426 vis 1;
#X text 256 425 Click on this to see what it builds! ---->;
#X msg 375 304 connect 0 0 \$1 0 \, connect \$1 0 \$2 0 \, connect
\$3 0 2 0 \, connect 1 0 \$2 2 \, connect \$2 0 \$3 0 \, connect \$2
1 \$3 1;
#X obj 745 318 unpack f f;
#X msg 549 400 clear;
#X obj 745 339 t f f;
#X obj 745 388 pack f f f;
#X text 95 48 raw MIDI in;
#X msg 832 365 100;
#X obj 833 339 loadbang;
#X text 627 66 ...you can use this as an abstraction \, but save it
after you hit "bang" if you want to do that.;
#X text 593 32 Hit the bang \, and 128 makenotes will be made \, with
each note routed to it's own makenote.;
#X text 812 317 note...velocity;
#X text 785 297 YOU NEED THIS PLUMBING...sometimes;
#X text 108 180 raw MIDI out (OUCH!);
#X obj 20 201 pddplink http://www.tigoe.net/pcomp/stamp/stamp-midi.shtml
;
#X text 491 364 delete all objects;
#X text 504 377 in [pd \$0-subsub];
#X obj 493 395 t b b;
#X text 422 350 <------- Click here to;
#X obj 402 352 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 4 1 6 0;
#X connect 8 0 9 0;
#X connect 8 1 9 1;
#X connect 12 0 14 0;
#X connect 13 0 41 0;
#X connect 15 0 17 0;
#X connect 15 0 38 0;
#X connect 15 1 18 0;
#X connect 15 2 26 0;
#X connect 16 0 15 0;
#X connect 17 1 22 0;
#X connect 18 0 11 0;
#X connect 22 0 37 0;
#X connect 22 1 24 0;
#X connect 22 1 36 0;
#X connect 22 2 23 1;
#X connect 22 2 35 0;
#X connect 23 0 32 0;
#X connect 24 0 25 0;
#X connect 25 0 23 0;
#X connect 26 0 10 0;
#X connect 27 0 33 0;
#X connect 28 0 33 1;
#X connect 29 0 30 0;
#X connect 30 0 12 1;
#X connect 32 0 10 0;
#X connect 33 0 40 0;
#X connect 34 0 33 2;
#X connect 35 0 34 0;
#X connect 36 0 28 0;
#X connect 37 0 27 0;
#X connect 38 0 10 0;
#X connect 40 0 10 0;
#X connect 41 0 43 0;
#X connect 41 1 44 2;
#X connect 42 0 10 0;
#X connect 43 0 44 0;
#X connect 43 1 44 1;
#X connect 44 0 12 0;
#X connect 46 0 30 0;
#X connect 47 0 46 0;
#X connect 56 0 38 0;
#X connect 56 1 42 0;
#X connect 58 0 56 0;
_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to