no, you don't change the buffer size, you just change the playback rate (and speed, if you want) of your grains.

For instance, lets say the pitch is 20 Hz, or 50 ms time for one cycle.

You want to change that to 100 Hz.

Then you take 50 ms of audio, and replay this 5 times every 10 ms (with or without overlaps, but at the same speed

as the original to maintaine the formants).

Then you take the next 50 ms, and do that again.

For this, you need a buffer size of 50 ms or more.

But to compare two different wave cycles of 50 ms length to find similarity, you need a buffer size of 100 ms.

That is your latency required, for 20 Hz.

That is all independent of sample rate, but of course your buffer size in samples will be larger for a higher sample rate

and smaller for a lower sample rate. But the times of latency required will be the same.

Also, if you to correlation you need less values to calcuate for a lower sample rate.


Am 06.10.2018 um 18:27 schrieb Alex Dashevski:
I still don't understand. You change buffer size. Right ?
But I don't want to change.

b> <mailto:g...@voxangelica.net>b>

    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:
    Hi,

    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.

    Thanks,
    Alex

    b href="mailto:g...@voxangelica.net <mailto:g...@voxangelica.net>"
    moz-do-not-send="true">g...@voxangelica.net
    <mailto:g...@voxangelica.net>b

        Your numbers don't make sense to me but probably I just dont
        understand it.

        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
    music-dsp@music.columbia.edu <mailto:music-dsp@music.columbia.edu>
    https://lists.columbia.edu/mailman/listinfo/music-dsp



_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to