Discussion:
[music-dsp] phase vocoder
Alex Dashevski
2018-10-13 18:30:29 UTC
Permalink
Hi,

Where can I find a simple explanation and code example(supported RealTime
and multi threading) ?
I found https://breakfastquay.com/rubberband/index.html but it very
difficult undersand how it work, I need to integrate this code into android
that should run on an audio buffer.

Thanks,
Alex
he can jog
2018-10-13 18:40:15 UTC
Permalink
Paul Batchelor has a great port of the csound 'mincer' phase vocoder in his
SoundPipe library:
https://github.com/PaulBatchelor/Soundpipe/blob/master/modules/mincer.c

That's definitely beyond my understanding to re-implement, but his library
is designed to be embedded and has a really nice API, I've found it easy to
work with in my own projects.
Post by Alex Dashevski
Hi,
Where can I find a simple explanation and code example(supported RealTime
and multi threading) ?
I found https://breakfastquay.com/rubberband/index.html but it very
difficult undersand how it work, I need to integrate this code into android
that should run on an audio buffer.
Thanks,
Alex
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
Daniel Varela
2018-10-13 19:30:29 UTC
Permalink
Complex stuff have no easy fix
Post by he can jog
Paul Batchelor has a great port of the csound 'mincer' phase vocoder in
https://github.com/PaulBatchelor/Soundpipe/blob/master/modules/mincer.c
That's definitely beyond my understanding to re-implement, but his library
is designed to be embedded and has a really nice API, I've found it easy to
work with in my own projects.
Post by Alex Dashevski
Hi,
Where can I find a simple explanation and code example(supported RealTime
and multi threading) ?
I found https://breakfastquay.com/rubberband/index.html but it very
difficult undersand how it work, I need to integrate this code into android
that should run on an audio buffer.
Thanks,
Alex
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
he can jog
2018-10-13 19:35:21 UTC
Permalink
The library is easy to work with. Having enough of a working knowledge of
phase vocoders to make use of an existing implementation and implementing
one from scratch are two different levels of complexity.
Post by Daniel Varela
Complex stuff have no easy fix
Post by he can jog
Paul Batchelor has a great port of the csound 'mincer' phase vocoder in
https://github.com/PaulBatchelor/Soundpipe/blob/master/modules/mincer.c
That's definitely beyond my understanding to re-implement, but his
library is designed to be embedded and has a really nice API, I've found it
easy to work with in my own projects.
Post by Alex Dashevski
Hi,
Where can I find a simple explanation and code example(supported
RealTime and multi threading) ?
I found https://breakfastquay.com/rubberband/index.html but it very
difficult undersand how it work, I need to integrate this code into android
that should run on an audio buffer.
Thanks,
Alex
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
Alex Dashevski
2018-10-14 04:19:03 UTC
Permalink
Hi,
Which library?
Thanks,
Alex
Post by he can jog
The library is easy to work with. Having enough of a working knowledge of
phase vocoders to make use of an existing implementation and implementing
one from scratch are two different levels of complexity.
Post by Daniel Varela
Complex stuff have no easy fix
Post by he can jog
Paul Batchelor has a great port of the csound 'mincer' phase vocoder in
https://github.com/PaulBatchelor/Soundpipe/blob/master/modules/mincer.c
That's definitely beyond my understanding to re-implement, but his
library is designed to be embedded and has a really nice API, I've found it
easy to work with in my own projects.
Post by Alex Dashevski
Hi,
Where can I find a simple explanation and code example(supported
RealTime and multi threading) ?
I found https://breakfastquay.com/rubberband/index.html but it very
difficult undersand how it work, I need to integrate this code into android
that should run on an audio buffer.
Thanks,
Alex
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
Eder Souza
2018-10-15 12:14:39 UTC
Permalink
Some time ago I posted some code in matlab, this is not real-time, you can
see the basic math of an standard phase vocoder.

https://dsp.stackexchange.com/questions/40101/audio-time-stretching-without-pitch-shifting/40367#40367

