line vs. line~ problem

Mar 27, 2008 at 10:48pm

line vs. line~ problem

Hi all -
Hoping somebody can help me here (and I’m sorry if this has been covered – I tried searching several different combinations of words to no avail).
I’m creating a very simple patch – a breakpoint function is attached to a line object, which is attached to a transposer, so that I can draw out and store various transposing shapes for the sounds I’m working with.
Here’s the problem…
When I attach the line object to the function, it only follows through to the first breakpoint, at which point it stops (as expected). However, it runs through every float number, making the subsequent transposition very smooth.
The problem with the line~ object is that it’s movement through the function is very “jumpy” (is that a good word to use?). It does not cycle through ever float in between as does line, eliminating the glissando from the resulting transposition and giving it a rhythm I don’t want. However, it does move all the way through the function!

So, is there 1) a rig I can create that will essentially allow line to cycle through all of the various breakpoints to the very end OR 2) alter line~ so that it cycles through floats in the same way that line does (I don’t know if the line~ problem has to do with sampling rate or the overall speed of the computer, or it’s something in the object itself)?

Any ideas? I hope this all made sense! I appreciate any feedback. :)

Drew

#36565
Mar 27, 2008 at 11:17pm

Hi,

for a multi-segment line, you may try this – not the most precise nor
elegant, but functionnal :

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P message 169 346 29 196617 stop;
#P newex 235 283 54 196617 t l zlclear;
#P user multiSlider 220 454 12 82 0. 1. 1 2681 15 0 0 2 0 0 0;
#M frgb 0 0 0;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P newex 235 262 36 196617 zl reg;
#P flonum 335 296 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 335 316 27 196617 + 1.;
#P newex 274 338 71 196617 maximum 21.;
#P newex 220 317 64 196617 unpack 0. 0.;
#P flonum 220 431 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P button 157 76 15 0;
#P button 263 403 15 0;
#P newex 220 381 53 196617 line 0. 20;
#P newex 220 222 51 196617 zl slice 2;
#P user function 157 97 357 197 1 1 0 1;
#X frgb 82 82 82;
#X brgb 204 204 204;
#X rgb2 85 85 85;
#X rgb3 255 255 255;
#X rgb4 0 0 0;
#X rgb5 0 0 0;
#X add 0. 0. 0;
#X add 1223.404297 1. 0;
#X add 1861.702148 0.44 0;
#X add 3218.084961 1. 0;
#X add 3723.404297 0.413333 0;
#X add 4308.510254 0.64 0;
#X add 5000. 0. 0;
#X domain 5000.;
#X range 0. 1.;
#X done;
#P connect 13 0 2 0;
#P fasten 12 0 1 0 240 308 203 308 203 213 225 213;
#P connect 9 0 2 2;
#P connect 9 0 8 0;
#P connect 12 1 10 0;
#P connect 10 0 12 0;
#P connect 6 0 2 0;
#P connect 5 0 11 0;
#P fasten 3 0 10 0 268 433 382 433 382 248 240 248;
#P connect 1 1 10 1;
#P connect 1 0 6 0;
#P connect 8 0 7 1;
#P connect 2 0 5 0;
#P connect 2 1 3 0;
#P connect 7 0 2 1;
#P connect 6 1 7 0;
#P connect 4 0 0 0;
#P connect 0 1 1 0;
#P window clipboard copycount 14;

#125584
Mar 27, 2008 at 11:22pm

I know recall that EJ might have done something similar (if not
better) in his Ejies – surely it’ll please you more that the previous
hack.

#125585
Mar 27, 2008 at 11:49pm

line~ seems to be very smooth to me. Could you post part of your patch so we can see/hear what’s going on???

