I'm not sure: if I use the amplitudes 1 0.5 0.25, the peak amplitude is
1, and the wave is clearly outside of the 1/-1 boundaries.

then you are doing something wrong.
why do you think the maximum of abs(sin(t)+½sin(2t)+¼sin(4t)) is "1"?

to analytically get the maxima of this function, you probably have to
recall your high-school maths (get the derivative of the function
(without the abs()), set it to "0" and solve it for every t to find the
positions of the extrema; use these t's to get the values of the extrema)

since I almost flunked at math in high school, that's probably why I didn't know what the peak amplitude was.

One thing about that context that I didn't explain: I'm not using an array to read the waveshape, but adding the individual waves separately, so that I can change the amplitudes dinamically each time the phase of each partial is 0 (if I do it with sinesum+normalize, there's always clicks). I was hoping to apply the formula of normalize directly, but now it seems that the easiest way is to use sinesum+normalize in parallel as a fast way to get the peak amplitude.

Best,

Joao

Basically what I'm trying to do is to find out what is the formula that
does the "normalize" function.

however, the "formula" of "normalize is very simple:
- take a table
- iterate over all the elements of the table and get the maximum value
(absolute) you find in there
- iterate over all the elements of the table and divide each element by
the just found maximum.

gfmasdr
IOhannes




--
Manteuffelstr. 19
10997 Berlin (Deutschland)
Tel +49 30 74921288 | Mob +49 162 6843570
jmmmp...@gmail.com | skype: jmmmpjmmmp
https://www.facebook.com/jmmmpais

_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list

Reply via email to