SynthMaker

Vector VU Analog

Archive · 2010 23 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

DigitalWhiteByte ·

hi guys, little question 😉

The curve of points is now an array of manual insertion. Whereas the X between the points are generated log dB scale, how to generate the Y coordinates of the points automatically, to the curve that you draw?

Thanks in advance.

MegaHurtz ·

yeez I dunno, don`t really understand the question. But it would be nice to have the actual VU, RMS, Peak, and Db`s, on it when it`s there.

DigitalWhiteByte ·

MegaHurtz wrote: yeez I dunno, don`t really understand the question.

In the schematic I drew the points satisfying the distance X according to the logarithmic scale -20 -10 -7 -5 -3 0 1 2 3 dBs, now we must give it a value Y, to make it curved, but the Y values should be generated in automatically according to the desired curvature.

MegaHurtz ·

aah, you can make a green calculation and use a counter to count the increments into your array before hand. But once they are there there going to stay. Note there are many ways to calculate db`s, like 7/8 different db scales, the best one is used in the available meteres. These are from before my days but the people that are used to meters swear to one scale. Im going to look it up.. see if it`s in one of my books. Ill get back to that.

DigitalWhiteByte ·

Thanks MegaHurtz 🙂

MegaHurtz ·

I looked it up in "mastering audio", they only did the RMS to DBfs. So for further reference I guess you already seen the wiki.. http://nl.wikipedia.org/wiki/Decibel_(eenheid)

MegaHurtz ·

lol forgot im the only dutchy here 😀

DigitalWhiteByte ·

MagaHurtz excuse, but the conversion in decibels has already been made, the question and obtain the heights y for the points to make it curved, look in the schematic .

MegaHurtz ·

Yes.. Did you try the array?

DigitalWhiteByte ·

Generate the array of Y coordinates for the points automatically, the X not being the same distance shall be computed for each point Y for bending choice.

I hope I made myself understood 😊

Tzarls ·

Quick non-scientific approach: Use a static "y" with the value of the highest point. Then place a graphic on top of you VU meter, that graphic should have the lower part of the vumeter (the semi-circle) as transparent.

DigitalWhiteByte ·

I do not want to use external graphic So as to obtain all resizable, so vector 😉

MegaHurtz ·

Becouse it`s circular it`s a bit harder to figure out. Maybe it`s best to place them by hand and store the coords.

Tzarls ·

Ok, this could actually work. Think of your "needle" as the hypotenuse of a triangle. The length of the needle is always the same (in theory at least). Then you have the base of the triangle - the size of that side is the distance from the centre (the base of the needle) to the red point (the distance in the x axis). Using the pitagoras theorem you could easily calculate the height of the triangle, which in turn is the value of Y that you need. Hope my explanation is clear, and I hope it actually works!

trogluddite ·

As you are using vector graphics - have you considered using the GUI Rotate primitive for your dots as well as your needle? Draw your dot at a fixed position in the middle of the scale. Then put the Rotate primitive to move the dot to the right place. To get your arc 'flatter' the X,Y rotation centre can lie outside the actual draw area. (see example) The starting curve on your scale would then just be an arc drawn relative to the same X,Y centre.

Hope that helps

The Luddite

rl ·

errm, if I understand the original question, you have x coordinates and want to calculate the matching y coordinates on the circle, right? If so, the circle function is x*x + y*y = r*r ( x-coord, y-coord, radius), so y = sqrt (r*r - x*x)

BTW: are you sure, you want to scale logarithmically by the x-axis and not by the angle?

MegaHurtz ·

Also VU is a measurment of energy. so you get different units of vu for a square/sine becouse there is different amounts of energy in them. This is also true for the db meters they use for measuring things. These are RMS meters. Wich also give an indication of energy, al be it in decibels. But to have it measure actual VU you`d need to calibrate it on a sinewave. So inherently these meters can read hotter than maximum. knowing this It`s never bad to have a peak meter on the side to see if you are not clipping. But the correct name for this is a peak meter.

DigitalWhiteByte ·

Wanting to be more flexible in setting up your own arc as you want, tend to use the equation of an ellipse: x2/2a + y2/2b = 1 (c) then y = (sqrt ((1-c) * 2b)) / 2b) at least I think so, if you agree. I used the code sqrtps for the root, but I do not run the calculations on a loop of an array of parameters X, performs only the last value of the loop 😮 . There is a system with greens to make a proper calculation of sqrt?

rl ·

Float Power with 0.5 as the exponent:

x^0.5 == sqrt(x)

DigitalWhiteByte ·

Yes, i know. But I was looking for a beeter approximation of sqrt. 🙂 I have tried this: x=(N^0.5) -- (x/N)+x/2 seems to work well, but I do not know what level of precision is, perhaps 4 or 5

I applied the equation of the ellipse and works well 😈 this way I can get the parameters of y based on x date, and given the size of major and minor axis I wanted to take this system to obtain a dB or reading any data you want to measure by scale chosen, having full opportunity to change the appearance without affecting the accuracy.

DigitalWhiteByte ·

It is exactly what I was able to achieve using only the graphical vector components S|M, no graphics were used. Also displays peaks in dBFS and RMS, when reached 0dBFS the 0dB LED lights. 🙂 You like the italian style? Let me know, comments and ideas are welcome.

aliasant ·

sweeeeet work 🙂

sunsynth ·

really nice! 🙂

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.