#P window setfont “Sans Serif” 9.;
#P number 258 117 53 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 1;
#P message 258 139 70 196617 setdomain $1;
#P user ezdac~ 142 628 186 661 0;
#P newex 280 606 29 196617 sig~;
#P newex 280 656 40 196617 cycle~;
#P newex 280 628 47 196617 *~ 770.;
#P newex 98 399 32 196617 line~;
#P newex 98 481 40 196617 cycle~;
#P newex 98 453 47 196617 *~ 770.;
#P message 229 406 29 196617 stop;
#P newex 295 343 54 196617 t l zlclear;
#P user multiSlider 280 514 12 82 0. 1. 1 2681 15 0 0 2 0 0 0;
#M frgb 0 0 0;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P newex 295 322 36 196617 zl reg;
#P flonum 395 356 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 395 376 27 196617 + 1.;
#P newex 334 398 71 196617 maximum 21.;
#P newex 280 377 64 196617 unpack 0. 0.;
#P flonum 280 491 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P button 217 136 15 0;
#P button 323 463 15 0;
#P newex 280 441 53 196617 line 0. 20;
#P newex 280 282 51 196617 zl slice 2;
#P user function 217 157 417 257 1 1 0 1;
#X frgb 82 82 82;
#X brgb 204 204 204;
#X rgb2 85 85 85;
#X rgb3 255 255 255;
#X rgb4 0 0 0;
#X rgb5 0 0 0;
#X add 0. 0. 0;
#X add 734.042603 1. 0;
#X add 1117.02124 0.44 0;
#X add 1930.851074 1. 0;
#X add 2234.04248 0.413333 0;
#X add 2585.105957 0.64 0;
#X add 3000. 0. 0;
#X domain 3000.;
#X range 0. 1.;
#X done;
#P comment 444 358 154 196617 try 100 and bigger -> jumpy;
#P connect 23 0 22 0;
#P connect 22 0 1 0;
#P connect 16 0 21 0;
#P connect 20 0 18 0;
#P connect 19 0 21 1;
#P connect 12 0 20 0;
#P connect 1 1 17 0;
#P connect 1 1 2 0;
#P connect 18 0 19 0;
#P connect 17 0 15 0;
#P connect 15 0 16 0;
#P connect 5 0 1 0;
#P connect 7 1 8 0;
#P connect 8 0 3 1;
#P connect 3 1 4 0;
#P connect 3 0 6 0;
#P connect 9 0 8 1;
#P connect 2 0 7 0;
#P connect 2 1 11 1;
#P fasten 4 0 11 0 328 493 442 493 442 308 300 308;
#P connect 6 0 12 0;
#P connect 7 0 3 0;
#P connect 11 0 13 0;
#P connect 13 1 11 0;
#P connect 10 0 9 0;
#P connect 10 0 3 2;
#P fasten 13 0 2 0 300 368 263 368 263 273 285 273;
#P connect 14 0 3 0;
#P window clipboard copycount 24;

#125586
Mar 28, 2008 at 12:30am

On 28 mars 08, at 00:22, Manuel Poletti wrote:

> I know recall that EJ might have done something similar (if not
> better) in his Ejies – surely it’ll please you more that the
> previous hack.

that’s right, there’s ej.line (and many people have done the same
kinda things).

ej

#125587
Mar 28, 2008 at 4:11am

What setting did you have for the ‘time grain’ argument in your
[line~]? This sets the time resolution, so if yours was jumpy it may
have been too large.

On Mar 27, 2008, at 4:48 PM, dboles wrote:
>
> Hi all -
> Hoping somebody can help me here (and I’m sorry if this has been
> covered – I tried searching several different combinations of words
> to no avail).
> I’m creating a very simple patch – a breakpoint function is
> attached to a line object, which is attached to a transposer, so
> that I can draw out and store various transposing shapes for the
> sounds I’m working with.
> Here’s the problem…
> When I attach the line object to the function, it only follows
> through to the first breakpoint, at which point it stops (as
> expected). However, it runs through every float number, making the
> subsequent transposition very smooth.
> The problem with the line~ object is that it’s movement through the
> function is very “jumpy” (is that a good word to use?). It does
> not cycle through ever float in between as does line, eliminating
> the glissando from the resulting transposition and giving it a
> rhythm I don’t want. However, it does move all the way through the
> function!
>
> So, is there 1) a rig I can create that will essentially allow line
> to cycle through all of the various breakpoints to the very end OR
> 2) alter line~ so that it cycles through floats in the same way
> that line does (I don’t know if the line~ problem has to do with
> sampling rate or the overall speed of the computer, or it’s
> something in the object itself)?
>
> Any ideas? I hope this all made sense! I appreciate any feedback. :)

