hello, here is a small exemple of some physical model mapping objects.
the aim of pm mapping is to create some kind of "dynamic" mapping. this instrument is very simple, but the physical model in the mapping introduce some kind of "life" in the audio synthesis.
idealy, it sould be play live with a wacom, but it use a gcanvas in this demo. in order to test it, you need pmmapping objets from a recent cvs update.
feedback is welcom
Cyrille
#N canvas 203 104 1174 523 10; #X obj 30 327 loadbang; #X obj 30 354 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 30 375 metro 10; #X obj 30 398 s metro; #X obj 787 -59 gcanvas 300 300; #X obj 32 -59 cnv 15 220 300 empty empty empty 20 12 0 14 -233017 -66577 0; #N canvas 0 0 507 357 2dimentional_input_for_the_system_______ 0; #X obj 14 159 pack f f; #X obj 99 164 b; #X obj 129 194 delay 100; #X msg 99 218 1; #X msg 129 218 0; #X obj 99 246 f; #X obj 14 188 s position; #X obj 99 299 s grab; #X obj 307 23 inlet; #X obj 14 15 inlet; #X obj 14 103 min 1; #X obj 307 109 min 1; #X obj 99 270 change; #X text 162 256 this should be replace by a more robust detection of the mouses click; #X obj 14 38 / 150; #X obj 307 44 / 150; #X obj 307 70 - 1; #X obj 14 63 - 1; #X obj 14 126 max -1; #X obj 307 132 max -1; #X connect 0 0 6 0; #X connect 1 0 2 0; #X connect 1 0 3 0; #X connect 2 0 4 0; #X connect 3 0 5 0; #X connect 4 0 5 0; #X connect 5 0 12 0; #X connect 8 0 15 0; #X connect 9 0 14 0; #X connect 10 0 18 0; #X connect 11 0 19 0; #X connect 12 0 7 0; #X connect 14 0 17 0; #X connect 15 0 16 0; #X connect 16 0 11 0; #X connect 17 0 10 0; #X connect 18 0 1 0; #X connect 18 0 0 0; #X connect 19 0 0 1; #X restore 787 249 pd 2dimentional_input_for_the_system_______; #X obj 262 -59 cnv 15 325 400 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 264 361 cnv 15 200 60 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 596 -59 cnv 15 180 400 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 601 84 unpack f f; #X obj 271 83 unpack f f; #X obj 271 131 abs; #X obj 427 131 abs; #X obj 272 399 dac~; #X obj 272 371 *~; #X obj 601 316 line~; #X obj 426 372 *~; #X obj 666 317 line~; #X obj 601 137 min 1; #X obj 666 139 min 1; #X obj 601 160 max 0; #X obj 666 162 max 0; #X obj 36 194 noise~; #X obj 44 70 unpack f f; #X obj 44 -29 t b b; #X obj 36 217 bp~; #X obj 145 193 noise~; #X obj 153 73 unpack f f; #X obj 145 216 bp~; #X obj 44 93 * 40; #X obj 44 139 mtof; #X obj 153 96 * 40; #X obj 153 142 mtof; #X obj 109 99 + 1; #X obj 218 96 + 1; #X obj 109 122 * 15; #X obj 218 119 * 15; #X obj 271 223 vd~ del1; #X obj 271 200 line~; #X msg 601 183 $1 11; #X msg 666 185 $1 11; #X msg 271 177 $1 11; #X obj 427 200 line~; #X msg 427 177 $1 11; #X obj 427 223 vd~ del2; #X obj 288 318 delwrite~ del2 1000; #X obj 444 318 delwrite~ del1 1000; #X obj 271 296 *~ -0.9; #X obj 44 -52 r metro; #X obj 271 -53 r metro; #X obj 54 -7 r position; #X obj 287 -29 r position; #X msg 287 -8 grab $1 $2; #X msg 306 36 grab_on $1; #X obj 306 14 r grab; #X obj 601 -55 r metro; #X obj 617 -31 r position; #X msg 617 -8 grab $1 $2; #X msg 636 38 grab_on $1; #X obj 636 15 r grab; #X text 32 -80 Audio input; #X text 264 -81 Karplus-Strong system; #X text 595 -81 Amplitude emvelope; #X obj 601 62 pmattractor_2d 0.03 0.2; #X text 789 -81 User input; #N canvas 0 0 214 277 1each2 0; #X obj 19 20 inlet; #X obj 50 65 f; #X obj 50 87 + 1; #X obj 19 238 outlet; #X obj 66 239 outlet; #X obj 66 216 spigot; #X obj 19 41 t a b; #X obj 19 215 spigot; #X obj 81 18 inlet; #X msg 81 42 0; #X obj 50 115 == 1; #X obj 90 115 == 2; #X connect 0 0 6 0; #X connect 1 0 2 0; #X connect 2 0 1 1; #X connect 2 0 10 0; #X connect 2 0 11 0; #X connect 5 0 4 0; #X connect 6 0 7 0; #X connect 6 0 5 0; #X connect 6 1 1 0; #X connect 7 0 3 0; #X connect 8 0 9 0; #X connect 9 0 1 1; #X connect 10 0 7 1; #X connect 11 0 5 1; #X restore 44 37 pd 1each2; #X obj 270 61 pmrepulsor_2d 0.3 0.1; #X obj 601 111 abs; #X obj 666 110 abs; #X obj 44 14 pmcloud_2d 2 0.1 0.3; #X obj 271 154 * 30; #X obj 427 155 * 30; #X obj 427 296 *~ -0.9; #X obj 44 116 + 70; #X obj 153 119 + 70; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 4 0 6 0; #X connect 4 1 6 1; #X connect 10 0 68 0; #X connect 10 1 69 0; #X connect 11 0 12 0; #X connect 11 1 13 0; #X connect 12 0 71 0; #X connect 13 0 72 0; #X connect 15 0 14 0; #X connect 16 0 15 1; #X connect 17 0 14 1; #X connect 18 0 17 1; #X connect 19 0 21 0; #X connect 20 0 22 0; #X connect 21 0 40 0; #X connect 22 0 41 0; #X connect 23 0 26 0; #X connect 24 0 30 0; #X connect 24 1 34 0; #X connect 25 0 70 0; #X connect 25 1 66 1; #X connect 26 0 48 0; #X connect 27 0 29 0; #X connect 28 0 32 0; #X connect 28 1 35 0; #X connect 29 0 73 0; #X connect 30 0 74 0; #X connect 31 0 26 1; #X connect 32 0 75 0; #X connect 33 0 29 1; #X connect 34 0 36 0; #X connect 35 0 37 0; #X connect 36 0 26 2; #X connect 37 0 29 2; #X connect 38 0 48 0; #X connect 39 0 38 0; #X connect 40 0 16 0; #X connect 41 0 18 0; #X connect 42 0 39 0; #X connect 43 0 45 0; #X connect 44 0 43 0; #X connect 45 0 73 0; #X connect 48 0 46 0; #X connect 48 0 15 0; #X connect 49 0 25 0; #X connect 50 0 67 0; #X connect 51 0 70 0; #X connect 52 0 53 0; #X connect 53 0 67 0; #X connect 54 0 67 0; #X connect 55 0 54 0; #X connect 56 0 64 0; #X connect 57 0 58 0; #X connect 58 0 64 0; #X connect 59 0 64 0; #X connect 60 0 59 0; #X connect 64 0 10 0; #X connect 66 0 24 0; #X connect 66 1 28 0; #X connect 67 0 11 0; #X connect 68 0 19 0; #X connect 69 0 20 0; #X connect 70 0 66 0; #X connect 71 0 42 0; #X connect 72 0 44 0; #X connect 73 0 47 0; #X connect 73 0 17 0; #X connect 74 0 31 0; #X connect 75 0 33 0;
Hallo, cyrille henry hat gesagt: // cyrille henry wrote:
here is a small exemple of some physical model mapping objects.
the aim of pm mapping is to create some kind of "dynamic" mapping. this instrument is very simple, but the physical model in the mapping introduce some kind of "life" in the audio synthesis.
Ah, cool, thank you a lot! This will save me lots of double work, because I actually was about to start work on similar objects (but so far without having produced any patches) as you are writing with pmapping.
It is very likely that I will spam you with comments! ;)
_From a quick look I would have some simple suggestions: It would be nice if the pm* objects would have a consistend "mapping" of arguments and inlets. Currently for example the pm-clouds don't have an inlet to change the number of masses. (I implemented a temporary solution with allowing "reset N" messages to change the number when resetting, but I'm not sure if this is good in the long run.) Probably something like "float_argument.pd" can be used here, though I never use this object normally.
More later.
Frank Barknecht _ ______footils.org_ __goto10.org__
Frank Barknecht a écrit :
Hallo, cyrille henry hat gesagt: // cyrille henry wrote:
here is a small exemple of some physical model mapping objects.
the aim of pm mapping is to create some kind of "dynamic" mapping. this instrument is very simple, but the physical model in the mapping introduce some kind of "life" in the audio synthesis.
Ah, cool, thank you a lot! This will save me lots of double work, because I actually was about to start work on similar objects (but so far without having produced any patches) as you are writing with pmapping.
It is very likely that I will spam you with comments! ;)
great.
_From a quick look I would have some simple suggestions: It would be nice if the pm* objects would have a consistend "mapping" of arguments and inlets.
YES! i also still have a lot's of work on documentation. any help is welcome :-)
Currently for example the pm-clouds don't have an inlet to change the number of masses. (I implemented a temporary solution with allowing "reset N" messages to change the number when resetting, but I'm not sure if this is good in the long run.) Probably something like "float_argument.pd" can be used here, though I never use this object normally.
there is allready to much inlet in this object, and changing the number of masses will reset the model anyway. so a reset N is fine with me.
other object with variable number of masses does (should) not have inlet to change this number.
if you already made it, you can commit it. if not, i'll make it.
More later.
thanks
cyrille
Ciao
On 08/02/2007, at 16.09, cyrille henry wrote:
hello, here is a small exemple of some physical model mapping objects.
the aim of pm mapping is to create some kind of "dynamic" mapping. this instrument is very simple, but the physical model in the
mapping introduce some kind of "life" in the audio synthesis.
Thanks for sharing. I like the sounds a lot. Looking forward to find
out how the heck they are made, and how my movements on the gcanvas
related to the sound i hear.
idealy, it sould be play live with a wacom, but it use a gcanvas in
this demo. in order to test it, you need pmmapping objets from a recent cvs
update.
... and msd2D, i noticed, but that might be obvious from the topic.
One little question:
the objects, that are needed from cvs, would the run on OS X or is it
all just linux-compatible.
I just want to ask before i start to set it up, i have both choices
Thanks Luigi
hello,
the pm mapping objects are only abstractions. as Steffen noticed, they need msd in order to work.
cyrille
Luigi Rensinghoff a écrit :
One little question:
the objects, that are needed from cvs, would the run on OS X or is it all just linux-compatible.
I just want to ask before i start to set it up, i have both choices
Thanks Luigi
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
All of the mapping objects are writing in Pd. pmmapping relies on
msd, which should be included in Pd-0.39.2-extended-test7 on all
platforms. If not, it will be on the next release.
.hc
On Feb 8, 2007, at 1:32 PM, Luigi Rensinghoff wrote:
One little question:
the objects, that are needed from cvs, would the run on OS X or is
it all just linux-compatible.I just want to ask before i start to set it up, i have both choices
Thanks Luigi
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
News is what people want to keep hidden and everything else is
publicity. - Bill Moyers
That's very nice, I want to try it with a Wacom now. Do you use tilt
or pressure at all in the wacom mapping?
I am also in the process of building an instrument based on recent
mapping library work, watch this list for the release, I will try to
make it as cool as this ;)
.hc
On Feb 8, 2007, at 10:09 AM, cyrille henry wrote:
hello, here is a small exemple of some physical model mapping objects.
the aim of pm mapping is to create some kind of "dynamic" mapping. this instrument is very simple, but the physical model in the
mapping introduce some kind of "life" in the audio synthesis.idealy, it sould be play live with a wacom, but it use a gcanvas in
this demo. in order to test it, you need pmmapping objets from a recent cvs
update.feedback is welcom
Cyrille
#N canvas 203 104 1174 523 10; #X obj 30 327 loadbang; #X obj 30 354 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 30 375 metro 10; #X obj 30 398 s metro; #X obj 787 -59 gcanvas 300 300; #X obj 32 -59 cnv 15 220 300 empty empty empty 20 12 0 14 -233017
-66577 0; #N canvas 0 0 507 357 2dimentional_input_for_the_system_______ 0; #X obj 14 159 pack f f; #X obj 99 164 b; #X obj 129 194 delay 100; #X msg 99 218 1; #X msg 129 218 0; #X obj 99 246 f; #X obj 14 188 s position; #X obj 99 299 s grab; #X obj 307 23 inlet; #X obj 14 15 inlet; #X obj 14 103 min 1; #X obj 307 109 min 1; #X obj 99 270 change; #X text 162 256 this should be replace by a more robust detection of the mouses click; #X obj 14 38 / 150; #X obj 307 44 / 150; #X obj 307 70 - 1; #X obj 14 63 - 1; #X obj 14 126 max -1; #X obj 307 132 max -1; #X connect 0 0 6 0; #X connect 1 0 2 0; #X connect 1 0 3 0; #X connect 2 0 4 0; #X connect 3 0 5 0; #X connect 4 0 5 0; #X connect 5 0 12 0; #X connect 8 0 15 0; #X connect 9 0 14 0; #X connect 10 0 18 0; #X connect 11 0 19 0; #X connect 12 0 7 0; #X connect 14 0 17 0; #X connect 15 0 16 0; #X connect 16 0 11 0; #X connect 17 0 10 0; #X connect 18 0 1 0; #X connect 18 0 0 0; #X connect 19 0 0 1; #X restore 787 249 pd 2dimentional_input_for_the_system_______; #X obj 262 -59 cnv 15 325 400 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 264 361 cnv 15 200 60 empty empty empty 20 12 0 14 -233017
-66577 0; #X obj 596 -59 cnv 15 180 400 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 601 84 unpack f f; #X obj 271 83 unpack f f; #X obj 271 131 abs; #X obj 427 131 abs; #X obj 272 399 dac~; #X obj 272 371 *~; #X obj 601 316 line~; #X obj 426 372 *~; #X obj 666 317 line~; #X obj 601 137 min 1; #X obj 666 139 min 1; #X obj 601 160 max 0; #X obj 666 162 max 0; #X obj 36 194 noise~; #X obj 44 70 unpack f f; #X obj 44 -29 t b b; #X obj 36 217 bp~; #X obj 145 193 noise~; #X obj 153 73 unpack f f; #X obj 145 216 bp~; #X obj 44 93 * 40; #X obj 44 139 mtof; #X obj 153 96 * 40; #X obj 153 142 mtof; #X obj 109 99 + 1; #X obj 218 96 + 1; #X obj 109 122 * 15; #X obj 218 119 * 15; #X obj 271 223 vd~ del1; #X obj 271 200 line~; #X msg 601 183 $1 11; #X msg 666 185 $1 11; #X msg 271 177 $1 11; #X obj 427 200 line~; #X msg 427 177 $1 11; #X obj 427 223 vd~ del2; #X obj 288 318 delwrite~ del2 1000; #X obj 444 318 delwrite~ del1 1000; #X obj 271 296 *~ -0.9; #X obj 44 -52 r metro; #X obj 271 -53 r metro; #X obj 54 -7 r position; #X obj 287 -29 r position; #X msg 287 -8 grab $1 $2; #X msg 306 36 grab_on $1; #X obj 306 14 r grab; #X obj 601 -55 r metro; #X obj 617 -31 r position; #X msg 617 -8 grab $1 $2; #X msg 636 38 grab_on $1; #X obj 636 15 r grab; #X text 32 -80 Audio input; #X text 264 -81 Karplus-Strong system; #X text 595 -81 Amplitude emvelope; #X obj 601 62 pmattractor_2d 0.03 0.2; #X text 789 -81 User input; #N canvas 0 0 214 277 1each2 0; #X obj 19 20 inlet; #X obj 50 65 f; #X obj 50 87 + 1; #X obj 19 238 outlet; #X obj 66 239 outlet; #X obj 66 216 spigot; #X obj 19 41 t a b; #X obj 19 215 spigot; #X obj 81 18 inlet; #X msg 81 42 0; #X obj 50 115 == 1; #X obj 90 115 == 2; #X connect 0 0 6 0; #X connect 1 0 2 0; #X connect 2 0 1 1; #X connect 2 0 10 0; #X connect 2 0 11 0; #X connect 5 0 4 0; #X connect 6 0 7 0; #X connect 6 0 5 0; #X connect 6 1 1 0; #X connect 7 0 3 0; #X connect 8 0 9 0; #X connect 9 0 1 1; #X connect 10 0 7 1; #X connect 11 0 5 1; #X restore 44 37 pd 1each2; #X obj 270 61 pmrepulsor_2d 0.3 0.1; #X obj 601 111 abs; #X obj 666 110 abs; #X obj 44 14 pmcloud_2d 2 0.1 0.3; #X obj 271 154 * 30; #X obj 427 155 * 30; #X obj 427 296 *~ -0.9; #X obj 44 116 + 70; #X obj 153 119 + 70; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 4 0 6 0; #X connect 4 1 6 1; #X connect 10 0 68 0; #X connect 10 1 69 0; #X connect 11 0 12 0; #X connect 11 1 13 0; #X connect 12 0 71 0; #X connect 13 0 72 0; #X connect 15 0 14 0; #X connect 16 0 15 1; #X connect 17 0 14 1; #X connect 18 0 17 1; #X connect 19 0 21 0; #X connect 20 0 22 0; #X connect 21 0 40 0; #X connect 22 0 41 0; #X connect 23 0 26 0; #X connect 24 0 30 0; #X connect 24 1 34 0; #X connect 25 0 70 0; #X connect 25 1 66 1; #X connect 26 0 48 0; #X connect 27 0 29 0; #X connect 28 0 32 0; #X connect 28 1 35 0; #X connect 29 0 73 0; #X connect 30 0 74 0; #X connect 31 0 26 1; #X connect 32 0 75 0; #X connect 33 0 29 1; #X connect 34 0 36 0; #X connect 35 0 37 0; #X connect 36 0 26 2; #X connect 37 0 29 2; #X connect 38 0 48 0; #X connect 39 0 38 0; #X connect 40 0 16 0; #X connect 41 0 18 0; #X connect 42 0 39 0; #X connect 43 0 45 0; #X connect 44 0 43 0; #X connect 45 0 73 0; #X connect 48 0 46 0; #X connect 48 0 15 0; #X connect 49 0 25 0; #X connect 50 0 67 0; #X connect 51 0 70 0; #X connect 52 0 53 0; #X connect 53 0 67 0; #X connect 54 0 67 0; #X connect 55 0 54 0; #X connect 56 0 64 0; #X connect 57 0 58 0; #X connect 58 0 64 0; #X connect 59 0 64 0; #X connect 60 0 59 0; #X connect 64 0 10 0; #X connect 66 0 24 0; #X connect 66 1 28 0; #X connect 67 0 11 0; #X connect 68 0 19 0; #X connect 69 0 20 0; #X connect 70 0 66 0; #X connect 71 0 42 0; #X connect 72 0 44 0; #X connect 73 0 47 0; #X connect 73 0 17 0; #X connect 74 0 31 0; #X connect 75 0 33 0; _______________________________________________ PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
Man has survived hitherto because he was too ignorant to know how to
realize his wishes. Now that he can realize them, he must either
change them, or perish. -William Carlos Williams
Hans-Christoph Steiner a écrit :
That's very nice, I want to try it with a Wacom now. Do you use tilt or pressure at all in the wacom mapping?
for now, i did not use pressure or tilt. the 1st thing to do is to use the pressure to have a 0 or 1 that can replace the grab parametter. (as for now there is a quick hack in order to make this instrument work).
then , i think the tilt could be use in diferent way : by exemple -changing the feedback of the karplus-strong loop -having a more complex sound input (maybe remove the pmcloud object) -changing some physical mapping parametter -...
cyrille
I am also in the process of building an instrument based on recent mapping library work, watch this list for the release, I will try to make it as cool as this ;)
.hc
On Feb 8, 2007, at 10:09 AM, cyrille henry wrote:
hello, here is a small exemple of some physical model mapping objects.
the aim of pm mapping is to create some kind of "dynamic" mapping. this instrument is very simple, but the physical model in the mapping introduce some kind of "life" in the audio synthesis.
idealy, it sould be play live with a wacom, but it use a gcanvas in this demo. in order to test it, you need pmmapping objets from a recent cvs update.
feedback is welcom
Cyrille
#N canvas 203 104 1174 523 10; #X obj 30 327 loadbang; #X obj 30 354 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 30 375 metro 10; #X obj 30 398 s metro; #X obj 787 -59 gcanvas 300 300; #X obj 32 -59 cnv 15 220 300 empty empty empty 20 12 0 14 -233017 -66577 0; #N canvas 0 0 507 357 2dimentional_input_for_the_system_______ 0; #X obj 14 159 pack f f; #X obj 99 164 b; #X obj 129 194 delay 100; #X msg 99 218 1; #X msg 129 218 0; #X obj 99 246 f; #X obj 14 188 s position; #X obj 99 299 s grab; #X obj 307 23 inlet; #X obj 14 15 inlet; #X obj 14 103 min 1; #X obj 307 109 min 1; #X obj 99 270 change; #X text 162 256 this should be replace by a more robust detection of the mouses click; #X obj 14 38 / 150; #X obj 307 44 / 150; #X obj 307 70 - 1; #X obj 14 63 - 1; #X obj 14 126 max -1; #X obj 307 132 max -1; #X connect 0 0 6 0; #X connect 1 0 2 0; #X connect 1 0 3 0; #X connect 2 0 4 0; #X connect 3 0 5 0; #X connect 4 0 5 0; #X connect 5 0 12 0; #X connect 8 0 15 0; #X connect 9 0 14 0; #X connect 10 0 18 0; #X connect 11 0 19 0; #X connect 12 0 7 0; #X connect 14 0 17 0; #X connect 15 0 16 0; #X connect 16 0 11 0; #X connect 17 0 10 0; #X connect 18 0 1 0; #X connect 18 0 0 0; #X connect 19 0 0 1; #X restore 787 249 pd 2dimentional_input_for_the_system_______; #X obj 262 -59 cnv 15 325 400 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 264 361 cnv 15 200 60 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 596 -59 cnv 15 180 400 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 601 84 unpack f f; #X obj 271 83 unpack f f; #X obj 271 131 abs; #X obj 427 131 abs; #X obj 272 399 dac~; #X obj 272 371 *~; #X obj 601 316 line~; #X obj 426 372 *~; #X obj 666 317 line~; #X obj 601 137 min 1; #X obj 666 139 min 1; #X obj 601 160 max 0; #X obj 666 162 max 0; #X obj 36 194 noise~; #X obj 44 70 unpack f f; #X obj 44 -29 t b b; #X obj 36 217 bp~; #X obj 145 193 noise~; #X obj 153 73 unpack f f; #X obj 145 216 bp~; #X obj 44 93 * 40; #X obj 44 139 mtof; #X obj 153 96 * 40; #X obj 153 142 mtof; #X obj 109 99 + 1; #X obj 218 96 + 1; #X obj 109 122 * 15; #X obj 218 119 * 15; #X obj 271 223 vd~ del1; #X obj 271 200 line~; #X msg 601 183 $1 11; #X msg 666 185 $1 11; #X msg 271 177 $1 11; #X obj 427 200 line~; #X msg 427 177 $1 11; #X obj 427 223 vd~ del2; #X obj 288 318 delwrite~ del2 1000; #X obj 444 318 delwrite~ del1 1000; #X obj 271 296 *~ -0.9; #X obj 44 -52 r metro; #X obj 271 -53 r metro; #X obj 54 -7 r position; #X obj 287 -29 r position; #X msg 287 -8 grab $1 $2; #X msg 306 36 grab_on $1; #X obj 306 14 r grab; #X obj 601 -55 r metro; #X obj 617 -31 r position; #X msg 617 -8 grab $1 $2; #X msg 636 38 grab_on $1; #X obj 636 15 r grab; #X text 32 -80 Audio input; #X text 264 -81 Karplus-Strong system; #X text 595 -81 Amplitude emvelope; #X obj 601 62 pmattractor_2d 0.03 0.2; #X text 789 -81 User input; #N canvas 0 0 214 277 1each2 0; #X obj 19 20 inlet; #X obj 50 65 f; #X obj 50 87 + 1; #X obj 19 238 outlet; #X obj 66 239 outlet; #X obj 66 216 spigot; #X obj 19 41 t a b; #X obj 19 215 spigot; #X obj 81 18 inlet; #X msg 81 42 0; #X obj 50 115 == 1; #X obj 90 115 == 2; #X connect 0 0 6 0; #X connect 1 0 2 0; #X connect 2 0 1 1; #X connect 2 0 10 0; #X connect 2 0 11 0; #X connect 5 0 4 0; #X connect 6 0 7 0; #X connect 6 0 5 0; #X connect 6 1 1 0; #X connect 7 0 3 0; #X connect 8 0 9 0; #X connect 9 0 1 1; #X connect 10 0 7 1; #X connect 11 0 5 1; #X restore 44 37 pd 1each2; #X obj 270 61 pmrepulsor_2d 0.3 0.1; #X obj 601 111 abs; #X obj 666 110 abs; #X obj 44 14 pmcloud_2d 2 0.1 0.3; #X obj 271 154 * 30; #X obj 427 155 * 30; #X obj 427 296 *~ -0.9; #X obj 44 116 + 70; #X obj 153 119 + 70; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 4 0 6 0; #X connect 4 1 6 1; #X connect 10 0 68 0; #X connect 10 1 69 0; #X connect 11 0 12 0; #X connect 11 1 13 0; #X connect 12 0 71 0; #X connect 13 0 72 0; #X connect 15 0 14 0; #X connect 16 0 15 1; #X connect 17 0 14 1; #X connect 18 0 17 1; #X connect 19 0 21 0; #X connect 20 0 22 0; #X connect 21 0 40 0; #X connect 22 0 41 0; #X connect 23 0 26 0; #X connect 24 0 30 0; #X connect 24 1 34 0; #X connect 25 0 70 0; #X connect 25 1 66 1; #X connect 26 0 48 0; #X connect 27 0 29 0; #X connect 28 0 32 0; #X connect 28 1 35 0; #X connect 29 0 73 0; #X connect 30 0 74 0; #X connect 31 0 26 1; #X connect 32 0 75 0; #X connect 33 0 29 1; #X connect 34 0 36 0; #X connect 35 0 37 0; #X connect 36 0 26 2; #X connect 37 0 29 2; #X connect 38 0 48 0; #X connect 39 0 38 0; #X connect 40 0 16 0; #X connect 41 0 18 0; #X connect 42 0 39 0; #X connect 43 0 45 0; #X connect 44 0 43 0; #X connect 45 0 73 0; #X connect 48 0 46 0; #X connect 48 0 15 0; #X connect 49 0 25 0; #X connect 50 0 67 0; #X connect 51 0 70 0; #X connect 52 0 53 0; #X connect 53 0 67 0; #X connect 54 0 67 0; #X connect 55 0 54 0; #X connect 56 0 64 0; #X connect 57 0 58 0; #X connect 58 0 64 0; #X connect 59 0 64 0; #X connect 60 0 59 0; #X connect 64 0 10 0; #X connect 66 0 24 0; #X connect 66 1 28 0; #X connect 67 0 11 0; #X connect 68 0 19 0; #X connect 69 0 20 0; #X connect 70 0 66 0; #X connect 71 0 42 0; #X connect 72 0 44 0; #X connect 73 0 47 0; #X connect 73 0 17 0; #X connect 74 0 31 0; #X connect 75 0 33 0; _______________________________________________ PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Man has survived hitherto because he was too ignorant to know how to realize his wishes. Now that he can realize them, he must either change them, or perish. -William Carlos Williams
On Feb 13, 2007, at 10:46 AM, cyrille henry wrote:
Hans-Christoph Steiner a écrit :
That's very nice, I want to try it with a Wacom now. Do you use
tilt or pressure at all in the wacom mapping?for now, i did not use pressure or tilt. the 1st thing to do is to use the pressure to have a 0 or 1 that
can replace the grab parametter. (as for now there is a quick hack
in order to make this instrument work).then , i think the tilt could be use in diferent way : by exemple -changing the feedback of the karplus-strong loop -having a more complex sound input (maybe remove the pmcloud object) -changing some physical mapping parametter -...
This made me think of the next step. Right now I have a synth that
is producing interesting sounds, and I know I want to play with a
tablet. So now I have to build a good mapping. Since I have been
working on the synth, I am thinking very much in terms of the synth's
parameters, which does not generally lead to a good mapping, IMHO.
Any ideas about how to go about separating oneself from the synth
parameters and start shaping things in terms of an instrument? I am
trying to think of ways in which software would help this process.
We have a nice collection of useful objects for when you know what
you want to do, I guess I am thinking of what objects would be useful
in assisting the processing of exploring.
.hc
cyrille
I am also in the process of building an instrument based on recent
mapping library work, watch this list for the release, I will try
to make it as cool as this ;) .hc On Feb 8, 2007, at 10:09 AM, cyrille henry wrote:hello, here is a small exemple of some physical model mapping objects.
the aim of pm mapping is to create some kind of "dynamic" mapping. this instrument is very simple, but the physical model in the
mapping introduce some kind of "life" in the audio synthesis.idealy, it sould be play live with a wacom, but it use a gcanvas
in this demo. in order to test it, you need pmmapping objets from a recent cvs
update.feedback is welcom
Cyrille
#N canvas 203 104 1174 523 10; #X obj 30 327 loadbang; #X obj 30 354 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 30 375 metro 10; #X obj 30 398 s metro; #X obj 787 -59 gcanvas 300 300; #X obj 32 -59 cnv 15 220 300 empty empty empty 20 12 0 14 -233017
-66577 0; #N canvas 0 0 507 357 2dimentional_input_for_the_system_______ 0; #X obj 14 159 pack f f; #X obj 99 164 b; #X obj 129 194 delay 100; #X msg 99 218 1; #X msg 129 218 0; #X obj 99 246 f; #X obj 14 188 s position; #X obj 99 299 s grab; #X obj 307 23 inlet; #X obj 14 15 inlet; #X obj 14 103 min 1; #X obj 307 109 min 1; #X obj 99 270 change; #X text 162 256 this should be replace by a more robust detection of the mouses click; #X obj 14 38 / 150; #X obj 307 44 / 150; #X obj 307 70 - 1; #X obj 14 63 - 1; #X obj 14 126 max -1; #X obj 307 132 max -1; #X connect 0 0 6 0; #X connect 1 0 2 0; #X connect 1 0 3 0; #X connect 2 0 4 0; #X connect 3 0 5 0; #X connect 4 0 5 0; #X connect 5 0 12 0; #X connect 8 0 15 0; #X connect 9 0 14 0; #X connect 10 0 18 0; #X connect 11 0 19 0; #X connect 12 0 7 0; #X connect 14 0 17 0; #X connect 15 0 16 0; #X connect 16 0 11 0; #X connect 17 0 10 0; #X connect 18 0 1 0; #X connect 18 0 0 0; #X connect 19 0 0 1; #X restore 787 249 pd 2dimentional_input_for_the_system_______; #X obj 262 -59 cnv 15 325 400 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 264 361 cnv 15 200 60 empty empty empty 20 12 0 14 -233017
-66577 0; #X obj 596 -59 cnv 15 180 400 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 601 84 unpack f f; #X obj 271 83 unpack f f; #X obj 271 131 abs; #X obj 427 131 abs; #X obj 272 399 dac~; #X obj 272 371 *~; #X obj 601 316 line~; #X obj 426 372 *~; #X obj 666 317 line~; #X obj 601 137 min 1; #X obj 666 139 min 1; #X obj 601 160 max 0; #X obj 666 162 max 0; #X obj 36 194 noise~; #X obj 44 70 unpack f f; #X obj 44 -29 t b b; #X obj 36 217 bp~; #X obj 145 193 noise~; #X obj 153 73 unpack f f; #X obj 145 216 bp~; #X obj 44 93 * 40; #X obj 44 139 mtof; #X obj 153 96 * 40; #X obj 153 142 mtof; #X obj 109 99 + 1; #X obj 218 96 + 1; #X obj 109 122 * 15; #X obj 218 119 * 15; #X obj 271 223 vd~ del1; #X obj 271 200 line~; #X msg 601 183 $1 11; #X msg 666 185 $1 11; #X msg 271 177 $1 11; #X obj 427 200 line~; #X msg 427 177 $1 11; #X obj 427 223 vd~ del2; #X obj 288 318 delwrite~ del2 1000; #X obj 444 318 delwrite~ del1 1000; #X obj 271 296 *~ -0.9; #X obj 44 -52 r metro; #X obj 271 -53 r metro; #X obj 54 -7 r position; #X obj 287 -29 r position; #X msg 287 -8 grab $1 $2; #X msg 306 36 grab_on $1; #X obj 306 14 r grab; #X obj 601 -55 r metro; #X obj 617 -31 r position; #X msg 617 -8 grab $1 $2; #X msg 636 38 grab_on $1; #X obj 636 15 r grab; #X text 32 -80 Audio input; #X text 264 -81 Karplus-Strong system; #X text 595 -81 Amplitude emvelope; #X obj 601 62 pmattractor_2d 0.03 0.2; #X text 789 -81 User input; #N canvas 0 0 214 277 1each2 0; #X obj 19 20 inlet; #X obj 50 65 f; #X obj 50 87 + 1; #X obj 19 238 outlet; #X obj 66 239 outlet; #X obj 66 216 spigot; #X obj 19 41 t a b; #X obj 19 215 spigot; #X obj 81 18 inlet; #X msg 81 42 0; #X obj 50 115 == 1; #X obj 90 115 == 2; #X connect 0 0 6 0; #X connect 1 0 2 0; #X connect 2 0 1 1; #X connect 2 0 10 0; #X connect 2 0 11 0; #X connect 5 0 4 0; #X connect 6 0 7 0; #X connect 6 0 5 0; #X connect 6 1 1 0; #X connect 7 0 3 0; #X connect 8 0 9 0; #X connect 9 0 1 1; #X connect 10 0 7 1; #X connect 11 0 5 1; #X restore 44 37 pd 1each2; #X obj 270 61 pmrepulsor_2d 0.3 0.1; #X obj 601 111 abs; #X obj 666 110 abs; #X obj 44 14 pmcloud_2d 2 0.1 0.3; #X obj 271 154 * 30; #X obj 427 155 * 30; #X obj 427 296 *~ -0.9; #X obj 44 116 + 70; #X obj 153 119 + 70; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 4 0 6 0; #X connect 4 1 6 1; #X connect 10 0 68 0; #X connect 10 1 69 0; #X connect 11 0 12 0; #X connect 11 1 13 0; #X connect 12 0 71 0; #X connect 13 0 72 0; #X connect 15 0 14 0; #X connect 16 0 15 1; #X connect 17 0 14 1; #X connect 18 0 17 1; #X connect 19 0 21 0; #X connect 20 0 22 0; #X connect 21 0 40 0; #X connect 22 0 41 0; #X connect 23 0 26 0; #X connect 24 0 30 0; #X connect 24 1 34 0; #X connect 25 0 70 0; #X connect 25 1 66 1; #X connect 26 0 48 0; #X connect 27 0 29 0; #X connect 28 0 32 0; #X connect 28 1 35 0; #X connect 29 0 73 0; #X connect 30 0 74 0; #X connect 31 0 26 1; #X connect 32 0 75 0; #X connect 33 0 29 1; #X connect 34 0 36 0; #X connect 35 0 37 0; #X connect 36 0 26 2; #X connect 37 0 29 2; #X connect 38 0 48 0; #X connect 39 0 38 0; #X connect 40 0 16 0; #X connect 41 0 18 0; #X connect 42 0 39 0; #X connect 43 0 45 0; #X connect 44 0 43 0; #X connect 45 0 73 0; #X connect 48 0 46 0; #X connect 48 0 15 0; #X connect 49 0 25 0; #X connect 50 0 67 0; #X connect 51 0 70 0; #X connect 52 0 53 0; #X connect 53 0 67 0; #X connect 54 0 67 0; #X connect 55 0 54 0; #X connect 56 0 64 0; #X connect 57 0 58 0; #X connect 58 0 64 0; #X connect 59 0 64 0; #X connect 60 0 59 0; #X connect 64 0 10 0; #X connect 66 0 24 0; #X connect 66 1 28 0; #X connect 67 0 11 0; #X connect 68 0 19 0; #X connect 69 0 20 0; #X connect 70 0 66 0; #X connect 71 0 42 0; #X connect 72 0 44 0; #X connect 73 0 47 0; #X connect 73 0 17 0; #X connect 74 0 31 0; #X connect 75 0 33 0; _______________________________________________ PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
Man has survived hitherto because he was too ignorant to know how
to realize his wishes. Now that he can realize them, he must
either change them, or perish. -William Carlos Williams
Access to computers should be unlimited and total. - the hacker ethic
Hans-Christoph Steiner a écrit :
On Feb 13, 2007, at 10:46 AM, cyrille henry wrote:
Hans-Christoph Steiner a écrit :
-...
This made me think of the next step. Right now I have a synth that is producing interesting sounds, and I know I want to play with a tablet.
So now I have to build a good mapping. Since I have been working on the synth, I am thinking very much in terms of the synth's parameters, which does not generally lead to a good mapping, IMHO.
-> i fully agree.
Any ideas about how to go about separating oneself from the synth parameters and start shaping things in terms of an instrument? I am trying to think of ways in which software would help this process. We have a nice collection of useful objects for when you know what you want to do, I guess I am thinking of what objects would be useful in assisting the processing of exploring.
for synthese exploration, i think ali momeni "active mapping space" (cf nime 05) is a good idea. (we already talk about it). (cnmat.cnmat.berkeley.edu/~ali/zShare/Ali%20Momeni/documents/NIME05-ActiveSpaces01.pdf) i've got a propotype on my computer, but i need to cleanly install iem matrix in order to make it work.
anyway, the autor implementation is limitied to 2 dimentional input, but the wacom does provide lot's more : X, Y, X velocity, Y velocity etc.
so, we need to imagine a n dimentional input parametter, "link" to m dimentional output. this "active mapping space" implementation should be quite easy once i've got time + iem matrix.
(btw, having multiple Gem windows would also be very usefull for this implementation).
anyway, this is not the best solution, but a 1st step. any more idea would be welcom.
cyrille
Hallo!
so, we need to imagine a n dimentional input parametter, "link" to m dimentional output. this "active mapping space" implementation should be quite easy once i've got time + iem matrix.
I didn't get much from the rest of the thread, so sorry if this is not relevant: I also tried to do something similar and found the ann external quite useful (artificial neural net) - because you can train the net to generate m-dimensional output to n-dimensional input.
So you train some specific inputs to the desired output values for e.g. a synthesis engine and the other, non-trained input data will be between those trained samples ... this was quite usefull and interesting to play !
LG Georg
hello,
Georg Holzmann a écrit :
Hallo!
so, we need to imagine a n dimentional input parametter, "link" to m dimentional output. this "active mapping space" implementation should be quite easy once i've got time + iem matrix.
I didn't get much from the rest of the thread, so sorry if this is not relevant: I also tried to do something similar and found the ann external quite useful (artificial neural net) - because you can train the net to generate m-dimensional output to n-dimensional input.
So you train some specific inputs to the desired output values for e.g. a synthesis engine and the other, non-trained input data will be between those trained samples ... this was quite usefull and interesting to play !
yes, neuronal network is a solution. but i never saw anything really convincing (for me), so i did not really use NN.
there is few diferences between NN and the Active Mapping Space (AMS) from previus mail :
the AMS does not nead traning to map n in to m out. NN could output data even outside of the training scop (and that the main interest of NN for mapping)
anyway the problem with ANN and AMS is how to generated desire input/output value.
cyrille
LG Georg
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
The paper is very good. I see you are cited, good job!
Thanks for sharing it.
~Kyle
On 2/14/07, cyrille henry cyrille.henry@la-kitchen.fr wrote:
Hans-Christoph Steiner a écrit :
On Feb 13, 2007, at 10:46 AM, cyrille henry wrote:
Hans-Christoph Steiner a écrit :
-...
This made me think of the next step. Right now I have a synth that is producing interesting sounds, and I know I want to play with a tablet. So now I have to build a good mapping. Since I have been working on the synth, I am thinking very much in terms of the synth's parameters, which does not generally lead to a good mapping, IMHO.
-> i fully agree.
Any ideas about how to go about separating oneself from the synth parameters and start shaping things in terms of an instrument? I am trying to think of ways in which software would help this process. We have a nice collection of useful objects for when you know what you want to do, I guess I am thinking of what objects would be useful in assisting the processing of exploring.
for synthese exploration, i think ali momeni "active mapping space" (cf nime 05) is a good idea. (we already talk about it). (cnmat.cnmat.berkeley.edu/~ali/zShare/Ali%20Momeni/documents/NIME05-ActiveSpaces01.pdf) i've got a propotype on my computer, but i need to cleanly install iem matrix in order to make it work.
anyway, the autor implementation is limitied to 2 dimentional input, but the wacom does provide lot's more : X, Y, X velocity, Y velocity etc.
so, we need to imagine a n dimentional input parametter, "link" to m dimentional output. this "active mapping space" implementation should be quite easy once i've got time + iem matrix.
(btw, having multiple Gem windows would also be very usefull for this implementation).
anyway, this is not the best solution, but a 1st step. any more idea would be welcom.
cyrille
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On Feb 14, 2007, at 7:07 AM, cyrille henry wrote:
Hans-Christoph Steiner a écrit :
On Feb 13, 2007, at 10:46 AM, cyrille henry wrote:
Hans-Christoph Steiner a écrit :
-...
This made me think of the next step. Right now I have a synth
that is producing interesting sounds, and I know I want to play
with a tablet. So now I have to build a good mapping. Since I
have been working on the synth, I am thinking very much in terms
of the synth's parameters, which does not generally lead to a good
mapping, IMHO.-> i fully agree.
Any ideas about how to go about separating oneself from the synth
parameters and start shaping things in terms of an instrument? I
am trying to think of ways in which software would help this
process. We have a nice collection of useful objects for when you
know what you want to do, I guess I am thinking of what objects
would be useful in assisting the processing of exploring.for synthese exploration, i think ali momeni "active mapping
space" (cf nime 05) is a good idea. (we already talk about it). (cnmat.cnmat.berkeley.edu/~ali/zShare/Ali%20Momeni/documents/NIME05- ActiveSpaces01.pdf) i've got a propotype on my computer, but i need to cleanly install
iem matrix in order to make it work.anyway, the autor implementation is limitied to 2 dimentional
input, but the wacom does provide lot's more : X, Y, X velocity, Y velocity etc.so, we need to imagine a n dimentional input parametter, "link" to
m dimentional output. this "active mapping space" implementation should be quite easy
once i've got time + iem matrix.(btw, having multiple Gem windows would also be very usefull for
this implementation).anyway, this is not the best solution, but a 1st step. any more
idea would be welcom.cyrille
I've seen that before, it seems to be a mapping strategy rather than
a strategy to explore the possibilities before making the mapping. I
say that because you have to decide the relationship of the
parameters to the 2D space in order to get any sound out. So I would
be back to where I am now, in a sense. I guess the idea could be to
set up a timbre space for quickly interchanging and exploring the
possibilities.
Perhaps using some kind of neural network thing would be more
appropriate to exploration. I could see something that is set up for
exploration, which feedback like "make it more different" vs. "make
it more similar", or "wider timbral range" vs. "smaller timbral
range". Also, a random mapping button would be useful to give you
something unexpected.
.hc
The arc of history bends towards justice. - Dr. Martin Luther
King, Jr.