This code just change the time, you can pitch shift using a combination of
the code above and resampler...

The core code is the same for real-time or off-line, the only thing that
you need to worry about is how deal with input and output buffer (do you
need ensure output buffer continuity, learn about Circular Buffer).

PS: Prepare to latency lol


Eder de Souza
♪♫ ♫♪
▇ ▅ █ ▅ ▇ ▂ ▃ ▁ ▁ ▅ ▃ ▅ ▅ ▄ ▅ ▇
Sent From The Moon and Written With My Thumbs !
Post by Alex Dashevski
Hi,
Which library?
Thanks,
Alex
Post by he can jog
The library is easy to work with. Having enough of a working knowledge of
phase vocoders to make use of an existing implementation and implementing
one from scratch are two different levels of complexity.
Post by Daniel Varela
Complex stuff have no easy fix
Post by he can jog
Paul Batchelor has a great port of the csound 'mincer' phase vocoder in
https://github.com/PaulBatchelor/Soundpipe/blob/master/modules/mincer.c
That's definitely beyond my understanding to re-implement, but his
library is designed to be embedded and has a really nice API, I've found it
easy to work with in my own projects.
Post by Alex Dashevski
Hi,
Where can I find a simple explanation and code example(supported
RealTime and multi threading) ?
I found https://breakfastquay.com/rubberband/index.html but it very
difficult undersand how it work, I need to integrate this code into android
that should run on an audio buffer.
Thanks,
Alex
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
Alex Dashevski
2018-10-15 16:31:03 UTC
Permalink
I need the code for pitch shifting on RealTime. Could you help ?

‫בתאךיך יום ב׳, 15 באוק׳ 2018 ב-15:15 מאת ‪Eder Souza‬‏ <‪
Post by Eder Souza
Some time ago I posted some code in matlab, this is not real-time, you can
see the basic math of an standard phase vocoder.
https://dsp.stackexchange.com/questions/40101/audio-time-stretching-without-pitch-shifting/40367#40367
This code just change the time, you can pitch shift using a combination of
the code above and resampler...
The core code is the same for real-time or off-line, the only thing that
you need to worry about is how deal with input and output buffer (do you
need ensure output buffer continuity, learn about Circular Buffer).
PS: Prepare to latency lol
Eder de Souza
♪♫ ♫♪
▇ ▅ █ ▅ ▇ ▂ ▃ ▁ ▁ ▅ ▃ ▅ ▅ ▄ ▅ ▇
Sent From The Moon and Written With My Thumbs !
Post by Alex Dashevski
Hi,
Which library?
Thanks,
Alex
Post by he can jog
The library is easy to work with. Having enough of a working knowledge
of phase vocoders to make use of an existing implementation and
implementing one from scratch are two different levels of complexity.
Post by Daniel Varela
Complex stuff have no easy fix
Post by he can jog
Paul Batchelor has a great port of the csound 'mincer' phase vocoder
https://github.com/PaulBatchelor/Soundpipe/blob/master/modules/mincer.c
That's definitely beyond my understanding to re-implement, but his
library is designed to be embedded and has a really nice API, I've found it
easy to work with in my own projects.
Post by Alex Dashevski
Hi,
Where can I find a simple explanation and code example(supported
RealTime and multi threading) ?
I found https://breakfastquay.com/rubberband/index.html but it very
difficult undersand how it work, I need to integrate this code into android
that should run on an audio buffer.
Thanks,
Alex
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
Eugene Cherny
2018-10-15 16:43:37 UTC
Permalink
_______________________________________________
dupswapdrop: music-dsp mailing list
music-***@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp
Alex Dashevski
2018-10-15 16:47:01 UTC
Permalink
I need the good example: easy to undersand and to integrate to other code.

