Now the synth works quite well with an FFT size of 4096, I had a severe bug
all the time which was messing every other frames phase up.
I have simple peak picking now for sines+noise synthesis
which sounds much nicer when the sound is frozen.
It's a peak if its larger then two adjacent bins and if it was a peak
candidate or peak in either
three bins in the frame before - since this would miss all the onsets of
peaks
the analysis is done backwards with the unwanted side effect that the
last bin of a fading
frquency is recognized as a random part, but you dont seem to notice that.
I use random amplitudes for the noise, but keep the phases
so they are not out of phase when a frequency changes from bin to bin.
What I want to do now is some analysis that detects whether or not
a phase should be reset to the original phase for a transient.
I am not sure if the idea is good or not, since the window is rather large
so it will have the wrong phase before the transient.
Any ideas for that? I thought of taking the cepstrum and look for new peaks
to identify new tones. But I think this idea is flawed cause it misses
the actual broadband transient and comes in too late.
A simple time transient detector on the other hand would reset all partials
which is not wanted either.
Any other ideas?
_______________________________________________
dupswapdrop: music-dsp mailing list
[email protected]
https://lists.columbia.edu/mailman/listinfo/music-dsp