beginner's questions

Feb 4, 2009 at 3:38pm

beginner's questions

hello world

my first post in this forum, i just started with max
using the demo version and going through the tutorials

so far so good, the interface is really cool and i’m quite loving the whole thing

i’m a visual artist (audiovisual wannabe) and a vvvv user, and i see in max the perfect environment to get into audio..

also i’m really waiting for maxforlive, and i hope it will work as an API for live, so we can control live from outside and also send datas out (such as sound spectrums, track status and name, and so on..)
sending from maxforlive to vvvv via osc
this will be possible right? or am i getting it wrong?

i already have a couple of questions about max, the way it’s working and if it’s possible to achieve something i have in mind:

1) i learned how max is processing nodes from right to left and bottom to top, so my first question is: if i trigger 3 metro objects with one single bang, will they be in perfect sync? or the right one will be processed first and start first?

2) this is probably a more advanced question, anyway, is it possible to achieve the following:

i have a high number of objects in vvvv (a particle system)
i want to produce a sound with each particle, depending for example on the behaviour/direction.. so each particle will likely produce a different sound, but it can happen that 2 of them behave the same so they sound the same

so midi is not a solution because if 2 particles trigger the same note there will be a conflict, thats why i thought about using audio (dont ask me exactly what i mean, i’m a beginner, so not sure what the possibilities are..:)

so how can i build this kind of setup?
what i get from vvvv is a spread (basically a list) of float datas, and i want to use those datas in max to produce sounds
i would send the list via osc (i guess it’s the better way, or..?)

—-

sorry for the long post, you know it’s the first one :)
i’m not askin for a complete solution for my problem, any hints or directions to follow would be highly appreciated

thanks a lot

Pedro

#42108
Feb 4, 2009 at 5:54pm

On Wed, 4 Feb 2009, Pedro Mari wrote:
-&e->i already have a couple of questions about max, the way it’s working
-&e->and if it’s possible to achieve something i have in mind:
-&e->
-&e->1) i learned how max is processing nodes from right to left and
-&e->bottom to top, so my first question is: if i trigger 3 metro objects
-&e->with one single bang, will they be in perfect sync? or the right one
-&e->will be processed first and start first?

You’d likely want to use a single metro object and divide time as needed
if they are in fact running different ratios of the “world clock”,
multiple things doing the same thing independently are more likely to
cause problems. This isn’t a “max thing”, this is pretty much true for
programming any real time system where inter-process sync is a concern.
Even an orchestra of the world’s best musicians, all with excellent
knowledge of the piece and tempo refer to a single conductor.

And also, for the love of all that is holy, *never* count on object
position for order. Assume that doesn’t exist if only for your own sanity
(for example, adjusting a patch’s layout to make more sense shouldn’t
affect it’s operation!) and get familiar with using the [trigger] object
to “hard code” order.

-&e->2) this is probably a more advanced question, anyway, is it possible
-&e->to achieve the following:
-&e->
-&e->i have a high number of objects in vvvv (a particle system) i want to
-&e->produce a sound with each particle, depending for example on the
-&e->behaviour/direction.. so each particle will likely produce a
-&e->different sound, but it can happen that 2 of them behave the same so
-&e->they sound the same
-&e->
-&e->so midi is not a solution because if 2 particles trigger the same
-&e->note there will be a conflict, thats why i thought about using audio
-&e->(dont ask me exactly what i mean, i’m a beginner, so not sure what
-&e->the possibilities are..:)

IIRC, there is nothing in midi spec that inherently states that two notes
of the same note value can’t exist at the same time (although which which
note gets turned off by the noteoff message gets ugly). I actually have
some hardware synths that allow multiple instances of a same valued note
(sounds a lot better than “voice stealing” – cutting off the prior note
abruptly and restarting it).

Your best bet would be to use OSC based messaging if vvvv supports that.

-&e->so how can i build this kind of setup? what i get from vvvv is a
-&e->spread (basically a list) of float datas, and i want to use those
-&e->datas in max to produce sounds i would send the list via osc (i guess
-&e->it’s the better way, or..?)

Exactly! It really comes down to the nature of the change data, and
whether you want it all sent at the same time. If for example, vvvv is
allowing you the luxury of not having every thing update at the same time,
then you’d want to break that “list” up into individual change messages,
with each particle having a correposponding “voice” in max.

If this is what you’re looking for, some really neat solutions could exist
in some of the advanced features of the poly~ object (specifically,
targeting control data to a named voice). The big “aha!” would be working
around the fact that poly~ implies midi-like operation (where triggerred
value is tied to it’s pitch). The “midi-like” assignment of notes to
voices in the poly~ system can be wholly independent of pitch and instead
used to track particle[vvvv] to voice[max/msp] correllation.

So instead of a fixed matrix of data sending regular updates, you just
tie objects (particles) in vvvv to voices in max by name whenever they
feel like it. Less parsing and pulsing that way. It will also scale
better, and only use the CPU you’re actually needing. If you do it right
with just a couple particles+voices to start, you should just be able to
ramp up the number of players and maintain the same behavior as the
numbers increase (well, until you run out of cpu, clog your osc plumbing,
or hit the max voice wall in poly~).

andyw

#150500
Feb 4, 2009 at 10:01pm

hello AndyW, tnx a lot for your immediate feedback

“You’d likely want to use a single metro object and divide time as needed “

yes i thought about that, but how to divide a metro then? sorry probably the answer to this question is obvious :) i know how to divide time argument, but the metro only outputs bangs right?
so if i use a single metro how can i divide its output?

—-

about my second question, yes exactly “voice stealing” is a problem with midi

so i need many voices that i can control indipendently separetly, kind of instances but with different behaviours (like particles)

that’s why i think that you’re right and poly~ is the way to go :)

tnx a lot for pointin me to it, i will study and learn how it works

tnx again

Pedro

#150501
Feb 5, 2009 at 1:01am

here is one way to divide metro ticks using counters:

– Pasted Max Patch, click to expand. –

hopefully, though you are trying out max5 in which case the ITM objects, like transport, are best. see helpfiles for “transport” and “metro” in Max5 to see how you can link many different metros to the same transport.

here’s an unusual way i use the transport object’s tick outlet to get many different note resolutions:

– Pasted Max Patch, click to expand. –

best of luck.

#150502
Feb 5, 2009 at 11:06am

Quote: defetto wrote on Wed, 04 February 2009 23:01
—————————————————-
> about my second question, yes exactly “voice stealing” is a problem with midi
>
> so i need many voices that i can control indipendently separetly, kind of instances but with different behaviours (like particles)
—————————————————-

You could also dedicate a different MIDI channel to each particle. There’s no problem with having the same note on different channels.

#150503
Feb 5, 2009 at 10:19pm

@RabidRaja

tnx for the patchers man, i’ll have a look tonight :)

@Peter Castine

ok but then the number is limited to 16 cause the channels are 16 right?
the poly object seems to allow up to 1023 different instances, didn’t try it yet, but seems to be the way to go

#150504
Feb 6, 2009 at 8:07am

Hello Pedro

I would also advise to have a look at Darwin Gross’s synth building tutorials (1_8) not exactly what you are looking for but a good introduction on using
the Poly object http://www.cycling74.com/story/2007/8/20/10530/5988

#150505

You must be logged in to reply to this topic.