breakpoint editors

redhexagonal's icon

I would love to have a breakpoint editor like function which allows me to draw proper curves.
"technoui!" i hear you typing, but complex javascript objects are a pain when you have more than a few , and you are using pattrstorage to recall data. technoui takes several seconds to recall its data on my powerbook g4 1.25ghz.
has anyone seen anything made in lcd or anything else? function is too limited for sound sculpting

Axiom-Crux's icon

technou... oh wait.. but that is the only one I know of... I did see this really kick ass note step sequencer that had a curve drawing function for the waveform.. oh found it, lets see if this is any good for adapting to what you want. I cant seem to remeber how to engage the curve funct, it says right click. see if it works for you

redhexagonal's icon

that is my own patch!

anyway , has anyone else built any curve drawing tools? something like the evelope editor in FM7 would be very useful!

Brad Garton's icon

If you are willing to do some text-specification, you may want to
check out some of the [gen*]objects in thee pErCOlate distribution:

They were derived from a larger set in RTcmix, but unfortunately the
current [rtcmix~] doesn't have a way to dump envelope specifications
into max/msp buffers. The new version (coming soon!) will, I hope.

Quoting bin ray :

>
> that is my own patch!
>
> anyway , has anyone else built any curve drawing tools? something
> like the evelope editor in FM7 would be very useful!
> --
> www.myspace.com/binray
>

redhexagonal's icon

the gen objects look good (the chebyshev one is great), and the breakpoint ones look pretty useful. i'll see what i can do with them

redhexagonal's icon

after some experimentation, ive found i can make a pretty decent breakpoint editor with waveform~ and lp.scampf. (very nice object that, Mr Castine)

click to add a new point, you can drag points around like function, snap to grid, then if you alt click and drag up and down the curve of that segment changes, similar to technoui. theres a big button to generate random curves....pity you cant see the breakpoints though.

Max Patch
Copy patch and select New From Clipboard in Max.

seejayjames's icon

This isn't really what you're talking about but it does provide some pretty interesting features by combining the bpfunction with a scaling multislider, which is then output into another multislider. There's periodic function generators for the scaling multislider, which when you dynamically change the number of periods, you get some really wild results. I have the 4095-point multisliders listfunneled into a buffer~ in the audio subpatch so you can hear the resulting waveform. The response is pretty smooth as far as managing the data, though many of the buffer examples give clicks.

Of course, the data in the multislider doesn't have to be used this way, it's just one possibility. I think other good ones would be to sample it at (say) intervals of 20-50 points, then apply that shorter list to the volume level of each oscillator in a huge bank. Or apply the curve as a highly dynamic EQ frequency boost / cut shape (like with filtergraph~ but more involved). Lots of possible applications there.

It's also fun to record some automations and just watch the patterns unfold ;)

--CJ

------

Max Patch
Copy patch and select New From Clipboard in Max.


redhexagonal's icon

thats pretty cool, although quite slow to respond on my machine (ppc 1.25ghz), takes about 2 seconds to update

cebec's icon

Man, that's awesome. Thanks for this.
Where/how do I tap the output to convert to a range of 0 to 127 for use as a MIDI modulator?

Quote: seejayjames wrote on Tue, 01 May 2007 03:57
----------------------------------------------------
> This isn't really what you're talking about but it does provide some pretty interesting features by combining the bpfunction with a scaling multislider, which is then output into another multislider. There's periodic function generators for the scaling multislider, which when you dynamically change the number of periods, you get some really wild results. I have the 4095-point multisliders listfunneled into a buffer~ in the audio subpatch so you can hear the resulting waveform. The response is pretty smooth as far as managing the data, though many of the buffer examples give clicks.
>
> Of course, the data in the multislider doesn't have to be used this way, it's just one possibility. I think other good ones would be to sample it at (say) intervals of 20-50 points, then apply that shorter list to the volume level of each oscillator in a huge bank. Or apply the curve as a highly dynamic EQ frequency boost / cut shape (like with filtergraph~ but more involved). Lots of possible applications there.
>
> It's also fun to record some automations and just watch the patterns unfold ;)
>
> --CJ
>

david@5of4.com's icon

