May 13 2021, Fons Adriaensen has written:
...
Could it be as simple, as bluntly put: forget about the phase, only use
the amplitude/overall power of any harmonic from an FFT and reconstrcut
the signal from all sines at 0 phase?

Absolutely right ! Except that for the FFT, sin() means the phase is
+/- 90 degrees, remember than sin() components turn up in the imaginary
part, with the real part zero.

Now imagine the 128 samples generated by

T [i] = sin (h * i * 2 * pi / 128), for i = 0...127, and fixed h
(h = harmonic number, 0...64).

For each h, and also for any waveform which is a sum of these sine
waves, we will have

 T [64+i] = -T [64-i] or equivalently
 T [128-i] = -T [i]

That means we have anti-symmetry w.r.t. samples 0 and 64.

Now consider again the sysex format: to make up a cycle of 128 samples
the first 64 samples are repeated in reverse order and negated.

Now ask yourself: where is the symmetry point in that case ?
Considering added sines, I think there is no symmetry, only
anti-symmetry. Symmetry requires an extreme of the sine (samples 32 and
96 for the first harmonic). On even harmonics these points mark an
inflexion point for the sines. An added wave consisting only of odd
harmonics would be symmetric in these points. Otherwise to reach
symmetry one would have to build the wave of cosines, where the extremes
of each harmonic are alligned. Going further: alligning the extremes
would mean the maximum possible amplitudes of any sinoidal (sinesoid?) waves 
with the same amplitude. Thus reducing the maximum allowed amplitude for all 
sine waves and so degrading the quality of the resultant wave, given a fixed 
bit depth. Hm, good choice to do it like that after all. :) That was really 
instructive!

Goodnight,

Jeanette

--
 * Website: http://juliencoder.de - for summer is a state of sound
 * Youtube: https://www.youtube.com/channel/UCMS4rfGrTwz8W7jhC1Jnv7g
 * Audiobombs: https://www.audiobombs.com/users/jeanette_c
 * GitHub: https://github.com/jeanette-c

I love the things you say
And I love the love your touch conveys <3
(Britney Spears)
_______________________________________________
Linux-audio-dev mailing list
[email protected]
https://lists.linuxaudio.org/listinfo/linux-audio-dev

Reply via email to