Archive: Complex Superscopes


16th December 2001 07:00 UTC

Complex Superscopes
I was looking through some of the newpics in Winamp, and was amazed by the beauty and complexity of some of the superscopes.

How do people come up with such great functions? Are they all topoplogy majors, or do they just fool around with things 'till something cool pops up?

Also, is it just me, or are the instructions for the superscope a little weak. "i is the position of the scope" Okay, so what does that mean??? :confused:

Can you tell me specificly what the following mean, and how the music effects them:

i:
v:
w&h:

Thanks!

|[{Calvin: New Newbie!}]|


16th December 2001 15:36 UTC

i: used to make the points on the scope
v: what happpens to the scope when music is playing
w & h: width and height


17th December 2001 00:26 UTC

okay, you have a waveform. Let's go out on a limb and say the waveform is y=sin(x)
at any point i on that waveform, v is sin(i)
so if you put the waveform on a graph, limits 0,1,1,-1, x would be i and y would be v


17th December 2001 22:50 UTC

uh, i think what your trying to say is

limits one y axis is 1 and -1 and for x its is 1 and -1
v is used for disignating where the music is being used on the superscope and where its detected
such as in example
x=cos(t-i);
y=sin(t+i)+v;
would make a curving line that on the y axis would the waveform/spectrum be viewed.


18th December 2001 20:04 UTC

I'll try to go into a bit deeper explanation here.

Let's take an example, we'll start with the simple:

x=i;

This small example would just create a simple line, no more, no less, no response, no nothing.

x=0; would on the other hand create nothing but a small 1pixel dot at the middle of the horizontal scale in the AVS window.

x=i; what is this then?
i is a small function that creates a line, on every pixel it has a value on the X scale, starting at 0, going up to 1.
It only ranges from 0 - 1 in the normal state without any extras.
x=i-0.5; here we add "-0.5" to the statement, this would cause the i variable to be subtracted by 0.5, thus instead ranging from -0.5 to 0.5 on the horizontal scale.

A normal example is:
x=i*2-1; here we duplicate i by 2, this changes the range to 0 - 2, but we go -1, and it ranges from -1 to 1 and covers the whole horizontal scale. Get the idea?
OK, let's move on.

x=i*2-1; (We create the line covering the x- scale)
y=v*.5; now what? we finally get to the "v" function, v gets input data from the sound, using waveform it ranges from -1 to 1, we'll stick to that.
the sound makes this move up and down, every point reacting to that specific point on the "sound scale".
We use v*.5 because the normal wave is often to big.
Now you've got a simple line covering the x-scale and reacting to sound.
W and H are often not that useful, they are always equal to the width and height of your AVS window, and may be used if you want more specific details in "N".(the number of points on your screen.)

This should answer your question :cool:


Linus