Thanks,
Alex
Alex,
https://github.com/search?q=pitch+shifting+real+time
https://github.com/search?q=pitch+shifting+realtime
--
Kind regards,
Eugene Cherny
https://eugn.ch
I need the code for pitch shifting on RealTime. Could you help ?
‫בתאךיך יום ב׳, 15 באוק׳ 2018 ב-15:15 מאת ‪Eder Souza‬‏ <‪
Some time ago I posted some code in matlab, this is not real-time, you can
see the basic math of an standard phase vocoder.
https://dsp.stackexchange.com/questions/40101/audio-time-stretching-without-pitch-shifting/40367#40367
This code just change the time, you can pitch shift using a combination of
the code above and resampler...
The core code is the same for real-time or off-line, the only thing that
you need to worry about is how deal with input and output buffer (do you
need ensure output buffer continuity, learn about Circular Buffer).
PS: Prepare to latency lol
Eder de Souza
♪♫ ♫♪
▇ ▅ █ ▅ ▇ ▂ ▃ ▁ ▁ ▅ ▃ ▅ ▅ ▄ ▅ ▇
Sent From The Moon and Written With My Thumbs !
Hi,
Which library?
Thanks,
Alex
The library is easy to work with. Having enough of a working knowledge of
phase vocoders to make use of an existing implementation and implementing
one from scratch are two different levels of complexity.
Complex stuff have no easy fix
Paul Batchelor has a great port of the csound 'mincer' phase vocoder in
https://github.com/PaulBatchelor/Soundpipe/blob/master/modules/mincer.c
That's definitely beyond my understanding to re-implement, but his library
is designed to be embedded and has a really nice API, I've found it easy to
work with in my own projects.
Hi,
Where can I find a simple explanation and code example(supported RealTime
and multi threading) ?
I found https://breakfastquay.com/rubberband/index.html but it very
difficult undersand how it work, I need to integrate this code into android
that should run on an audio buffer.
Thanks,
Alex
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
,
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
Eugene Cherny
2018-10-15 16:55:53 UTC
Permalink
_______________________________________________
dupswapdrop: music-dsp mailing list
music-***@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp
jpff
2018-10-15 17:18:04 UTC
Permalink
You could also look at the code in csound on github. Has opcode for pitch
sift and much else.
Spencer Russell
2018-10-15 16:49:54 UTC
Permalink
Alex,

A number of experienced DSP engineers have spent considerable time
trying to help you understand the problem you're describing, yet it
doesn't seem like you've made much progress. Your questions often seem
to end up with asking folks to basically write your code for you. I
don't want to be unkind here, but at some point it just feels like
you're trolling the list.
I think the most effective next steps for you are:

1. if you are working on a commercial product, you should hire a DSP
consultant to write this for you2. if you ware working on a personal project, post the code you have
so far on GitHub (or similar) and point to the specific parts
you're having trouble with. I'm not sure if there are still folks
on the list willing to spend time moving you forward, but that
definitely seems like the most productive and concrete way to try
to ask for help.
-s
Post by Alex Dashevski
I need the code for pitch shifting on RealTime. Could you help ?
‫בתאךיך יום ב׳, 15 באוק׳ 2018 ב-15:15 מאת ‪Eder Souza‬‏
you can see the basic math of an standard phase vocoder.>>
https://dsp.stackexchange.com/questions/40101/audio-time-stretching-without-pitch-shifting/40367#40367>>
This code just change the time, you can pitch shift using a
combination of the code above and resampler...>>
The core code is the same for real-time or off-line, the only thing
that you need to worry about is how deal with input and output buffer
(do you need ensure output buffer continuity, learn about Circular
Buffer).>>
PS: Prepare to latency lol
Eder de Souza
♪♫ ♫♪>> ▇ ▅ █ ▅ ▇ ▂ ▃ ▁ ▁ ▅ ▃ ▅ ▅ ▄ ▅ ▇
Sent From The Moon and Written With My Thumbs !
On Sun, Oct 14, 2018 at 2:11 AM Alex Dashevski
Post by Alex Dashevski
Which library?
Thanks,
Alex
Post by he can jog
The library is easy to work with. Having enough of a working
knowledge of phase vocoders to make use of an existing
implementation and implementing one from scratch are two different
levels of complexity.>>>>
On Sat, Oct 13, 2018 at 2:31 PM Daniel Varela
escribió:>>>>>> Paul Batchelor has a great port of the csound 'mincer' phase
https://github.com/PaulBatchelor/Soundpipe/blob/master/modules/mincer.c>>>>>>
That's definitely beyond my understanding to re-implement, but
his library is designed to be embedded and has a really nice API,
I've found it easy to work with in my own projects.>>>>>>
On Sat, Oct 13, 2018 at 1:31 PM Alex Dashevski
Post by Alex Dashevski
Where can I find a simple explanation and code example(supported
RealTime and multi threading) ?>>>>>>> I found https://breakfastquay.com/rubberband/index.html but it
very difficult undersand how it work, I need to integrate this
code into android that should run on an audio buffer.>>>>>>>
Thanks,
Alex
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
_________________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
Matt Ingalls
2018-10-15 18:11:53 UTC
Permalink
well there’s this old blog from Stephan Bernsee using a “similar process” to the phase vocoder
for frequency domain pitch shifting:
http://blogs.zynaptiq.com/bernsee/pitch-shifting-using-the-ft/
http://blogs.zynaptiq.com/bernsee/repo/smbPitchShift.cpp