—-
Steven M. Miller
Professor, Contemporary Music Program
College of Santa Fe

Home < http://pubweb.csf.edu/~smill>
SFIFEM <
http://sfifem.csf.edu>
Atrium Sound Space <
http://atrium.csf.edu>
OVOS <
http://pubweb.csf.edu/~smill/ovos.html>
CMP <
http://www.csf.edu/academics/contemporary_music/>

#125588
Mar 28, 2008 at 5:01am

Hello all -
Thank you for all of the responses. I am including the pertinent portion of my patch so that you all can take a look.
In reference to the last post re: ‘time grain,’ I am not sure where I would alter this. I have two inputs in the line~ object – is the right input? I thought it was a way to input a new time for the overall ramp? I could be wrong, though, as I am a lot.
If this is something that can easily be fixed, I’d love to do it. Otherwise, I might look into the other objects mentioned earlier.
Thanks again!

#P toggle 839 308 15 0;
#P button 856 38 15 0;
#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P newex 845 236 31 196617 adc~;
#P newex 857 335 31 196617 dac~;
#P user number~ 932 174 971 189 9 3 3 2 0. 0. 0 0.672727 250 0. 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 995 229 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 931 153 44 196617 line~ 0.;
#P newex 880 221 79 196617 scale 0. 1. 0 1;
#P newex 880 29 52 196617 r lightped;
#P flonum 880 201 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 936 49 82 196617 setdomain 2000;
#P message 880 49 31 196617 clear;
#P newex 931 201 38 196617 * 500;
#P flonum 880 265 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 856 284 58 196617 transposer;
#P user function 880 69 1044 149 1 1 0 0;
#X frgb 82 82 82;
#X brgb 204 204 204;
#X rgb2 85 85 85;
#X rgb3 255 255 255;
#X rgb4 0 0 0;
#X rgb5 0 0 0;
#X add 0. 0. 0;
#X add 1881.578857 0.581818 0;
#X add 4062.5 0.527273 0;
#X add 5131.579102 0.745455 0;
#X add 6500. 1. 0;
#X domain 6500.;
#X range 0. 1.;
#X done;
#P connect 15 0 12 0;
#P connect 3 0 8 4;
#P connect 3 0 10 0;
#P connect 13 1 1 0;
#P connect 13 0 1 0;
#P connect 1 0 12 0;
#P connect 1 0 12 1;
#P connect 14 0 0 0;
#P connect 4 0 0 0;
#P connect 5 0 0 0;
#P connect 7 0 0 0;
#P connect 11 1 6 0;
#P connect 6 0 8 0;
#P connect 8 0 2 0;
#P connect 2 0 1 1;
#P connect 0 1 9 0;
#P connect 9 0 11 0;
#P window clipboard copycount 16;

#125589
Mar 28, 2008 at 5:14am

hey all -
Out of curiosity, I wandered over to EJ’s site, and the ej.line object seems to work perfectly for what I need. So, if you’re not in the mood to investigate my previous patch, I’m fine with that.
I would, however, be interested in learning how to set time grain on the line~ object. I can see how you would do it with line, but like I said, my line~ objects only have two inputs. Thoughts?

Drew

#125590
Mar 28, 2008 at 5:38am

On Mar 27, 2008, at 10:01 PM, dboles wrote:
> Thank you for all of the responses. I am including the pertinent
> portion of my patch so that you all can take a look.

Your problem in in the use of number~ to convert from signal world to
event world. In Max 4, number~ has a sample rate of 250 ms. This can
be changed via its inspector. You could also use snapshot~ instead of
number~.

-C

Chris Muir
cbm@well.com

http://www.xfade.com

#125591

You must be logged in to reply to this topic.