The best open source one I know of is https://breakfastquay.com/rubberband/

It is however very dense.  I wouldn't bet on coming to an understanding of
how it does sample/window framing without significant investment.  The
author himself said it was very hard to get sample accurate input samples
to output samples ratios.

However, to use it shouldn't be too hard.

Scott

On Sat, 6 Oct 2018 at 20:53, Alex Dashevski <alexd...@gmail.com> wrote:

> Could you know where I can find phase vocoder implementaion in cpp thus I
> can run it on real time ?
>
> ‫בתאריך שבת, 6 באוק׳ 2018 ב-21:21 מאת ‪Daniel Varela‬‏ <‪
> danielvarela...@gmail.com‬‏>:‬
>
>> For real time you will need to do windowing and overlap add. But yeah,
>> 5ms should be enough.
>>
>> This is a high level explanation with MATLAB
>>
>>
>> https://se.mathworks.com/help/audio/examples/pitch-shifting-and-time-dilation-using-a-phase-vocoder-in-matlab.html
>>
>> El sáb., 6 oct. 2018 20:10, Alex Dashevski <alexd...@gmail.com> escribió:
>>
>>> Can you tell what minimum duration of buffer ? 5ms should be Ok ?
>>>
>>> ‫בתאריך שבת, 6 באוק׳ 2018 ב-21:06 מאת ‪Daniel Varela‬‏ <‪
>>> danielvarela...@gmail.com‬‏>:‬
>>>
>>>> You can process buffers as small as your fft allows.
>>>>
>>>> El 6 oct. 2018 20:03, "Alex Dashevski" <alexd...@gmail.com> escribió:
>>>>
>>>> Hi,
>>>> phase vocoder doesn't have restriction of duration ?
>>>> Thanks,
>>>> Alex
>>>>
>>>> ‫בתאריך שבת, 6 באוק׳ 2018 ב-20:55 מאת ‪Daniel Varela‬‏ <‪
>>>> danielvarela...@gmail.com‬‏>:‬
>>>>
>>>>> You could try a phase vocoder instead of WSOLA for time stretching.
>>>>> Latency would be the size of the fft block.
>>>>>
>>>>> El sáb., 6 oct. 2018 19:49, gm <g...@voxangelica.net> escribió:
>>>>>
>>>>>>
>>>>>> right
>>>>>>
>>>>>> the latency required is that you need to store the complete
>>>>>> wavecycle, or two of them, to compare them
>>>>>>
>>>>>> (My method works a little bit different, so I only need one
>>>>>> wavecycle.)
>>>>>>
>>>>>> So you always have this latency, regardless what sample rate you use.
>>>>>>
>>>>>> But maybe you dont need 20 Hz, for speech for instance I think that
>>>>>> 100 or even 150 Hz is sufficient? I dont know
>>>>>>
>>>>>>
>>>>>>
>>>>>> Am 06.10.2018 um 19:34 schrieb Alex Dashevski:
>>>>>>
>>>>>> If I understand correctly, resampling will not help. Right ?
>>>>>> No other technique that will help. Right ?
>>>>>> What do you mean "but not the duration/latency required" ?
>>>>>>
>>>>>> b href="mailto:g...@voxangelica.net"; moz-do-not-send="true">
>>>>>> g...@voxangelica.netb
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Am 06.10.2018 um 19:07 schrieb Alex Dashevski:
>>>>>>> > What do you mean "replay" ? duplicate buffer ?
>>>>>>>
>>>>>>> I mean to just read the buffer for the output.
>>>>>>> So in my example you play back 10 ms audio (windowed of course),
>>>>>>> then
>>>>>>> you move your read pointer and play
>>>>>>> that audio back again, and so on, untill the next "slice" or "grain"
>>>>>>> or
>>>>>>> "snippet" of audio is played back.
>>>>>>>
>>>>>>> > I have the opposite problem. My original buffer size doesn't
>>>>>>> contain
>>>>>>> > full cycle of the pitch.
>>>>>>>
>>>>>>> then your pitch is too low or your buffer too small - there is no
>>>>>>> way
>>>>>>> around this, it's physics / causality.
>>>>>>> You can decrease the number of samples of the buffer with a lower
>>>>>>> sample
>>>>>>> rate,
>>>>>>> but not the duration/latency required.
>>>>>>>
>>>>>>> > How can I succeed to shift pitch ?
>>>>>>>
>>>>>>> You wrote you can have a latency of < 100ms, but 100ms should be
>>>>>>> sufficient for this.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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
>>>>>
>>>>> _______________________________________________
>>>>> 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



-- 
Scott Cotton
http://www.iri-labs.com
_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to