In my example, the buffer is 2 times as long as the lowest possible pitch,
for example if your lowest pitch is 20 Hz, you need 50 ms for one wave cycle
Think of it as magnetic tape, without sample rate, the minimum requierd
latency and the buffer length in milliesconds
are independent of sample rate
You have 100 ms "magnetic tape", search for similarity, and then chop
the tape according to that.
Then you have sippets of 50 ms length or smaller.
Then you copy these snippets and piece them together again, at a higher
or slower rate than before.
You can also shrink or lengthen the snippets and change the formants,
that ist shift all
spectral contant of one snippet up or down.
Am 06.10.2018 um 17:58 schrieb Alex Dashevski:
I can't understand your answer.B The duration of buffer should be
bigger than duration of pitch because I use WSOLA.
The latency also depends on sample rate and buffer length.
Your numbers don't make sense to me but probably I just dont
The latency should be independent of the sample rate, right?
You search for similarity in the wave, chop it up, and replay the
grains at different speeds and/or rates.
What you need for this is a certain amount of time of the wave.
If you need a latency of <= 100 ms you can have two wave cycles stored
of 50ms length / 20 Hz, which should be sufficient, given taht
voice is ususally well above 20 Hz.
dupswapdrop: music-dsp mailing list