What do you mean "replay" ? duplicate buffer ? I have the opposite problem. My original buffer size doesn't contain full cycle of the pitch. How can I succeed to shift pitch ?
Thanks, Alex בתאריך שבת, 6 באוק׳ 2018 ב-19:55 מאת gm <g...@voxangelica.net>: > > 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 href="mailto:g...@voxangelica.net" moz-do-not-send="true"> > g...@voxangelica.netb > >> >> 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" moz-do-not-send="true"> >> g...@voxangelica.netb >> >>> 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 >> email@example.com >> https://lists.columbia.edu/mailman/listinfo/music-dsp > > > > _______________________________________________ > dupswapdrop: music-dsp mailing > firstname.lastname@example.org://lists.columbia.edu/mailman/listinfo/music-dsp > > > _______________________________________________ > dupswapdrop: music-dsp mailing list > email@example.com > https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________ dupswapdrop: music-dsp mailing list firstname.lastname@example.org https://lists.columbia.edu/mailman/listinfo/music-dsp