not sure what your goal is, but at least in my implementation, i wasn’t able to get it to sound
as good (fewer processing artifacts) as time domain solutions..

-m
Post by Alex Dashevski
I need the code for pitch shifting on RealTime. Could you help ?
Some time ago I posted some code in matlab, this is not real-time, you can see the basic math of an standard phase vocoder.
https://dsp.stackexchange.com/questions/40101/audio-time-stretching-without-pitch-shifting/40367#40367 <https://dsp.stackexchange.com/questions/40101/audio-time-stretching-without-pitch-shifting/40367#40367>
This code just change the time, you can pitch shift using a combination of the code above and resampler...
The core code is the same for real-time or off-line, the only thing that you need to worry about is how deal with input and output buffer (do you need ensure output buffer continuity, learn about Circular Buffer).
PS: Prepare to latency lol
Eder de Souza
♪♫ ♫♪
▇ ▅ █ ▅ ▇ ▂ ▃ ▁ ▁ ▅ ▃ ▅ ▅ ▄ ▅ ▇
Sent From The Moon and Written With My Thumbs !
Hi,
Which library?
Thanks,
Alex
The library is easy to work with. Having enough of a working knowledge of phase vocoders to make use of an existing implementation and implementing one from scratch are two different levels of complexity.
Complex stuff have no easy fix
Paul Batchelor has a great port of the csound 'mincer' phase vocoder in his SoundPipe library: https://github.com/PaulBatchelor/Soundpipe/blob/master/modules/mincer.c <https://github.com/PaulBatchelor/Soundpipe/blob/master/modules/mincer.c>
That's definitely beyond my understanding to re-implement, but his library is designed to be embedded and has a really nice API, I've found it easy to work with in my own projects.
Hi,
Where can I find a simple explanation and code example(supported RealTime and multi threading) ?
I found https://breakfastquay.com/rubberband/index.html <https://breakfastquay.com/rubberband/index.html> but it very difficult undersand how it work, I need to integrate this code into android that should run on an audio buffer.
Thanks,
Alex
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp <https://lists.columbia.edu/mailman/listinfo/music-dsp>_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp <https://lists.columbia.edu/mailman/listinfo/music-dsp>_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp <https://lists.columbia.edu/mailman/listinfo/music-dsp>_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp <https://lists.columbia.edu/mailman/listinfo/music-dsp>_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp <https://lists.columbia.edu/mailman/listinfo/music-dsp>_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp <https://lists.columbia.edu/mailman/listinfo/music-dsp>_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
robert bristow-johnson
2018-10-15 18:52:28 UTC
Permalink
i have some old MATLAB code that does the phase vocoder implementing time-scaling with a little extra thing that scales the sweep rate of sinusoids inside the frame.  it is a consequence of this very old paper i did for the IEEE WASPAA (Mohonk) in
2001: https://www.researchgate.net/publication/3927319_Intraframe_time-scaling_of_nonstationary_sinusoids_within_the_phase_vocoder 
drop me a note and i will send you this MATLAB code.  i think it is self-contained except for the FFT and polyfit() for fitting a straight line to
some data.
translating that to C or C++ or C# or whatever is the flavor of the month is another whole can o' worms.


