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

Reply via email to