---------- Original Message ----------------------------------
From: James Little
Date: Tue, 1 May 2007 11:55:50 +0100

>
>thats pretty cool, although quite slow to respond on my machine (ppc 1.l25ghz), takes about 2
seconds to update
>--

I noticed the same thing on my Powerbook. I was able to fix by putting a [mousefilter] on the outputs
of the multisliders. I don't know why, but somethings will cause the multislider to output its list one
time for each element in the list (so 4095 lists of 4095 items for each one). [mousefilter] only lets
one list through on mouseup, making it respond faster.

Anyway, it is a cool patch. I'm going to go play with it some more.

David

Need personalized email and website? Look no further. It's easy
with Doteasy $0 Web Hosting! Learn more at www.doteasy.com

seejayjames's icon

Great that you guys like it! Too bad it kept me from sleeping much last night, heh. I'm adding a bunch of stuff and will post that soon, hope you'll check it out. It could be a pretty useful synth-generating voice in a big bank of them, possibly with fewer points in the buffers/sliders so that the response is faster.

It's hard because my sound card has distortion problems anyways so I never know if the looping waves are really clicky or it's the card. I know there's gonna be clicks unless one does some envelopes, which I'm adding and seem to help somewhat, but need tweaking.

Also am adding some more functions to provide yet more ways to fiddle. It's neverending, this program...

--CJ

seejayjames's icon

Forgot to put this part in the post. To tap the values (if you want one at a time) use the fetch $1 message to the bottom multislider, however often you want (w/ metro). With this design the one that changes the most often is on the far right, so fetch 4095 will get you this value.

If you want sampled lists of multiple values you could use a combination of an uzi that samples all the values, then a modulus to set how often you access that value (like every 20 would be uzi --> % 20 --> select 0, then out of the select will happen every 20th slider... make your list probably with zl group if it's 256 or less, and there you go, a sub-sampling of the main data set). Or maybe a set of 8 fetch messages spaced every 512 sliders would get you a bank of changing data too. Heck, even an uzi 32 or something whose index get multiplied by a scaling factor so that it mirrors the set (127 in this case), then fetch $1, will get you slider 0, 32, 64, 96, etc...

Now that I think of it, that's a lot easier, forget about the modulus (though that's a *very* useful object too!)

The output is -1.0 to 1.0, so use a scale 0.0 1.0 0 127 to go to MIDI integers.

more soon

--CJ

redhexagonal's icon

the curves certainly look nice, but will it give audio results different from using a simple modulation of the line~ output of the function object?
my original post was about finding improvements/alternatives to the function and technoui objects...

redhexagonal's icon

the reason the output of your patch sounds clicky is because max can only deal with lists 256 elements long . so listfunnel is only putting the first 256 values of your multislider into the buffer.

redhexagonal's icon

this patch does something similar though ive phase modded the sine rather than amplitude mod, because it sounds more interesting

Max Patch
Copy patch and select New From Clipboard in Max.

cebec's icon

awesome! thanks!

Stefan Tiedje's icon

David Morneau schrieb:
> I noticed the same thing on my Powerbook. I was able to fix by
> putting a [mousefilter] on the outputs of the multisliders.

You might also just uncheck "Continuous Data Output" in the inspector.
Should have the same effect as mousefilter...

> I don't know why, but somethings will cause the multislider to output
> its list one time for each element in the list (so 4095 lists of 4095
> items for each one).

Something like this can only happen by a bug in your patch, or you
misinterpreted the output when "Continuous Data Output" is checked...

If not, its worth to send a bug report...

Stefan

--
Stefan Tiedje------------x-------
--_____-----------|--------------
--(_|_ ----|-----|-----()-------
-- _|_)----|-----()--------------
----------()--------www.ccmix.com

redhexagonal's icon

I've improved the breakpoint patch based on waveform~ i posted earlier, it was a little buggy. you can make stepping type curves now, and theres a few randomizing functions . alt click changes the curve between breakpoints. could be useful for synth envelopes

Max Patch
Copy patch and select New From Clipboard in Max.

cebec's icon

Looks fantastic but upon opening I received a slew of error: multiSlider: Slider xxxx Out of Range messages.