---------------------------- Original Message ----------------------------

Subject: Re: [music-dsp] phase vocoder

From: "Matt Ingalls" <***@8dio.com>

Date: Mon, October 15, 2018 2:11 pm

To: music-***@music.columbia.edu

--------------------------------------------------------------------------
well there&rsquo;s this old blog from Stephan Bernsee using a &ldquo;similar process&rdquo; to the phase vocoder
http://blogs.zynaptiq.com/bernsee/pitch-shifting-using-the-ft/
http://blogs.zynaptiq.com/bernsee/repo/smbPitchShift.cpp
not sure what your goal is, but at least in my implementation, i wasn&rsquo;t able to get it to sound
as good (fewer processing artifacts) as time domain solutions..
-m
Post by Alex Dashevski
I need the code for pitch shifting on RealTime. Could you help ?
Some time ago I posted some code in matlab, this is not real-time, you can see the basic math of an standard phase vocoder.
https://dsp.stackexchange.com/questions/40101/audio-time-stretching-without-pitch-shifting/40367#40367 <https://dsp.stackexchange.com/questions/40101/audio-time-stretching-without-pitch-shifting/40367#40367>
This code just change the time, you can pitch shift using a combination of the code above and resampler...
The core code is the same for real-time or off-line, the only thing that you need to worry about is how deal with input and output buffer (do you need ensure output buffer continuity, learn about Circular Buffer).
PS: Prepare to latency lol
Eder de Souza
♪♫ ♫♪
▇ ▅ █ ▅ ▇ ▂ ▃ ▁ ▁ ▅ ▃ ▅ ▅ ▄ ▅ ▇
Sent
From The Moon and Written With My Thumbs !
Post by Alex Dashevski
Hi,
Which library?
Thanks,
Alex
The library is easy to work with. Having enough of a working knowledge of phase vocoders to make use of an existing implementation and implementing one from scratch are two different levels of complexity.
Complex stuff have no easy fix
Paul Batchelor has a great port of the csound 'mincer' phase vocoder in his SoundPipe library: https://github.com/PaulBatchelor/Soundpipe/blob/master/modules/mincer.c <https://github.com/PaulBatchelor/Soundpipe/blob/master/modules/mincer.c>
That's definitely beyond my understanding to re-implement, but his library is designed to be embedded and has a really nice API, I've found it easy to work with in my own projects.
Hi,
Where can I find a simple explanation and code example(supported RealTime and multi threading) ?
I found https://breakfastquay.com/rubberband/index.html <https://breakfastquay.com/rubberband/index.html> but it very difficult undersand how it work, I need to integrate this code into android that should run on an audio buffer.
Thanks,
Alex
--



r b-j                         ***@audioimagination.com



"Imagination is more important than knowledge."

 
 
 
 
Alex Dashevski
2018-10-19 18:23:04 UTC
Permalink
Hi,

I have read many reports and seen several explanations but I still can not
figure out how it works ?

1. There was wriiten to use with STFT and iSTFT but on code example I
see FFT and iFFT. Why ?
2. I don't understand which steps I need to do if I just want to change
pitch(without duration) ?


Thanks,
Alex

