Archive: is it possible to control SS by any determined pitch?


13th February 2002 17:33 UTC

is it possible to control SS by any determined pitch?
i want to say that SS is changing maybe the direction by any Beat in a determined pitch, by any other pitch it should change the size and and and...

ist this possible? and if yes, how?

GreatWho


13th February 2002 17:50 UTC

do you mean like the bass does "x=x+sin(a+.001)"
and the midrange does "y=abs(x)"
and the treble does "a=cos(a*1.5)"?


13th February 2002 18:28 UTC

what is a?
and how should i use this to see what it does? can you show me a example how it works?

another example what i want is that if the song has more bass, the colour is maybe a deep blue, if there's more treble, the color is yellow..

i hope you can help


GreatWho


13th February 2002 18:34 UTC

first of all, a is a variable
and that i wrote was just a example
but i just wanted to know what you meant?

but i don't know actually how to do it


14th February 2002 00:47 UTC

I assume you have a SS that is moving around by some means, and that you want it to change it's direction of movement every low-pitch beat; and, that you want it to change size every high-pitch beat, correct?


14th February 2002 03:35 UTC

You can use getspec() to grab sound data. You can grab individual spectrum points as well as averaged areas (using the width parameter) to get a general 'bass' or 'treble'.


14th February 2002 11:04 UTC

Geozop, your assume is the right kind.
UnConeD, i didn't really know, how to use the getspec the right way, to become the SS i want.. i will make an example...

i make a simple SS

init:n=400

frame
:t=t-0.05
point
:x=cos(t);y=sin(t)
that will draw a circle

now i want that it's smaller by a low-pitched beat and bigger by a high-pitched beat (lowest, the size is 0.5, highest, te size is 1)
as second, by a low-pitched beat, the direction will change, a high-pitched beat will do nothing...

can you show me the way?

thanx

14th February 2002 16:42 UTC

init:
n=400

frame:
s will control the size of the ring
s=if(above((getspec(0.1,0.2,0)),0.4),0.5,0.9)
s is 0.5 if the specdata at the specified point is higher than 0.4 otherwise it will be 0.9

per point:
t=t-0.05;
x=cos(t)*s;
y=sin(t)*s;

PS:
if you use
x=(cos(t)*s)/(w/h);
the ring will apear as a ring even when the display is a rectangle(but only until w>h)


14th February 2002 16:58 UTC

Because a division is an expensive operation, it's best to save a var "af=w/h" in OnFrame and use y=y*af instead of y=y/af (multiply is faster).


14th February 2002 17:54 UTC

thanx for help
thanx to T-Cut and UnConeD, that was very helpfull, so i can use it. is it also possible that the ring walks between the outer and the inner rig?

you can ses the preview of my new work with this codes


14th February 2002 18:39 UTC

i did a remix of the preset

here ya go