Maybe it's not doable that way I described it - atleast not for realtime processing. For offline rendering maybe.meloco_go wrote:This is a serious misunderstanding of basic math behind DSP. You do not identify fundamental frequencies to add harmonics, any waveshaping process adds harmonics that are related to the frequency content of incoming signal automatically.lfm wrote:You try to identify what is fundamental frequencies, and add a certain amount of multiples of that frequency(harmonics).
Say you have a simple waveshaping function that takes a 3rd power of an incoming signal (y=x^3). What will happen if you use that fuction on a sin(x) signal?
y=(sin(x))^3=(3sin(x)-sin(3*x))/4
You see that sin(3*x) appeared? That is a third harmonic of an incoming signal.
Now, you may think of a processor that would track the pitch (like the Melodyne you mentioned) and generate harmonics based on that. But there is a serious problem with such idea -- the time and frequency domain resolution is inversly proportional (basic math principle), so if you have good resolution to identify frequency precisely your process won't be able to track fast pitch changes correctly, and not even think of something noise like -- like a snare rimshot.
But your are right - I have no experience with dsp processing. Probably a lot of math in there I have no clue about.