‫בתאךיך יום ב׳, 15 באוק׳ 2018 ב-21:57 מאת ‪robert bristow-johnson‬‏ <‪
Post by robert bristow-johnson
i have some old MATLAB code that does the phase vocoder implementing
time-scaling with a little extra thing that scales the sweep rate of
sinusoids inside the frame. it is a consequence of this very old paper i
https://www.researchgate.net/publication/3927319_Intraframe_time-scaling_of_nonstationary_sinusoids_within_the_phase_vocoder
drop me a note and i will send you this MATLAB code. i think it is
self-contained except for the FFT and polyfit() for fitting a straight line
to some data.
translating that to C or C++ or C# or whatever is the flavor of the month
is another whole can o' worms.
---------------------------- Original Message ----------------------------
Subject: Re: [music-dsp] phase vocoder
Date: Mon, October 15, 2018 2:11 pm
--------------------------------------------------------------------------
Post by Matt Ingalls
well there’s this old blog from Stephan Bernsee using a “similar
process” to the phase vocoder
Post by Matt Ingalls
http://blogs.zynaptiq.com/bernsee/pitch-shifting-using-the-ft/
http://blogs.zynaptiq.com/bernsee/repo/smbPitchShift.cpp
not sure what your goal is, but at least in my implementation, i wasn’t
able to get it to sound
Post by Matt Ingalls
as good (fewer processing artifacts) as time domain solutions..
-m
Post by Alex Dashevski
I need the code for pitch shifting on RealTime. Could you help ?
‫בתאךיך יום ב׳, 15 באוק׳ 2018 ב-15:15 מאת ‪Eder Souza‬‏ <‪
Some time ago I posted some code in matlab, this is not real-time, you
can see the basic math of an standard phase vocoder.
https://dsp.stackexchange.com/questions/40101/audio-time-stretching-without-pitch-shifting/40367#40367
<
https://dsp.stackexchange.com/questions/40101/audio-time-stretching-without-pitch-shifting/40367#40367
Post by Matt Ingalls
Post by Alex Dashevski
This code just change the time, you can pitch shift using a combination
of the code above and resampler...
Post by Matt Ingalls
Post by Alex Dashevski
The core code is the same for real-time or off-line, the only thing
that you need to worry about is how deal with input and output buffer (do
you need ensure output buffer continuity, learn about Circular Buffer).
Post by Matt Ingalls
Post by Alex Dashevski
PS: Prepare to latency lol
Eder de Souza
♪♫ ♫♪
▇ ▅ █ ▅ ▇ ▂ ▃ ▁ ▁ ▅ ▃ ▅ ▅ ▄ ▅ ▇
Sent
From The Moon and Written With My Thumbs !
Post by Matt Ingalls
Post by Alex Dashevski
Hi,
Which library?
Thanks,
Alex
The library is easy to work with. Having enough of a working knowledge
of phase vocoders to make use of an existing implementation and
implementing one from scratch are two different levels of complexity.
Post by Matt Ingalls
Post by Alex Dashevski
On Sat, Oct 13, 2018 at 2:31 PM Daniel Varela <
Complex stuff have no easy fix
Paul Batchelor has a great port of the csound 'mincer' phase vocoder in
https://github.com/PaulBatchelor/Soundpipe/blob/master/modules/mincer.c <
https://github.com/PaulBatchelor/Soundpipe/blob/master/modules/mincer.c>
Post by Matt Ingalls
Post by Alex Dashevski
That's definitely beyond my understanding to re-implement, but his
library is designed to be embedded and has a really nice API, I've found it
easy to work with in my own projects.
Post by Matt Ingalls
Post by Alex Dashevski
Hi,
Where can I find a simple explanation and code example(supported
RealTime and multi threading) ?
Post by Matt Ingalls
Post by Alex Dashevski
I found https://breakfastquay.com/rubberband/index.html <
https://breakfastquay.com/rubberband/index.html> but it very difficult
undersand how it work, I need to integrate this code into android that
should run on an audio buffer.
Post by Matt Ingalls
Post by Alex Dashevski
Thanks,
Alex
--
"Imagination is more important than knowledge."
_______________________________________________
dupswapdrop: music-dsp mailing list
https://lists.columbia.edu/mailman/listinfo/music-dsp
Loading...