Re: [music-dsp] WSOLA

2018-10-13 Thread Stefan Sullivan
Because the o stands for overlap.
https://ieeexplore.ieee.org/document/319366. I'm not specifically familiar
with wsola, but if it's like the other overlap-add techniques then starting
with some overlap and modifying that relationship is the fundamental way to
change the sound.

Wikipedia has a decent article on pitch timescale modifications.
https://en.m.wikipedia.org/wiki/Audio_time_stretching_and_pitch_scaling

Stefan


On Sat, Oct 13, 2018, 07:41 Alex Dashevski  wrote:

> Hi,
>
> Could you explain why we need an overlap parameter in the WSOLA ? How can
> I find optimal values ? What effect will I get if I use bigger or smaller
> value ?
>
> Thanks,
> Alex
> ___
> 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

[music-dsp] WSOLA

2018-10-13 Thread Alex Dashevski
Hi,

Could you explain why we need an overlap parameter in the WSOLA ? How can I
find optimal values ? What effect will I get if I use bigger or smaller
value ?

Thanks,
Alex
___
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Re: [music-dsp] WSOLA on RealTime

2018-10-04 Thread Evan Balster
A simpler answer:

You can't double the speed of the audio coming from a microphone as you
play it out the speaker, because the microphone only provides 1 second of
audio every second.  If you doubled the speed you would only have 1/2
second of audio output every second.

You can *totally *double the speed of a sound file, synthesizer or some
other non-realtime sound source.  You just need to grab twice as much audio
before you use your speed-changing algorithm to "resize" to the necessary
amount.

If you're doing the latter, just ignore all the confusing "it can't be
done" responses.  If you're trying to change the pitch on mic input, what
you need to do is time-stretch (or time-squish) the audio and then use
resampling to resize it back to the original length.  That will leave you
with 1 second per second of audio, just at a different pitch.  Make sure
the length comes out *exactly *the same or you'll get crackles!

– Evan Balster
creator of imitone 


On Wed, Oct 3, 2018 at 3:56 PM Alex Dashevski  wrote:

> Hi,
> Could you tell me how to use soundTouch API if I want only to do
> resampling ?
> I mean: convert from 48Khz to 8Khz or 8Khz to 48Khz
> I guess that setRate with SETTING_USE_AA_FILTER. What length should put ?
>
> I talk about
> https://gitlab.com/soundtouch/soundtouch/tree/master/source/SoundTouch
>
> Thanks,
> Alex
>
> ‫בתאריך יום ב׳, 1 באוק׳ 2018 ב-19:46 מאת ‪Nuno Santos‬‏ <‪
> nunosan...@imaginando.pt‬‏>:‬
>
>> Hey Alex,
>>
>> Have you seen this article before?
>>
>> https://www.surina.net/article/time-and-pitch-scaling.html
>>
>> It has a complete and detailed description on how time and pitch scaling
>> works.
>>
>> Hope it helps!
>>
>> Best regards,
>>
>> Nuno
>>
>> On 1 Oct 2018, at 17:30, Alex Dashevski  wrote:
>>
>> Hi,
>>
>> I got this answer from Robert:
>> WSOLA fundamentally does time-scaling.  time compression or time
>> stretching without changing pitch.  time-scaling is not normally thought of
>> as real-time because your input and output buffer pointers will collide.
>>
>>
>> My question is:
>> Why buffers will collide ?
>>
>> Thanks,
>> Alex
>> ___
>> 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

Re: [music-dsp] WSOLA on RealTime

2018-10-03 Thread Alex Dashevski
Hi,
Could you tell me how to use soundTouch API if I want only to do resampling
?
I mean: convert from 48Khz to 8Khz or 8Khz to 48Khz
I guess that setRate with SETTING_USE_AA_FILTER. What length should put ?

I talk about
https://gitlab.com/soundtouch/soundtouch/tree/master/source/SoundTouch

Thanks,
Alex

‫בתאריך יום ב׳, 1 באוק׳ 2018 ב-19:46 מאת ‪Nuno Santos‬‏ <‪
nunosan...@imaginando.pt‬‏>:‬

> Hey Alex,
>
> Have you seen this article before?
>
> https://www.surina.net/article/time-and-pitch-scaling.html
>
> It has a complete and detailed description on how time and pitch scaling
> works.
>
> Hope it helps!
>
> Best regards,
>
> Nuno
>
> On 1 Oct 2018, at 17:30, Alex Dashevski  wrote:
>
> Hi,
>
> I got this answer from Robert:
> WSOLA fundamentally does time-scaling.  time compression or time
> stretching without changing pitch.  time-scaling is not normally thought of
> as real-time because your input and output buffer pointers will collide.
>
>
> My question is:
> Why buffers will collide ?
>
> Thanks,
> Alex
> ___
> 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

Re: [music-dsp] WSOLA on RealTime

2018-10-01 Thread Eugene Cherny
Hi Alex, Your question was “why buffers will collide” in response to the Robert’s answer: “time-scaling is not normally thought of as real-time because your input and output buffer pointers will collide”. Did I understand correctly, that you want to understand why time stretching can’t be implemented in real-time? I assume you do for the rest of this letter. First of all, Robert said “buffer pointers will collide” and not “buffers will collide” — this is essential. You can think of buffer pointers as play-heads that move through audio. SOLA methods basically define such movements. Time stretching means you move the play-head slower than real-time. To do time compression you need to move this play-head faster than real-time. In case of pre-recorded audio this makes sense: you have the whole recording available and you may move your play-head any way you want. In the real-time case, however, if you try to move the play-head faster than sampling rate (i.e. do time compression), you'll exhaust your input buffer before you fill in the output buffer. IIUC, this is what Robert meant by colliding pointers (I may be wrong, as I don’t have much low-level DSP coding experience). And even if you create a big buffer of incoming audio before doing this operation, you’ll have to wait for the input buffer at some point. You can simulate time stretching in the real-time case by buffering input and moving the play-head through it slower than real-time. But in this case you’ll exhaust your memory at some point. Hope this helps. -- Kind regards,Eugene Chernyhttps://eugn.ch   01.10.2018, 20:07, "Alex Dashevski" :Hi,Yes. I have seen it but I didn't find the answer on my question.re or less samples and you must figure out how to remove the extra or add samples to be the correct number of samples in order for it to work on a  Thanks,Alex ‫בתאריך יום ב׳, 1 באוק׳ 2018 ב-19:46 מאת ‪Nuno Santos‬‏ <‪nunosan...@imaginando.pt‬‏>:‬Hey Alex, Have you seen this article before? https://www.surina.net/article/time-and-pitch-scaling.html It has a complete and detailed description on how time and pitch scaling works. Hope it helps!  Best regards, Nuno  On 1 Oct 2018, at 17:30, Alex Dashevski  wrote: Hi, I got this answer from Robert:WSOLA fundamentally does time-scaling.  time compression or time stretching without changing pitch.  time-scaling is not normally thought of as real-time because your input and output buffer pointers will collide.  My question is:Why buffers will collide ? Thanks,Alex___dupswapdrop: music-dsp mailing listmusic-dsp@music.columbia.eduhttps://lists.columbia.edu/mailman/listinfo/music-dsp___dupswapdrop: music-dsp mailing listmusic-dsp@music.columbia.eduhttps://lists.columbia.edu/mailman/listinfo/music-dsp ,___dupswapdrop: music-dsp mailing listmusic-dsp@music.columbia.eduhttps://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

Re: [music-dsp] WSOLA on RealTime

2018-10-01 Thread Nigel Redmon
I think if you try to code up a simple pitch shifter—say, with linear 
interpolation—you’ll figure it out pretty quickly. You have to write a sample 
before you read it, obviously, and to pitch up, the read pointer is moving 
faster than the write pointer—or slower to pitch down. The faster one will 
overtake the slower in a circular buffer. The bigger the buffer (and more 
initial delay to pitch up), the longer you can go before the collision, but the 
farther you get from anything resembling real time.

Depending on the circumstances, you can do tricks like resetting the read 
pointer (like a ramp waveform), relative to write, and chop up the audio. For 
instance, I did that in Echo Farm for the reverse echos. But as Robert said, if 
you stretch/compress time, and do pitch shifting up/down but he same factor, 
your position doesn’t grow or shrink over time. You just have a constant delay.

> On Oct 1, 2018, at 10:00 AM, Alex Dashevski  wrote:
> 
> Hi,
> Yes. I have seen it but I didn't find the answer on my question.
> 
> Thanks,
> Alex
> 
> ‫בתאריך יום ב׳, 1 באוק׳ 2018 ב-19:46 מאת ‪Nuno Santos‬‏ 
> <‪nunosan...@imaginando.pt ‬‏>:‬
> Hey Alex,
> 
> Have you seen this article before?
> 
> https://www.surina.net/article/time-and-pitch-scaling.html 
> 
> 
> It has a complete and detailed description on how time and pitch scaling 
> works.
> 
> Hope it helps! 
> 
> Best regards,
> 
> Nuno 
> 
>> On 1 Oct 2018, at 17:30, Alex Dashevski > > wrote:
>> 
>> Hi,
>> 
>> I got this answer from Robert:
>> WSOLA fundamentally does time-scaling.  time compression or time stretching 
>> without changing pitch.  time-scaling is not normally thought of as 
>> real-time because your input and output buffer pointers will collide.
>> 
>> 
>> My question is:
>> Why buffers will collide ?
>> 
>> Thanks,
>> Alex
>> ___
>> 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

Re: [music-dsp] WSOLA on RealTime

2018-10-01 Thread Alex Dashevski
Hi,
Yes. I have seen it but I didn't find the answer on my question.

Thanks,
Alex

‫בתאריך יום ב׳, 1 באוק׳ 2018 ב-19:46 מאת ‪Nuno Santos‬‏ <‪
nunosan...@imaginando.pt‬‏>:‬

> Hey Alex,
>
> Have you seen this article before?
>
> https://www.surina.net/article/time-and-pitch-scaling.html
>
> It has a complete and detailed description on how time and pitch scaling
> works.
>
> Hope it helps!
>
> Best regards,
>
> Nuno
>
> On 1 Oct 2018, at 17:30, Alex Dashevski  wrote:
>
> Hi,
>
> I got this answer from Robert:
> WSOLA fundamentally does time-scaling.  time compression or time
> stretching without changing pitch.  time-scaling is not normally thought of
> as real-time because your input and output buffer pointers will collide.
>
>
> My question is:
> Why buffers will collide ?
>
> Thanks,
> Alex
> ___
> 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

Re: [music-dsp] WSOLA on RealTime

2018-10-01 Thread Nuno Santos
Hey Alex,

Have you seen this article before?

https://www.surina.net/article/time-and-pitch-scaling.html 


It has a complete and detailed description on how time and pitch scaling works.

Hope it helps! 

Best regards,

Nuno 

> On 1 Oct 2018, at 17:30, Alex Dashevski  wrote:
> 
> Hi,
> 
> I got this answer from Robert:
> WSOLA fundamentally does time-scaling.  time compression or time stretching 
> without changing pitch.  time-scaling is not normally thought of as real-time 
> because your input and output buffer pointers will collide.
> 
> 
> My question is:
> Why buffers will collide ?
> 
> Thanks,
> Alex
> ___
> 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

[music-dsp] WSOLA on RealTime

2018-10-01 Thread Alex Dashevski
Hi,

I got this answer from Robert:
WSOLA fundamentally does time-scaling.  time compression or time stretching
without changing pitch.  time-scaling is not normally thought of as
real-time because your input and output buffer pointers will collide.


My question is:
Why buffers will collide ?

Thanks,
Alex
___
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Re: [music-dsp] WSOLA on RealTime

2018-09-30 Thread Alex Dashevski
Hi,

You said that it is impossible to change tempo of playing in real time on
audio buffer. Correct ?
It is possible only to shift pitch. Correct ?
But if I shift pitch and don't change the rate , is it the same as change
the rate and don't change the pitch ?


‫בתאריך יום א׳, 30 בספט׳ 2018 ב-10:30 מאת ‪Alex Dashevski‬‏ <‪
alexd...@gmail.com‬‏>:‬

> I need to undrestand how implemet pitch shift on audio buffer based on
> wsola and resample.
> Could you help ?
> Thanks,
> Alex
>
> ‫בתאריך יום ה׳, 27 בספט׳ 2018 ב-22:44 מאת ‪robert bristow-johnson‬‏ <‪
> r...@audioimagination.com‬‏>:‬
>
>>
>>
>>  Original Message ----
>> Subject: Re: [music-dsp] WSOLA on RealTime
>> From: "Alex Dashevski" 
>> Date: Thu, September 27, 2018 2:15 am
>> To: music-dsp@music.columbia.edu
>> Cc: "robert bristow-johnson" 
>> --
>>
>> > I don't understand your last sentence:
>> > "then, in real-time, you can use the time
>> > scaler make the more or fewer samples per block to be the same as
>> normal."
>>
>> this was in my original answer and it was about an application of
>> time-scaling to the playback of audio from a mass storage device (i think
>> either a hard disk or a CD or an MP3 from an iPod or something) at a faster
>> or slower rate than was original recorded.  if you're playing it back
>> faster, there are more samples per second than when recorded and the pitch
>> will be raised (this is like "fast-forward" with the old analog tape
>> technology).  if you're playing it back slower, there are fewer samples per
>> second than when recorded and the pitch is lowered.
>>
>> i know i have done fast-forward with a CD player and the pitch wasn't
>> raised but the music was chopped up, so it sounded glitchy besides being
>> fast tempo.  WSOLA could be employed in real time to make that fast forward
>> sound less glitchy (a phase vocoder would insure no glitches), have the
>> same pitch as when recorded, *and* still be sped up in tempo.
>>
>> > In the beginning of your answer, you said that I need to use WSOLA with
>> > resampling.
>>
>> *if* you're doing pitch-shifting.  and pitch-shifting in real-time makes
>> sense.
>>
>> but time-scaling with live input in real-time does not make sense.  and
>> it's not because of issues regarding finite computational bandwidth.  it's
>> because we can't look into the future (if you're speeding things up) nor
>> indefinitely into the past (with a finite amount of memory) if you're
>> slowing things down.
>>
>>
>>
>> --
>>
>> r b-j r...@audioimagination.com
>>
>> "Imagination is more important than knowledge."
>>
>>
>>
>>
>>
>>
>>
>> ___
>> 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

Re: [music-dsp] WSOLA on RealTime

2018-09-30 Thread Alex Dashevski
I need to undrestand how implemet pitch shift on audio buffer based on
wsola and resample.
Could you help ?
Thanks,
Alex

‫בתאריך יום ה׳, 27 בספט׳ 2018 ב-22:44 מאת ‪robert bristow-johnson‬‏ <‪
r...@audioimagination.com‬‏>:‬

>
>
>  Original Message 
> Subject: Re: [music-dsp] WSOLA on RealTime
> From: "Alex Dashevski" 
> Date: Thu, September 27, 2018 2:15 am
> To: music-dsp@music.columbia.edu
> Cc: "robert bristow-johnson" 
> --
>
> > I don't understand your last sentence:
> > "then, in real-time, you can use the time
> > scaler make the more or fewer samples per block to be the same as
> normal."
>
> this was in my original answer and it was about an application of
> time-scaling to the playback of audio from a mass storage device (i think
> either a hard disk or a CD or an MP3 from an iPod or something) at a faster
> or slower rate than was original recorded.  if you're playing it back
> faster, there are more samples per second than when recorded and the pitch
> will be raised (this is like "fast-forward" with the old analog tape
> technology).  if you're playing it back slower, there are fewer samples per
> second than when recorded and the pitch is lowered.
>
> i know i have done fast-forward with a CD player and the pitch wasn't
> raised but the music was chopped up, so it sounded glitchy besides being
> fast tempo.  WSOLA could be employed in real time to make that fast forward
> sound less glitchy (a phase vocoder would insure no glitches), have the
> same pitch as when recorded, *and* still be sped up in tempo.
>
> > In the beginning of your answer, you said that I need to use WSOLA with
> > resampling.
>
> *if* you're doing pitch-shifting.  and pitch-shifting in real-time makes
> sense.
>
> but time-scaling with live input in real-time does not make sense.  and
> it's not because of issues regarding finite computational bandwidth.  it's
> because we can't look into the future (if you're speeding things up) nor
> indefinitely into the past (with a finite amount of memory) if you're
> slowing things down.
>
>
>
> --
>
> r b-j r...@audioimagination.com
>
> "Imagination is more important than knowledge."
>
>
>
>
>
>
>
> ___
> 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

Re: [music-dsp] WSOLA on RealTime

2018-09-27 Thread Vladimir Pantelic
On Thu, Sep 27, 2018, 19:39 Alex Dashevski  wrote:

> Hi,
> The current code has problem.
> if I send you the current code, can you help me with implementation ? Are
> you familiar with android ?
>

comp.dsp would read: "please do my homework for me"
___
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Re: [music-dsp] WSOLA on RealTime

2018-09-27 Thread robert bristow-johnson







 Original Message 

Subject: Re: [music-dsp] WSOLA on RealTime

From: "Alex Dashevski" 

Date: Thu, September 27, 2018 2:15 am

To: music-dsp@music.columbia.edu

Cc: "robert bristow-johnson" 

--



> I don't understand your last sentence:

> "then, in real-time, you can use the time

> scaler make the more or fewer samples per block to be the same as normal."
this was in my original answer and it was about an application of time-scaling 
to the playback of audio from a mass storage device (i think either a hard disk 
or a CD or an MP3 from an iPod or something) at a
faster or slower rate than was original recorded.� if you're playing it back 
faster, there are more samples per second than when recorded and the pitch will 
be raised (this is like "fast-forward" with the old analog tape technology).� 
if you're playing it back slower, there are
fewer samples per second than when recorded and the pitch is lowered.�


i know i have done fast-forward with a CD player and the pitch wasn't raised 
but the music was chopped up, so it sounded glitchy besides being fast tempo.� 
WSOLA could be employed in real time to make that fast forward sound less 
glitchy (a phase vocoder would insure no glitches), have the same
pitch as when recorded, *and* still be sped up in tempo.


> In the beginning of your answer, you said that I need to use WSOLA with

> resampling.
*if* you're doing pitch-shifting.� and pitch-shifting in real-time makes sense.
but time-scaling with live input in real-time does not make sense.� and it's 
not because of issues regarding finite computational bandwidth.� it's because 
we can't look into
the future (if you're speeding things up) nor indefinitely into the past (with 
a finite amount of memory) if you're slowing things down.
�
--


r b-j� � � � � � � � � � � � �r...@audioimagination.com



"Imagination is more important than knowledge."

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

Re: [music-dsp] WSOLA on RealTime

2018-09-27 Thread Spencer Jackson
Alex:

Any algorithm with a deterministic computation time can be applied in
real-time if latency is sufficient enough. Are you familiar with the idea
of copying the stream to a buffer then applying the algorithm and
outputting the older data which the algorithm has already been applied to?
Adding latency like this and processing in blocks is the standard method
that allows very cpu heavy processing to be applied to a real-time stream.
The only real requirement for real-time processes is to output the same
number of samples as the input (at the same sample rate).

Pitch shifting methods stretch or shrink the signal creating more or less
samples and you must figure out how to remove the extra or add samples to
be the correct number of samples in order for it to work on a real-time
audio stream. This is the resampling part and there are many ways to
address it.

I think we might be able to help more if you can ask more specific
questions about the implementation details you are struggling with.

_Spencer

On Thu, Sep 27, 2018 at 12:16 AM Alex Dashevski  wrote:

> Hi Robert,
>
> I don't understand your last sentence:
> "then, in real-time, you can use the time
> scaler  make the more or fewer samples per block to be the same as normal."
>
> In the beginning of your answer, you said that I need to use WSOLA with
> resampling.
>
> I have problem with implementation. Can you help ?
>
> Thanks,
> Alex
>
> 2018-09-27 0:25 GMT+03:00 Jacob Penn :
>
>> Ahh yeah I gotcha,
>>
>> Yes, in the case of slow down, there Is a finite amount you’re able to
>> slow down based on the size of the circular buffer of input data in use.
>>
>> In my personal applications I offer users the ability to restart the
>> stretch from the writehead at a musical value. Conveniently the slowest
>> rate for this control will stop the overflow ; )
>>
>> Can sound quite nice!
>>
>> Best,
>>
>> [image: insignia] <http://jakemumu.github.io/>
>> JACOB PENN.MUMUKSHU
>> 612.388.5992
>>
>> On September 26, 2018 at 2:21:29 PM, robert bristow-johnson (
>> r...@audioimagination.com) wrote:
>>
>>
>>
>>  Original Message 
>> Subject: Re: [music-dsp] WSOLA on RealTime
>> From: "Jacob Penn" 
>> Date: Wed, September 26, 2018 5:00 pm
>> To: r...@audioimagination.com
>> music-dsp@music.columbia.edu
>> --
>>
>> > You can indeed do it on real time audio but the tricks is like the
>> previous
>> > email, you’ll need to devise strategies for pitching things up, as
>> you’ll
>> > be lacking the necessary information to move faster across the buffer
>> from
>> > the write head position.
>> >
>> > You’ll also obviously only be able to slow down a signal, and not speed
>> it
>> > up.
>>
>> no, even if you slow it down, any finite-sized buffer will eventually
>> overflow.  i presume you mean time-scaling (not pitch shifting) using WSOLA.
>>
>> by "real-time", i mean live samples going in and (assuming no sample rate
>> conversion) the same number of samples going out in a given period of
>> time.  with an upper bound of delay (and the lower bound is imposed by
>> causality) and the process can run indefinitely.  so if you're slowing down
>> audio in real-time and you're running this process for a day.  or for a
>> year.
>>
>>
>> --
>>
>> r b-j r...@audioimagination.com
>>
>> "Imagination is more important than knowledge."
>>
>>
>>
>>
>>
>>
>>
>> ___
>> 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

Re: [music-dsp] WSOLA on RealTime

2018-09-27 Thread alex dashevski
Hi,

I don't understand what do you mean. Could you explain ?

 

2018-09-27 16:17 GMT+03:00 gm mailto:g...@voxangelica.net> >:

 

I had different solution, where the lag is reset to zero during a musical 
period.

Kind of a tape speed-up effekt without the pitch change.

Not always useful though.

 

Am 26.09.2018 um 23:25 schrieb Jacob Penn:

Ahh yeah I gotcha,B 

 

Yes, in the case of slow down, there Is a finite amount youb to slow down based 
on the size of the circular buffer of input data in use.

 

In my personal applications I offer users the ability to restart the stretch 
from the writehead at a musical value. Conveniently the slowest rate for this 
control will stop the overflow ; )

 

Can sound quite nice!

 

Best,B 

 

 <http://jakemumu.github.io/> 

JACOB PENN.MUMUKSHU 
612.388.5992 

 

On September 26, 2018 at 2:21:29 PM, robert bristow-johnson 
(r...@audioimagination.com <mailto:r...@audioimagination.com> ) wrote:



 Original Message ----
Subject: Re: [music-dsp] WSOLA on RealTime
From: "Jacob Penn" mailto:penn.ja...@gmail.com> >
Date: Wed, September 26, 2018 5:00 pm
To: r...@audioimagination.com <mailto:r...@audioimagination.com> 
music-dsp@music.columbia.edu <mailto:music-dsp@music.columbia.edu> 
--

> You can indeed do it on real time audio but the tricks is like the previous
> email, youb pitching things up, as youb > be lacking the necessary 
> information to move faster across the buffer from
> the write head position.
>
> Youb signal, and not speed it
> up.

no, even if you slow it down, any finite-sized buffer will eventually 
overflow.B i presume you mean time-scaling (not pitch shifting) using WSOLA.

by "real-time", i mean live samples going in and (assuming no sample rate 
conversion) the same number of samples going out in a given period of time.B 
with an upper bound of delay (and the lower bound is imposed by causality) and 
the process can run indefinitely.B so if you're slowing down audio in real-time 
and you're running this process for a day.B or for a year.


--

r b-jB B B B B B B B B B B B B r...@audioimagination.com 
<mailto:r...@audioimagination.com> 

"Imagination is more important than knowledge."
B 

B 

B 

B 

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

 


___
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

Re: [music-dsp] WSOLA on RealTime

2018-09-27 Thread gm


I had different solution, where the lag is reset to zero during a 
musical period.


Kind of a tape speed-up effekt without the pitch change.

Not always useful though.


Am 26.09.2018 um 23:25 schrieb Jacob Penn:

Ahh yeah I gotcha,

Yes, in the case of slow down, there Is a finite amount youb> slow down based 
on the size of the circular buffer of input data in use.

In my personal applications I offer users the ability to restart the 
stretch from the writehead at a musical value. Conveniently the 
slowest rate for this control will stop the overflow ; )


Can sound quite nice!

Best,

insignia <http://jakemumu.github.io/>
JACOB PENN.MUMUKSHU
612.388.5992

On September 26, 2018 at 2:21:29 PM, robert bristow-johnson 
(r...@audioimagination.com <mailto:r...@audioimagination.com>) wrote:





 Original Message 


Subject: Re: [music-dsp] WSOLA on RealTime
From: "Jacob Penn" mailto:penn.ja...@gmail.com>>
Date: Wed, September 26, 2018 5:00 pm
To: r...@audioimagination.com <mailto:r...@audioimagination.com>
music-dsp@music.columbia.edu <mailto:music-dsp@music.columbia.edu>
--

> You can indeed do it on real time audio but the tricks is like the 
previous
> email, youb>> youb>> > be lacking the necessary information to move faster across the 
buffer from

> the write head position.
>
> Youb>> speed it
> up.

no, even if you slow it down, any finite-sized buffer will eventually 
overflow.B  i presume you mean time-scaling (not pitch shifting) using 
WSOLA.


by "real-time", i mean live samples going in and (assuming no sample 
rate conversion) the same number of samples going out in a given 
period of time.B  with an upper bound of delay (and the lower bound is 
imposed by causality) and the process can run indefinitely.B  so if 
you're slowing down audio in real-time and you're running this 
process for a day.B  or for a year.



--

r b-j r...@audioimagination.com <mailto:r...@audioimagination.com>

"Imagination is more important than knowledge."

___
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

Re: [music-dsp] WSOLA on RealTime

2018-09-27 Thread Alex Dashevski
Hi Robert,

I don't understand your last sentence:
"then, in real-time, you can use the time
scaler  make the more or fewer samples per block to be the same as normal."

In the beginning of your answer, you said that I need to use WSOLA with
resampling.

I have problem with implementation. Can you help ?

Thanks,
Alex

2018-09-27 0:25 GMT+03:00 Jacob Penn :

> Ahh yeah I gotcha,
>
> Yes, in the case of slow down, there Is a finite amount you’re able to
> slow down based on the size of the circular buffer of input data in use.
>
> In my personal applications I offer users the ability to restart the
> stretch from the writehead at a musical value. Conveniently the slowest
> rate for this control will stop the overflow ; )
>
> Can sound quite nice!
>
> Best,
>
> [image: insignia] <http://jakemumu.github.io/>
> JACOB PENN.MUMUKSHU
> 612.388.5992
>
> On September 26, 2018 at 2:21:29 PM, robert bristow-johnson (
> r...@audioimagination.com) wrote:
>
>
>
> ------------ Original Message 
> Subject: Re: [music-dsp] WSOLA on RealTime
> From: "Jacob Penn" 
> Date: Wed, September 26, 2018 5:00 pm
> To: r...@audioimagination.com
> music-dsp@music.columbia.edu
> --
>
> > You can indeed do it on real time audio but the tricks is like the
> previous
> > email, you’ll need to devise strategies for pitching things up, as you’ll
> > be lacking the necessary information to move faster across the buffer
> from
> > the write head position.
> >
> > You’ll also obviously only be able to slow down a signal, and not speed
> it
> > up.
>
> no, even if you slow it down, any finite-sized buffer will eventually
> overflow.  i presume you mean time-scaling (not pitch shifting) using WSOLA.
>
> by "real-time", i mean live samples going in and (assuming no sample rate
> conversion) the same number of samples going out in a given period of
> time.  with an upper bound of delay (and the lower bound is imposed by
> causality) and the process can run indefinitely.  so if you're slowing down
> audio in real-time and you're running this process for a day.  or for a
> year.
>
>
> --
>
> r b-j r...@audioimagination.com
>
> "Imagination is more important than knowledge."
>
>
>
>
>
>
>
> ___
> 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

Re: [music-dsp] WSOLA on RealTime

2018-09-26 Thread Jacob Penn
Ahh yeah I gotcha,

Yes, in the case of slow down, there Is a finite amount you’re able to slow
down based on the size of the circular buffer of input data in use.

In my personal applications I offer users the ability to restart the
stretch from the writehead at a musical value. Conveniently the slowest
rate for this control will stop the overflow ; )

Can sound quite nice!

Best,

[image: insignia] <http://jakemumu.github.io/>
JACOB PENN.MUMUKSHU <http://jakemumu.github.io/>
612.388.5992

On September 26, 2018 at 2:21:29 PM, robert bristow-johnson (
r...@audioimagination.com) wrote:



 Original Message 
Subject: Re: [music-dsp] WSOLA on RealTime
From: "Jacob Penn" 
Date: Wed, September 26, 2018 5:00 pm
To: r...@audioimagination.com
music-dsp@music.columbia.edu
--

> You can indeed do it on real time audio but the tricks is like the
previous
> email, you’ll need to devise strategies for pitching things up, as you’ll
> be lacking the necessary information to move faster across the buffer from
> the write head position.
>
> You’ll also obviously only be able to slow down a signal, and not speed it
> up.

no, even if you slow it down, any finite-sized buffer will eventually
overflow.  i presume you mean time-scaling (not pitch shifting) using WSOLA.

by "real-time", i mean live samples going in and (assuming no sample rate
conversion) the same number of samples going out in a given period of
time.  with an upper bound of delay (and the lower bound is imposed by
causality) and the process can run indefinitely.  so if you're slowing down
audio in real-time and you're running this process for a day.  or for a
year.


--

r b-j r...@audioimagination.com

"Imagination is more important than knowledge."







___
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

Re: [music-dsp] WSOLA on RealTime

2018-09-26 Thread robert bristow-johnson







 Original Message 

Subject: Re: [music-dsp] WSOLA on RealTime

From: "Jacob Penn" 

Date: Wed, September 26, 2018 5:00 pm

To: r...@audioimagination.com

music-dsp@music.columbia.edu

--



> You can indeed do it on real time audio but the tricks is like the previous

> email, youll need to devise strategies for pitching things up, as 
> youll

> be lacking the necessary information to move faster across the buffer from

> the write head position.

>

> Youll also obviously only be able to slow down a signal, and not speed 
> it

> up.
no, even if you slow it down, any finite-sized buffer will eventually 
overflow.� i presume you mean time-scaling (not pitch shifting) using WSOLA.
by "real-time", i mean live samples going in and (assuming no sample rate 
conversion) the same number of samples
going out in a given period of time.� with an upper bound of delay (and the 
lower bound is imposed by causality) and the process can run indefinitely.� so 
if you're slowing down audio in real-time and you're running this process for a 
day.� or for a year.

--



r b-j� � � � � � � � � � � � �r...@audioimagination.com



"Imagination is more important than knowledge."

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

Re: [music-dsp] WSOLA on RealTime

2018-09-26 Thread Jacob Penn
You can indeed do it on real time audio but the tricks is like the previous
email, you’ll need to devise strategies for pitching things up, as you’ll
be lacking the necessary information to move faster across the buffer from
the write head position.

You’ll also obviously only be able to slow down a signal, and not speed it
up.

Best,

[image: insignia] <http://jakemumu.github.io/>
JACOB PENN.MUMUKSHU <http://jakemumu.github.io/>
612.388.5992

On September 26, 2018 at 1:50:37 PM, robert bristow-johnson (
r...@audioimagination.com) wrote:



WSOLA fundamentally does time-scaling.  time compression or time stretching
without changing pitch.  time-scaling is not normally thought of as
real-time because your input and output buffer pointers will collide.

combining time-scaling with resampling can make a pitch shifter (changes
pitch without changing speed or tempo) and that **can** and often is
real-time.  whatever stretching or compression the time-scaler does that
changes the length of the sound is undone by the resampling.  it's like if
you pitch it up an octave, the time-scaler (WSOLA or phase-vocoder or
whatever technique) makes your audio twice as long (and half as fast)
without changing pitch.  then you play that elongated audio back at twice
the speed which brings it back to the original tempo but the pitch is
bumped up an octave.

for playback of audio from a hard disk or some other mass storage, you can
use WSOLA or slow down or speed up the playback (without changing pitch)
but your playback device has to output more samples than normal if you're
speeding it up or fewer samples than normal to slow it down.  then, in
real-time, you can use the time scaler  make the more or fewer samples per
block to be the same as normal.

--

r b-j


 Original Message ----
Subject: [music-dsp] WSOLA on RealTime
From: "Alex Dashevski" 
Date: Wed, September 26, 2018 3:25 pm
To: music-dsp@music.columbia.edu
--

> Can I implement WSOLA on realtime(audio buffer) ?
> I need to do resampling ? Right ?
>
> Thanks,
> Alex
> ___
> dupswapdrop: music-dsp mailing list
> music-dsp@music.columbia.edu
> https://lists.columbia.edu/mailman/listinfo/music-dsp








--

r b-j r...@audioimagination.com

"Imagination is more important than knowledge."







___
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

[music-dsp] WSOLA on RealTime

2018-09-26 Thread Alex Dashevski
Can I implement WSOLA on realtime(audio buffer) ?
I need to do resampling ? Right ?

Thanks,
Alex
___
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Re: [music-dsp] WSOLA on RealTime

2018-09-03 Thread Alex Dashevski
Who can help me please ?

2018-09-01 14:36 GMT+03:00 Alex Dashevski :

> Hi,
>
> I found this code:
> https://gitlab.com/soundtouch/soundtouch/blob/master/source/
> SoundStretch/main.cpp
> It is implantation of the WSOLA in cpp that read input from file and write
> changed audio to output file.
> I want to change openFiles function so that, reading the audio from
> microphone and play with delay after on real time.
> What changes do I need to do ?
>
> Thanks,
> Alex
>
___
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

[music-dsp] WSOLA on RealTime

2018-09-01 Thread Alex Dashevski
Hi,

I found this code:
https://gitlab.com/soundtouch/soundtouch/blob/master/source/SoundStretch/main.cpp
It is implantation of the WSOLA in cpp that read input from file and write
changed audio to output file.
I want to change openFiles function so that, reading the audio from
microphone and play with delay after on real time.
What changes do I need to do ?

Thanks,
Alex
___
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Re: [music-dsp] WSOLA on Real Time

2018-07-27 Thread Alex Dashevski
I'm not sure if I understand your questions but it seems that answers are
true.

2018-07-28 4:16 GMT+03:00 robert bristow-johnson :

>
>
>
> so i want to get this straight.  1. you're coding in C or something that
> looks like C.  2. you have a utility to get samples from the ADC and to put
> samples to the DAC.
>
>
>
> might a passthru app have this for the sample processing loop?:
>
>
>
>while(TRUE)
>{
>float x = getsample();
>float y = x; // a wire
>putsample(y);
>}
>
>
>
> do you have something like that to pass samples through and you can hear
> the output?  and you've implemented a filter inside of that context
> (instead of the line of code that is "a wire")?
>
> r b-j
>
>
>
>
> ---- Original Message 
> Subject: Re: [music-dsp] WSOLA on Real Time
> From: "Alex Dashevski" 
> Date: Fri, July 27, 2018 5:02 pm
> To: "robert bristow-johnson" 
> music-dsp@music.columbia.edu
> --
>
>
> > Hi.
> >
> > It's for school project. My project is based on open source code from
> > google examples:
> > https://github.com/googlesamples/android-ndk/tree/master/audio-echo
> > I need to add to this code the WSOLA. That means, implement Filters, and
> > algorithm. I have already filter but I am not sure if it's good.
> > I understood that I also need to do resampling for real time because of
> > detection a pitch.
> > I also can use pitch shifting but I can't understand if it instead of
> using
> > the WSOLA ?
> >
> > Thanks,
> > Alex
> >
> >
> > 2018-07-27 23:16 GMT+03:00 robert bristow-johnson <
> r...@audioimagination.com>
> > :
> >
> >> Alex,
> >>
> >> may i ask you where you are regarding development on the android? you're
> >> coding in C++ or C (or is it C# or something)?
> >>
> >> are you at a place where you can make a simple "passthru" app where you
> >> can input samples from the ADC and output them to the DAC? if you are
> >> there, can you make a simple delay line (you will need to do modulo
> >> arithmetic on the array indices, which is why i recommend making these
> >> delay line buffers a power of 2 in length and using the "&" operator to
> >> mask off bits, which might be more efficient than the "%" operator)?
> have
> >> you done other things like a simple biquad filter or an FIR?
> >>
> >> because, to do this correctly, you will need to code up something like a
> >> pitch detector to implement the "WS" part of the algorithm. it can be
> >> done, crudely, with maybe 20 or 30 lines of code, but that's where some
> >> things get difficult. then you will have to implement a *sliding* delay
> on
> >> the previously mentioned delay buffer.
> >>
> >> if you're willing to publish the end-result code here or at Stack
> Exchange
> >> or some other public domain, i am willing to help you do this.
> >>
> >> if it's for profit, then we would have to talk about it directly and
> >> privately.
> >>
> >> bestest,
> >>
> >>
> >> --
> >>
> >> r b-j r...@audioimagination.com
> >>
> >> "Imagination is more important than knowledge."
> >>
> >>
> >>
> >>
> >>  Original Message
> 
> >> Subject: Re: [music-dsp] WSOLA on Real Time
> >>
> From: "Alex Dashevski" 
> >> Date: Fri, July 27, 2018 10:50 am
> >> To: music-dsp@music.columbia.edu
> >> m...@pingdynasty.com
> >> 
> --
> >>
> >>
> >> > Hi,
> >> >
> >> > a) I tried to understand the tarsosdsp code and read the theory about
> >> > WSOLA. The formulas difficult to understand.
> >> > b) My goal is change frequency the input of audio of android.
> >> > c) What is your right solution ?
> >> >
> >> > Thanks,
> >> > Alex
> >> >
> >> > 2018-07-27 17:37 GMT+03:00 Martin Klang :
> >> >
> >> >>
> >> >> It helps if you let us know a) what you've tried and researched
> already,
> >> >> b) what you plan to use it for, and c) why you thin

Re: [music-dsp] WSOLA on Real Time

2018-07-27 Thread robert bristow-johnson





�
so i want to get this straight.� 1. you're coding in C or something that looks 
like C.� 2. you have a utility to get samples from the ADC and to put samples 
to the DAC.
�
might a passthru app have this for the sample processing loop?:
�
�
�while(TRUE)
� �{

� �float x = getsample();

� �float y = x;� � � � � � � � � � � � � � �// a wire

� �putsample(y);

� �}
�
do you have something like that to pass samples through and you can hear the 
output?� and you've implemented a filter inside of that context (instead of the 
line of code that is "a wire")?
r b-j
�


 Original Message 

Subject: Re: [music-dsp] WSOLA on Real Time

From: "Alex Dashevski" 

Date: Fri, July 27, 2018 5:02 pm

To: "robert bristow-johnson" 

music-dsp@music.columbia.edu

--



> Hi.

>

> It's for school project. My project is based on open source code from

> google examples:

> https://github.com/googlesamples/android-ndk/tree/master/audio-echo

> I need to add to this code the WSOLA. That means, implement Filters, and

> algorithm. I have already filter but I am not sure if it's good.

> I understood that I also need to do resampling for real time because of

> detection a pitch.

> I also can use pitch shifting but I can't understand if it instead of using

> the WSOLA ?

>

> Thanks,

> Alex

>

>

> 2018-07-27 23:16 GMT+03:00 robert bristow-johnson 

> :

>

>> Alex,

>>

>> may i ask you where you are regarding development on the android? you're

>> coding in C++ or C (or is it C# or something)?

>>

>> are you at a place where you can make a simple "passthru" app where you

>> can input samples from the ADC and output them to the DAC? if you are

>> there, can you make a simple delay line (you will need to do modulo

>> arithmetic on the array indices, which is why i recommend making these

>> delay line buffers a power of 2 in length and using the "&" operator to

>> mask off bits, which might be more efficient than the "%" operator)? have

>> you done other things like a simple biquad filter or an FIR?

>>

>> because, to do this correctly, you will need to code up something like a

>> pitch detector to implement the "WS" part of the algorithm. it can be

>> done, crudely, with maybe 20 or 30 lines of code, but that's where some

>> things get difficult. then you will have to implement a *sliding* delay on

>> the previously mentioned delay buffer.

>>

>> if you're willing to publish the end-result code here or at Stack Exchange

>> or some other public domain, i am willing to help you do this.

>>

>> if it's for profit, then we would have to talk about it directly and

>> privately.

>>

>> bestest,

>>

>>

>> --

>>

>> r b-j r...@audioimagination.com

>>

>> "Imagination is more important than knowledge."

>>

>>

>>

>>

>>  Original Message 

>> Subject: Re: [music-dsp] WSOLA on Real Time

>>

From: "Alex Dashevski" 

>> Date: Fri, July 27, 2018 10:50 am

>> To: music-dsp@music.columbia.edu

>> m...@pingdynasty.com

>> --

>>

>>

>> > Hi,

>> >

>> > a) I tried to understand the tarsosdsp code and read the theory about

>> > WSOLA. The formulas difficult to understand.

>> > b) My goal is change frequency the input of audio of android.

>> > c) What is your right solution ?

>> >

>> > Thanks,

>> > Alex

>> >

>> > 2018-07-27 17:37 GMT+03:00 Martin Klang :

>> >

>> >>

>> >> It helps if you let us know a) what you've tried and researched already,

>> >> b) what you plan to use it for, and c) why you think WSOLA is the right

>> >> solution.

>> >>

>> >> WSOLA doesn't have a 'simple explanation and implementation', but if

>> what

>> >> you want is just some code that does the job and lets you worry about

>> other

>> >> things then how about:

>> >> https://stackoverflow.com/questions/37386410/realtime-

>> >> pitch-shifting-using-tarsosdsp-on-android

>> >>

>> >> And since you've already asked this question on the TarsosDSP forum I'm

>> >> surprised you've not seen that.

>> >>

>> >> Oh look, here's a time stretch example:

>>

Re: [music-dsp] WSOLA on Real Time

2018-07-27 Thread Alex Dashevski
Hi.

It's for school project. My project is based on open source code from
google examples:
https://github.com/googlesamples/android-ndk/tree/master/audio-echo
I need to add to this code the WSOLA. That means, implement Filters, and
algorithm. I have already filter but I am not sure if it's good.
I understood that I also need to do resampling for real time because of
detection a pitch.
I also can use pitch shifting but I can't understand if it instead of using
the WSOLA ?

Thanks,
Alex


2018-07-27 23:16 GMT+03:00 robert bristow-johnson 
:

> Alex,
>
> may i ask you where you are regarding development on the android?  you're
> coding in C++ or C (or is it C# or something)?
>
> are you at a place where you can make a simple "passthru" app where you
> can input samples from the ADC and output them to the DAC?  if you are
> there, can you make a simple delay line (you will need to do modulo
> arithmetic on the array indices, which is why i recommend making these
> delay line buffers a power of 2 in length and using the "&" operator to
> mask off bits, which might be more efficient than the "%" operator)?  have
> you done other things like a simple biquad filter or an FIR?
>
> because, to do this correctly, you will need to code up something like a
> pitch detector to implement the "WS" part of the algorithm.  it can be
> done, crudely, with maybe 20 or 30 lines of code, but that's where some
> things get difficult.  then you will have to implement a *sliding* delay on
> the previously mentioned delay buffer.
>
> if you're willing to publish the end-result code here or at Stack Exchange
> or some other public domain, i am willing to help you do this.
>
> if it's for profit, then we would have to talk about it directly and
> privately.
>
> bestest,
>
>
> --
>
> r b-j r...@audioimagination.com
>
> "Imagination is more important than knowledge."
>
>
>
>
>  Original Message 
> Subject: Re: [music-dsp] WSOLA on Real Time
> From: "Alex Dashevski" 
> Date: Fri, July 27, 2018 10:50 am
> To: music-dsp@music.columbia.edu
> m...@pingdynasty.com
> --
>
>
> > Hi,
> >
> > a) I tried to understand the tarsosdsp code and read the theory about
> > WSOLA. The formulas difficult to understand.
> > b) My goal is change frequency the input of audio of android.
> > c) What is your right solution ?
> >
> > Thanks,
> > Alex
> >
> > 2018-07-27 17:37 GMT+03:00 Martin Klang :
> >
> >>
> >> It helps if you let us know a) what you've tried and researched already,
> >> b) what you plan to use it for, and c) why you think WSOLA is the right
> >> solution.
> >>
> >> WSOLA doesn't have a 'simple explanation and implementation', but if
> what
> >> you want is just some code that does the job and lets you worry about
> other
> >> things then how about:
> >> https://stackoverflow.com/questions/37386410/realtime-
> >> pitch-shifting-using-tarsosdsp-on-android
> >>
> >> And since you've already asked this question on the TarsosDSP forum I'm
> >> surprised you've not seen that.
> >>
> >> Oh look, here's a time stretch example:
> >> https://github.com/JorenSix/TarsosDSP/blob/master/src/
> >> examples/be/tarsos/dsp/example/TimeStretch.java
> >>
> >> best,
> >>
> >> Martin let-me-google-that-for-you Klang
> >>
> >>
> >>
> >> On 27/07/18 11:47, Alex Dashevski wrote:
> >>
> >> Hi,
> >> All materials and code that I found on google and GitHub have not real
> >> time implementation(that means, signal is known in advance)
> >> I understand that in this case, I need to do resampling before and
> after.
> >>
> >> Thanks,
> >> Alex
> >>
> >> 2018-07-26 3:22 GMT+03:00 :
> >>
> >>> Not everbody reads mails every day so it might be an idea to wait for
> >>> replies before pushing.
> >>>
> >>> I am not an expert on this subject but my company is so I would put it
> >>> this way:
> >>>
> >>> 1) To my mind, there is no simpler explanation than given in the Wiki.
> At
> >>> least this is an entrypoint to start reading. More comprehensive
> material
> >>> can be found in several DSP literature but they might not be easy
> since the
> >>> subject is not easy.
> >>>
> >>&g

Re: [music-dsp] WSOLA on Real Time

2018-07-27 Thread robert bristow-johnson



Alex,
may i ask you where you are regarding development on the android?� you're 
coding in C++ or C (or is it C# or something)?
are you at a place where you can make a simple "passthru" app where you can 
input samples from the ADC and output them to the DAC?� if you
are there, can you make a simple delay line (you will need to do modulo 
arithmetic on the array indices, which is why i recommend making these delay 
line buffers a power of 2 in length and using the "&" operator to mask off 
bits, which might be more efficient than the "%"
operator)?� have you done other things like a simple biquad filter or an FIR?
because, to do this correctly, you will need to code up something like a pitch 
detector to implement the "WS" part of the algorithm.� it can be done, crudely, 
with maybe 20 or 30 lines of code,
but that's where some things get difficult.� then you will have to implement a 
*sliding* delay on the previously mentioned delay buffer.
if you're willing to publish the end-result code here or at Stack Exchange or 
some other public domain, i am willing to help you do this.
if it's
for profit, then we would have to talk about it directly and privately.
bestest,

--



r b-j� � � � � � � � � � � � �r...@audioimagination.com



"Imagination is more important than knowledge."
�


 Original Message ----

Subject: Re: [music-dsp] WSOLA on Real Time

From: "Alex Dashevski" 

Date: Fri, July 27, 2018 10:50 am

To: music-dsp@music.columbia.edu

m...@pingdynasty.com

--



> Hi,

>

> a) I tried to understand the tarsosdsp code and read the theory about

> WSOLA. The formulas difficult to understand.

> b) My goal is change frequency the input of audio of android.

> c) What is your right solution ?

>

> Thanks,

> Alex

>

> 2018-07-27 17:37 GMT+03:00 Martin Klang :

>

>>

>> It helps if you let us know a) what you've tried and researched already,

>> b) what you plan to use it for, and c) why you think WSOLA is the right

>> solution.

>>

>> WSOLA doesn't have a 'simple explanation and implementation', but if what

>> you want is just some code that does the job and lets you worry about other

>> things then how about:

>> https://stackoverflow.com/questions/37386410/realtime-

>> pitch-shifting-using-tarsosdsp-on-android

>>

>> And since you've already asked this question on the TarsosDSP forum I'm

>> surprised you've not seen that.

>>

>> Oh look, here's a time stretch example:

>> https://github.com/JorenSix/TarsosDSP/blob/master/src/

>> examples/be/tarsos/dsp/example/TimeStretch.java

>>

>> best,

>>

>> Martin let-me-google-that-for-you Klang

>>

>>

>>

>> On 27/07/18 11:47, Alex Dashevski wrote:

>>

>> Hi,

>> All materials and code that I found on google and GitHub have not real

>> time implementation(that means, signal is known in advance)

>> I understand that in this case, I need to do resampling before and after.

>>

>> Thanks,

>> Alex

>>

>> 2018-07-26 3:22 GMT+03:00 :

>>

>>> Not everbody reads mails every day so it might be an idea to wait for

>>> replies before pushing.

>>>

>>> I am not an expert on this subject but my company is so I would put it

>>> this way:

>>>

>>> 1) To my mind, there is no simpler explanation than given in the Wiki. At

>>> least this is an entrypoint to start reading. More comprehensive material

>>> can be found in several DSP literature but they might not be easy since the

>>> subject is not easy.

>>>

>>> 2) There is not only on "WSOLA" implementation. It is all about details

>>> and requirements. What in detail do you want to do?

>>>

>>> 3) Even, if people have code ready fpr your app, they cannot give it way

>>> that easily because it might be covered by their company. Me i am not allow

>>> to post code at all.

>>>

>>> I suggest you search the github projects for code coming close to your

>>> needs?

>>>

>>> Rolf

>>>

>>> *Gesendet:* Mittwoch, 25. Juli 2018 um 20:41 Uhr

>>> *Von:* "Alex Dashevski" 

>>> *An:* music-dsp@music.columbia.edu

>>> *Betreff:* Re: [music-dsp] WSOLA on Real Time

>>> Hi,

>>> Could you help ?

>>>

>>> 2018-07-24 9:18 GMT+03:00 Alex Dashevski :

>>>>

>>>> Hi.

>>>>

>>>> I'm looking for a simple expla

Re: [music-dsp] WSOLA on Real Time

2018-07-27 Thread Martin Klang


There are many ways to do real time pitch shift, which one is right for 
you will depend on things like

- what flaws and artifacts you consider acceptable
- your use constraints: pitch shift range, granularity et c
- processor and memory constraints
- the engineering skills and capacity that you have at your disposal

There's a nice review of some fairly advanced techniques, including 
WSOLA, here:

http://www.mdpi.com/2076-3417/6/2/57/pdf

It's a complex problem, so be prepared for complex solutions!


Martin


On 27/07/18 15:50, Alex Dashevski wrote:

Hi,

a) I tried to understand the tarsosdsp code and read the theory about 
WSOLA. The formulas difficult to understand.

b) My goal is change frequency the input of audio of android.
c) What is your right solution ?

Thanks,
Alex

2018-07-27 17:37 GMT+03:00 Martin Klang <mailto:m...@pingdynasty.com>>:



It helps if you let us know a) what you've tried and researched
already, b) what you plan to use it for, and c) why you think
WSOLA is the right solution.

WSOLA doesn't have a 'simple explanation and implementation', but
if what you want is just some code that does the job and lets you
worry about other things then how about:

https://stackoverflow.com/questions/37386410/realtime-pitch-shifting-using-tarsosdsp-on-android

<https://stackoverflow.com/questions/37386410/realtime-pitch-shifting-using-tarsosdsp-on-android>

And since you've already asked this question on the TarsosDSP
forum I'm surprised you've not seen that.

Oh look, here's a time stretch example:

https://github.com/JorenSix/TarsosDSP/blob/master/src/examples/be/tarsos/dsp/example/TimeStretch.java

<https://github.com/JorenSix/TarsosDSP/blob/master/src/examples/be/tarsos/dsp/example/TimeStretch.java>

best,

Martin let-me-google-that-for-you Klang



On 27/07/18 11:47, Alex Dashevski wrote:

Hi,
All materials and code that I found on google and GitHub have not
real time implementation(that means, signal is known in advance)
I understand that in this case, I need to do resampling before
and after.

Thanks,
Alex

2018-07-26 3:22 GMT+03:00 mailto:rolfsassin...@web.de>>:

Not everbody reads mails every day so it might be an idea to
wait for replies before pushing.
I am not an expert on this subject but my company is so I
would put it this way:
1) To my mind, there is no simpler explanation than given in
the Wiki. At least this is an entrypoint to start reading.
More comprehensive material can be found in several DSP
literature but they might not be easy since the subject is
not easy.
2) There is not only on "WSOLA" implementation. It is all
about details and requirements. What in detail do you want to do?
3) Even, if people have code ready fpr your app, they cannot
give it way that easily because it might be covered by their
company. Me i am not allow to post code at all.
I suggest you search the github projects for code coming
close to your needs?
Rolf
*Gesendet:* Mittwoch, 25. Juli 2018 um 20:41 Uhr
*Von:* "Alex Dashevski" mailto:alexd...@gmail.com>>
*An:* music-dsp@music.columbia.edu
<mailto:music-dsp@music.columbia.edu>
*Betreff:* Re: [music-dsp] WSOLA on Real Time
Hi,
Could you help ?
2018-07-24 9:18 GMT+03:00 Alex Dashevski mailto:alexd...@gmail.com>>:

Hi.
I'm looking for a simple explanation and implementation
of WSOLA. I tried to google it but I can't understand all
meaning of inputs and outputs that WSOLA has.
My goal is to implement it in Real time on Android.
Possibly, to use pitch shifting in Real Time.
Thanks,
Alex

___ dupswapdrop:
music-dsp mailing list music-dsp@music.columbia.edu
<mailto:music-dsp@music.columbia.edu>
https://lists.columbia.edu/mailman/listinfo/music-dsp
<https://lists.columbia.edu/mailman/listinfo/music-dsp>

___
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
<mailto:music-dsp@music.columbia.edu>
https://lists.columbia.edu/mailman/listinfo/music-dsp
<https://lists.columbia.edu/mailman/listinfo/music-dsp>




___
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu <mailto:music-dsp@music.columbia.edu>
https://lists.columbia.edu/mailman/listinfo/music-dsp
<https://lists.columbia.edu/mailman/listinfo/music-dsp>



___
dupswapdrop: music-dsp mailing list

Re: [music-dsp] WSOLA on Real Time

2018-07-27 Thread Alex Dashevski
Hi,

a) I tried to understand the tarsosdsp code and read the theory about
WSOLA. The formulas difficult to understand.
b) My goal is change frequency the input of audio of android.
c) What is your right solution ?

Thanks,
Alex

2018-07-27 17:37 GMT+03:00 Martin Klang :

>
> It helps if you let us know a) what you've tried and researched already,
> b) what you plan to use it for, and c) why you think WSOLA is the right
> solution.
>
> WSOLA doesn't have a 'simple explanation and implementation', but if what
> you want is just some code that does the job and lets you worry about other
> things then how about:
> https://stackoverflow.com/questions/37386410/realtime-
> pitch-shifting-using-tarsosdsp-on-android
>
> And since you've already asked this question on the TarsosDSP forum I'm
> surprised you've not seen that.
>
> Oh look, here's a time stretch example:
> https://github.com/JorenSix/TarsosDSP/blob/master/src/
> examples/be/tarsos/dsp/example/TimeStretch.java
>
> best,
>
> Martin let-me-google-that-for-you Klang
>
>
>
> On 27/07/18 11:47, Alex Dashevski wrote:
>
> Hi,
> All materials and code that I found on google and GitHub have not real
> time implementation(that means, signal is known in advance)
> I understand that in this case, I need to do resampling before and after.
>
> Thanks,
> Alex
>
> 2018-07-26 3:22 GMT+03:00 :
>
>> Not everbody reads mails every day so it might be an idea to wait for
>> replies before pushing.
>>
>> I am not an expert on this subject but my company is so I would put it
>> this way:
>>
>> 1) To my mind, there is no simpler explanation than given in the Wiki. At
>> least this is an entrypoint to start reading. More comprehensive material
>> can be found in several DSP literature but they might not be easy since the
>> subject is not easy.
>>
>> 2) There is not only on "WSOLA" implementation. It is all about details
>> and requirements. What in detail do you want to do?
>>
>> 3) Even, if people have code ready fpr your app, they cannot give it way
>> that easily because it might be covered by their company. Me i am not allow
>> to post code at all.
>>
>> I suggest you search the github projects for code coming close to your
>> needs?
>>
>> Rolf
>>
>> *Gesendet:* Mittwoch, 25. Juli 2018 um 20:41 Uhr
>> *Von:* "Alex Dashevski" 
>> *An:* music-dsp@music.columbia.edu
>> *Betreff:* Re: [music-dsp] WSOLA on Real Time
>> Hi,
>> Could you help ?
>>
>> 2018-07-24 9:18 GMT+03:00 Alex Dashevski :
>>>
>>> Hi.
>>>
>>> I'm looking for a simple explanation and implementation of WSOLA. I
>>> tried to google it but I can't understand all meaning of inputs and outputs
>>> that WSOLA has.
>>> My goal is to implement it in Real time on Android. Possibly, to use
>>> pitch shifting in Real Time.
>>>
>>> Thanks,
>>> Alex
>>>
>> ___ dupswapdrop: music-dsp
>> mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mai
>> lman/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 
> listmusic-dsp@music.columbia.eduhttps://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

Re: [music-dsp] WSOLA on Real Time

2018-07-27 Thread Martin Klang


It helps if you let us know a) what you've tried and researched already, 
b) what you plan to use it for, and c) why you think WSOLA is the right 
solution.


WSOLA doesn't have a 'simple explanation and implementation', but if 
what you want is just some code that does the job and lets you worry 
about other things then how about:

https://stackoverflow.com/questions/37386410/realtime-pitch-shifting-using-tarsosdsp-on-android

And since you've already asked this question on the TarsosDSP forum I'm 
surprised you've not seen that.


Oh look, here's a time stretch example:
https://github.com/JorenSix/TarsosDSP/blob/master/src/examples/be/tarsos/dsp/example/TimeStretch.java

best,

Martin let-me-google-that-for-you Klang


On 27/07/18 11:47, Alex Dashevski wrote:

Hi,
All materials and code that I found on google and GitHub have not real 
time implementation(that means, signal is known in advance)

I understand that in this case, I need to do resampling before and after.

Thanks,
Alex

2018-07-26 3:22 GMT+03:00 <mailto:rolfsassin...@web.de>>:


Not everbody reads mails every day so it might be an idea to wait
for replies before pushing.
I am not an expert on this subject but my company is so I would
put it this way:
1) To my mind, there is no simpler explanation than given in the
Wiki. At least this is an entrypoint to start reading. More
comprehensive material can be found in several DSP literature but
they might not be easy since the subject is not easy.
2) There is not only on "WSOLA" implementation. It is all about
details and requirements. What in detail do you want to do?
3) Even, if people have code ready fpr your app, they cannot give
it way that easily because it might be covered by their company.
Me i am not allow to post code at all.
I suggest you search the github projects for code coming close to
your needs?
Rolf
*Gesendet:* Mittwoch, 25. Juli 2018 um 20:41 Uhr
*Von:* "Alex Dashevski" mailto:alexd...@gmail.com>>
*An:* music-dsp@music.columbia.edu
<mailto:music-dsp@music.columbia.edu>
*Betreff:* Re: [music-dsp] WSOLA on Real Time
Hi,
Could you help ?
2018-07-24 9:18 GMT+03:00 Alex Dashevski mailto:alexd...@gmail.com>>:

Hi.
I'm looking for a simple explanation and implementation of
WSOLA. I tried to google it but I can't understand all meaning
of inputs and outputs that WSOLA has.
My goal is to implement it in Real time on Android. Possibly,
to use pitch shifting in Real Time.
Thanks,
Alex

___ dupswapdrop:
music-dsp mailing list music-dsp@music.columbia.edu
<mailto:music-dsp@music.columbia.edu>
https://lists.columbia.edu/mailman/listinfo/music-dsp
<https://lists.columbia.edu/mailman/listinfo/music-dsp>

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

Re: [music-dsp] WSOLA on Real Time

2018-07-27 Thread Alex Dashevski
Hi,
All materials and code that I found on google and GitHub have not real time
implementation(that means, signal is known in advance)
I understand that in this case, I need to do resampling before and after.

Thanks,
Alex

2018-07-26 3:22 GMT+03:00 :

> Not everbody reads mails every day so it might be an idea to wait for
> replies before pushing.
>
> I am not an expert on this subject but my company is so I would put it
> this way:
>
> 1) To my mind, there is no simpler explanation than given in the Wiki. At
> least this is an entrypoint to start reading. More comprehensive material
> can be found in several DSP literature but they might not be easy since the
> subject is not easy.
>
> 2) There is not only on "WSOLA" implementation. It is all about details
> and requirements. What in detail do you want to do?
>
> 3) Even, if people have code ready fpr your app, they cannot give it way
> that easily because it might be covered by their company. Me i am not allow
> to post code at all.
>
> I suggest you search the github projects for code coming close to your
> needs?
>
> Rolf
>
> *Gesendet:* Mittwoch, 25. Juli 2018 um 20:41 Uhr
> *Von:* "Alex Dashevski" 
> *An:* music-dsp@music.columbia.edu
> *Betreff:* Re: [music-dsp] WSOLA on Real Time
> Hi,
> Could you help ?
>
> 2018-07-24 9:18 GMT+03:00 Alex Dashevski :
>>
>> Hi.
>>
>> I'm looking for a simple explanation and implementation of WSOLA. I tried
>> to google it but I can't understand all meaning of inputs and outputs that
>> WSOLA has.
>> My goal is to implement it in Real time on Android. Possibly, to use
>> pitch shifting in Real Time.
>>
>> Thanks,
>> Alex
>>
> ___ 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

Re: [music-dsp] WSOLA on Real Time

2018-07-25 Thread rolfsassinger

Not everbody reads mails every day so it might be an idea to wait for replies before pushing.

 

I am not an expert on this subject but my company is so I would put it this way:

 

1) To my mind, there is no simpler explanation than given in the Wiki. At least this is an entrypoint to start reading. More comprehensive material can be found in several DSP literature but they might not be easy since the subject is not easy.

 

2) There is not only on "WSOLA" implementation. It is all about details and requirements. What in detail do you want to do?

 

3) Even, if people have code ready fpr your app, they cannot give it way that easily because it might be covered by their company. Me i am not allow to post code at all.

 

I suggest you search the github projects for code coming close to your needs?

 

Rolf

 

Gesendet: Mittwoch, 25. Juli 2018 um 20:41 Uhr
Von: "Alex Dashevski" 
An: music-dsp@music.columbia.edu
Betreff: Re: [music-dsp] WSOLA on Real Time



Hi,

Could you help ?



 
2018-07-24 9:18 GMT+03:00 Alex Dashevski <alexd...@gmail.com>:



Hi.

 

I'm looking for a simple explanation and implementation of WSOLA. I tried to google it but I can't understand all meaning of inputs and outputs that WSOLA has.

My goal is to implement it in Real time on Android. Possibly, to use pitch shifting in Real Time.

 

Thanks,

Alex





___ 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

Re: [music-dsp] WSOLA on Real Time

2018-07-25 Thread Alex Dashevski
Hi,
Could you help ?

2018-07-24 9:18 GMT+03:00 Alex Dashevski :

> Hi.
>
> I'm looking for a simple explanation and implementation of WSOLA. I tried
> to google it but I can't understand all meaning of inputs and outputs that
> WSOLA has.
> My goal is to implement it in Real time on Android. Possibly, to use pitch
> shifting in Real Time.
>
> Thanks,
> Alex
>
___
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

[music-dsp] WSOLA on Real Time

2018-07-24 Thread Alex Dashevski
Hi.

I'm looking for a simple explanation and implementation of WSOLA. I tried
to google it but I can't understand all meaning of inputs and outputs that
WSOLA has.
My goal is to implement it in Real time on Android. Possibly, to use pitch
shifting in Real Time.

Thanks,
Alex
___
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Re: [music-dsp] WSOLA

2018-06-06 Thread Raphaël Ilias
I don't know WSOLA, so maybe this is irrelevant... however, this might be a
good place to start :
https://www.researchgate.net/figure/Illustration-of-the-Waveform-Similarity-Overlap-Add-WSOLA-algorithm-73_fig4_229087902

there 's a 17 page pdf, article with figures and they seem to have
developped a puredata external, so probably free and opensource...

have a good day,

Raphaël

2018-06-02 8:28 GMT+02:00 Alex Dashevski :

> Hi,
>
> I have audio echo application.
> I want to do a signal process on this audio on *RealTime.*
> I understood from previous answer that I can implement WSOLA with resample
> or with pitch shifting.
> Where can I find lecture/tutorial  about it ?
>
> Thanks,
> Alex
>
> 2018-05-29 20:45 GMT+03:00 robert bristow-johnson <
> r...@audioimagination.com>:
>
>>
>>
>> ---- Original Message 
>> Subject: Re: [music-dsp] WSOLA
>> From: "Alex Dashevski" 
>> Date: Tue, May 29, 2018 5:22 am
>> To: music-dsp@music.columbia.edu
>> 
>> --
>>
>> > Hi,
>> >
>> >
>> From what I understood, WSOLA is algorithm that should work on Time
>> domain.
>> > Pitch shifting is a technique that should work on Frequency domain.
>>
>> that's mistaken.  most pitch shifting algorithms in hardware (like the
>> Eventide, the Lexicon PCM-90, Digitech) are time-domain algorithms.
>>
>>
>> > Thus, I don't understand your answer.
>> > Could you explain in a more details what I need to do ?
>>
>> in my answer of May 27, i did explain WSOLA to the best of my ability.
>>
>> to do something with your Android, first you need to be able to pass
>> samples from the input buffer to the output buffer.  then you need to
>> figure out the standard way of creating an app where you can allocate
>> memory in your app *and* get access to those input and output buffers built
>> in (i believe those are the 240 sample buffers you mention).  this is *not*
>> a small project.  and you're not even at square 2 if you cannot pass audio
>> through an app of your own.  you gotta be able to do that.  i have never
>> programmed either an Android or an iPhone.
>>
>> sorry, at this point this is the best advise i can yell from the
>> helicopter (while you're down in the fray).
>>
>> >
>> > Thanks,
>>
>> for what it's worth...
>>
>>
>>
>> --
>>
>> r b-j r...@audioimagination.com
>>
>> "Imagination is more important than knowledge."
>>
>> >
>> >
>> > 2018-05-29 12:04 GMT+03:00 robert bristow-johnson <
>> r...@audioimagination.com>
>> > :
>> >
>> >>
>> >> Do you mean as a time-scaler or as a pitch-shifter?
>> >>
>> >> WSOLA can and does work real-time in a pitch-shifter. But a time-scaler
>> >> can't be real-time whether it's WSOLA or a phase-vocoder. Because a
>> >> real-time process requires the output to process the input indefinitely
>> >> without the input and output pointers colliding or diverting away from
>> each
>> >> other indefinitely.
>> >>
>> >>
>> >> --
>> >> r b-j r...@audioimagination.com
>> >>
>> >> "Imagination is more important than knowledge."
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>  Original message 
>> >>
>> From: Alex Dashevski 
>> >> Date: 5/28/2018 10:22 PM (GMT-08:00)
>> >> To: robert bristow-johnson ,
>> >> music-dsp@music.columbia.edu
>> >> Subject: Re: [music-dsp] WSOLA
>> >>
>> >> Hi,
>> >>
>> >> I mean WSOLA on RealTime. How can I proof to my instructor that it's
>> not
>> >> possible ?
>> >>
>> >> Why do I need to do resampling ? Android sample and resample in the
>> same
>> >> frequency(in my case,48Khz). Maybe, do you mean to do a processing with
>> >> 8Khz(subsample) ?
>> >>
>> >> I also want to achieve the high performance and minimum latency.
>> >>
>> >> How can I proof to my instructor that correct way to implement is pitch
>> >> shifting and not WSOLA on* RealTime*?
>>
>> >>
>> >> Thanks,
>> >> Alex
>> >>
>> >>
>> >> 2018-05-29 4:19

Re: [music-dsp] WSOLA

2018-06-02 Thread Alex Dashevski
Hi,

I have audio echo application.
I want to do a signal process on this audio on *RealTime.*
I understood from previous answer that I can implement WSOLA with resample
or with pitch shifting.
Where can I find lecture/tutorial  about it ?

Thanks,
Alex

2018-05-29 20:45 GMT+03:00 robert bristow-johnson 
:

>
>
>  Original Message 
> Subject: Re: [music-dsp] WSOLA
> From: "Alex Dashevski" 
> Date: Tue, May 29, 2018 5:22 am
> To: music-dsp@music.columbia.edu
> --
>
> > Hi,
> >
> >
> From what I understood, WSOLA is algorithm that should work on Time domain.
> > Pitch shifting is a technique that should work on Frequency domain.
>
> that's mistaken.  most pitch shifting algorithms in hardware (like the
> Eventide, the Lexicon PCM-90, Digitech) are time-domain algorithms.
>
>
> > Thus, I don't understand your answer.
> > Could you explain in a more details what I need to do ?
>
> in my answer of May 27, i did explain WSOLA to the best of my ability.
>
> to do something with your Android, first you need to be able to pass
> samples from the input buffer to the output buffer.  then you need to
> figure out the standard way of creating an app where you can allocate
> memory in your app *and* get access to those input and output buffers built
> in (i believe those are the 240 sample buffers you mention).  this is *not*
> a small project.  and you're not even at square 2 if you cannot pass audio
> through an app of your own.  you gotta be able to do that.  i have never
> programmed either an Android or an iPhone.
>
> sorry, at this point this is the best advise i can yell from the
> helicopter (while you're down in the fray).
>
> >
> > Thanks,
>
> for what it's worth...
>
>
>
> --
>
> r b-j r...@audioimagination.com
>
> "Imagination is more important than knowledge."
>
> >
> >
> > 2018-05-29 12:04 GMT+03:00 robert bristow-johnson <
> r...@audioimagination.com>
> > :
> >
> >>
> >> Do you mean as a time-scaler or as a pitch-shifter?
> >>
> >> WSOLA can and does work real-time in a pitch-shifter. But a time-scaler
> >> can't be real-time whether it's WSOLA or a phase-vocoder. Because a
> >> real-time process requires the output to process the input indefinitely
> >> without the input and output pointers colliding or diverting away from
> each
> >> other indefinitely.
> >>
> >>
> >> --
> >> r b-j r...@audioimagination.com
> >>
> >> "Imagination is more important than knowledge."
> >>
> >>
> >>
> >>
> >>
> >>  Original message 
> >>
> From: Alex Dashevski 
> >> Date: 5/28/2018 10:22 PM (GMT-08:00)
> >> To: robert bristow-johnson ,
> >> music-dsp@music.columbia.edu
> >> Subject: Re: [music-dsp] WSOLA
> >>
> >> Hi,
> >>
> >> I mean WSOLA on RealTime. How can I proof to my instructor that it's not
> >> possible ?
> >>
> >> Why do I need to do resampling ? Android sample and resample in the same
> >> frequency(in my case,48Khz). Maybe, do you mean to do a processing with
> >> 8Khz(subsample) ?
> >>
> >> I also want to achieve the high performance and minimum latency.
> >>
> >> How can I proof to my instructor that correct way to implement is pitch
> >> shifting and not WSOLA on* RealTime*?
>
> >>
> >> Thanks,
> >> Alex
> >>
> >>
> >> 2018-05-29 4:19 GMT+03:00 robert bristow-johnson <
> r...@audioimagination.com
> >> >:
> >>
> >>>
> >>>
> >>>  Original Message
> 
> >>> Subject: Re: [music-dsp] WSOLA
> >>>
> From: "Alex Dashevski" 
> >>> Date: Sun, May 27, 2018 2:56 pm
> >>> To: philb...@mobileer.com
> >>> music-dsp@music.columbia.edu
> >>> 
> >>> --
> >>>
> >>> > Hi,
> >>> >
> >>> > I don't understand your answer.
> >>> > I have already audio echo application on Android. Buffer size and
> >>> Frequency
> >>> > sample infuence on latency.
> >>> > Could you explain me how implement WSOLA on Real-time ? It is a bit
> mo

Re: [music-dsp] WSOLA

2018-05-29 Thread robert bristow-johnson







 Original Message 

Subject: Re: [music-dsp] WSOLA

From: "Alex Dashevski" 

Date: Tue, May 29, 2018 5:22 am

To: music-dsp@music.columbia.edu

--



> Hi,

>

>

>From what I understood, WSOLA is algorithm that should work on Time domain.

> Pitch shifting is a technique that should work on Frequency domain.
that's mistaken.� most pitch shifting algorithms in hardware (like the 
Eventide, the Lexicon PCM-90, Digitech) are time-domain algorithms.


> Thus, I don't understand your answer.

> Could you explain in a more details what I need to do ?
in my answer of May 27, i did explain WSOLA to the best of my ability.
to do something with your Android, first you need to be able to pass samples 
from the input buffer to the output buffer.� then you need to figure out
the standard way of creating an app where you can allocate memory in your app 
*and* get access to those input and output buffers built in (i believe those 
are the 240 sample buffers you mention).� this is *not* a small project.� and 
you're not even at square 2 if you cannot pass audio
through an app of your own.� you gotta be able to do that.� i have never 
programmed either an Android or an iPhone.
sorry, at this point this is the best advise i can yell from the helicopter 
(while you're down in the fray).
>
> Thanks,



for what it's worth...
�
--



r b-j� � � � � � � � � � � � �r...@audioimagination.com



"Imagination is more important than knowledge."
>

>

> 2018-05-29 12:04 GMT+03:00 robert bristow-johnson 

> :

>

>>

>> Do you mean as a time-scaler or as a pitch-shifter?

>>

>> WSOLA can and does work real-time in a pitch-shifter. But a time-scaler

>> can't be real-time whether it's WSOLA or a phase-vocoder. Because a

>> real-time process requires the output to process the input indefinitely

>> without the input and output pointers colliding or diverting away from each

>> other indefinitely.

>>

>>

>> --

>> r b-j r...@audioimagination.com

>>

>> "Imagination is more important than knowledge."

>>

>>

>>

>>

>>

>> -------- Original message 

>>

From: Alex Dashevski 

>> Date: 5/28/2018 10:22 PM (GMT-08:00)

>> To: robert bristow-johnson ,

>> music-dsp@music.columbia.edu

>> Subject: Re: [music-dsp] WSOLA

>>

>> Hi,

>>

>> I mean WSOLA on RealTime. How can I proof to my instructor that it's not

>> possible ?

>>

>> Why do I need to do resampling ? Android sample and resample in the same

>> frequency(in my case,48Khz). Maybe, do you mean to do a processing with

>> 8Khz(subsample) ?

>>

>> I also want to achieve the high performance and minimum latency.

>>

>> How can I proof to my instructor that correct way to implement is pitch

>> shifting and not WSOLA on* RealTime*?

>>

>> Thanks,

>> Alex

>>

>>

>> 2018-05-29 4:19 GMT+03:00 robert bristow-johnson > >:

>>

>>>

>>>

>>>  Original Message 

>>> Subject: Re: [music-dsp] WSOLA

>>>

From: "Alex Dashevski" 

>>> Date: Sun, May 27, 2018 2:56 pm

>>> To: philb...@mobileer.com

>>> music-dsp@music.columbia.edu

>>> 

>>> --

>>>

>>> > Hi,

>>> >

>>> > I don't understand your answer.

>>> > I have already audio echo application on Android. Buffer size and

>>> Frequency

>>> > sample infuence on latency.

>>> > Could you explain me how implement WSOLA on Real-time ? It is a bit more

>>> > difficult .

>>> >

>>>

>>> yes WSOLA is a little difficult, but less difficult than a phase-vocoder.

>>>

>>>

>>>

>>> now, when you say "WSOLA" and "Real-time" in the same breath, do you mean

>>> a pitch shifter? not a time-scaler, right? because pitch shifting can be

>>> done real-time, but time-scaling has to be done with an input buffer (with

>>> some number of samples) getting made into a longer (more samples) or

>>> shorter (fewer samples) buffer with the same sample rate. that can't be

>>> done on an operation the runs on indefinitely, even with a long throughput

>>> delay. eventually the input and output pointers will collide.

>>>

>>> but you can combine time-scaling and resampling (the lat

Re: [music-dsp] WSOLA

2018-05-29 Thread alex dashevski
Hi,

My input is microphone.  Then , I need the second option.

 

Could you give me reference with example and code so that I can understand how 
to implement it ?

 

Thanks,

Alex

 

2018-05-29 17:04 GMT+03:00 Eder Souza mailto:ederwan...@gmail.com> >:

WSOLA is an Time Domain algorithm, Pitch shifters can works in time domain too, 
there are some ways to do this...

 

WSOLA is just one time-scaler, but you can pitch shift combining WSOLA and 
Resample:

 

- Change the time using WSOLA (ex. time scale by 2.0) 

- Use some interpolation(ex. resample scale by 1/2.0=0.5 )

 

The steps example time scale your signal by one factor of two(2.0) and then you 
resample the time scaled signal by 0.5, this give you one pitch shifted signal, 
that is one example of pitch shift that not works in frequency domain 
(important this not keep the formants)...

 

You want use WSOLA in real-time to do Time-Scale ? or use WSOLA in real-time to 
apply resample after apply Time-Scale(pitch shift) ? What is your input data 
(audio files or microphone) ?

 

The first option can not be possible in real-time using microphone input.

 

If you want the first option using audio files as input, you can control the 
time-scale factor at real time, changing the tempo of the output audio and 
listening, do you need build a ring buffer to control how read and write data 
position of your input/output .

 

The second option using audio files or microphones can be done using a ring 
buffer too, for microphone input do you need save some data to precess, this 
can give you some delay output.

 

So what option are you trying ?

 

 

Regards,

 

Eder

 

 

 

♪♫♫♪

 ▇ ▅ █ ▅ ▇ ▂ ▃ ▁ ▁ ▅ ▃ ▅ ▅ ▄ ▅ ▇

Sent From The Moon and Written With My Thumbs !

 

On Tue, May 29, 2018 at 6:22 AM, Alex Dashevski mailto:alexd...@gmail.com> > wrote:

Hi,

 

>From what I understood, WSOLA is algorithm that should work on Time domain. 
>Pitch shifting is a technique that should work on Frequency domain.

Thus, I don't understand your answer.

Could you explain in a more details what I need to do ?

 

Thanks,

Alex

 

 

2018-05-29 12:04 GMT+03:00 robert bristow-johnson mailto:r...@audioimagination.com> >:

 

Do you mean as a time-scaler or as a pitch-shifter?

 

WSOLA can and does work real-time in a pitch-shifter.  But a time-scaler can't 
be real-time whether it's WSOLA or a phase-vocoder.  Because a real-time 
process requires the output to process the input indefinitely without the input 
and output pointers colliding or diverting away from each other indefinitely. 

 

 

--

r b-j r...@audioimagination.com 
<mailto:r...@audioimagination.com> 

 

"Imagination is more important than knowledge."

 

 

 



 Original message 
From: Alex Dashevski mailto:alexd...@gmail.com> > 

Date: 5/28/2018 10:22 PM (GMT-08:00) 
To: robert bristow-johnson mailto:r...@audioimagination.com> >, music-dsp@music.columbia.edu 
<mailto:music-dsp@music.columbia.edu>  
Subject: Re: [music-dsp] WSOLA 

Hi,

 

I mean WSOLA on RealTime.  How can I proof to my instructor that it's not 
possible ?

 

Why do I need to do resampling ? Android sample and resample in the same 
frequency(in my case,48Khz). Maybe, do you mean to do a processing with 
8Khz(subsample) ?

 

I also want to achieve the high performance and minimum latency.

 

How can I proof to my instructor that correct way to implement is pitch 
shifting and not WSOLA  on RealTime?

 

Thanks,

Alex

   

 

2018-05-29 4:19 GMT+03:00 robert bristow-johnson mailto:r...@audioimagination.com> >:



---- Original Message 
Subject: Re: [music-dsp] WSOLA
From: "Alex Dashevski" mailto:alexd...@gmail.com> >
Date: Sun, May 27, 2018 2:56 pm
To: philb...@mobileer.com <mailto:philb...@mobileer.com> 
music-dsp@music.columbia.edu <mailto:music-dsp@music.columbia.edu> 
--

> Hi,
>
> I don't understand your answer.
> I have already audio echo application on Android. Buffer size and Frequency
> sample infuence on latency.
> Could you explain me how implement WSOLA on Real-time ? It is a bit more
> difficult .
>

yes WSOLA is a little difficult, but less difficult than a phase-vocoder.

 

now, when you say "WSOLA" and "Real-time" in the same breath, do you mean a 
pitch shifter?  not a time-scaler, right?  because pitch shifting can be done 
real-time, but time-scaling has to be done with an input buffer (with some 
number of samples) getting made into a longer (more samples) or shorter (fewer 
samples) buffer with the same sample rate.  that can't be done on an operation 
the runs on indefinitely, even with a long throughput delay.  eventually the 
input and 

Re: [music-dsp] WSOLA

2018-05-29 Thread Eder Souza
WSOLA is an Time Domain algorithm, Pitch shifters can works in time domain
too, there are some ways to do this...

WSOLA is just one time-scaler, but you can pitch shift combining WSOLA and
Resample:

- Change the time using WSOLA (ex. time scale by 2.0)
- Use some interpolation(ex. resample scale by 1/2.0=0.5 )

The steps example time scale your signal by one factor of two(2.0) and then
you resample the time scaled signal by 0.5, this give you one pitch shifted
signal, that is one example of pitch shift that not works in frequency
domain (important this not keep the formants)...

You want use WSOLA in real-time to do Time-Scale ? or use WSOLA in
real-time to apply resample after apply Time-Scale(pitch shift) ? What is
your input data (audio files or microphone) ?

The first option can not be possible in real-time using microphone input.

If you want the first option using audio files as input, you can control
the time-scale factor at real time, changing the tempo of the output audio
and listening, do you need build a ring buffer to control how read and
write data position of your input/output .

The second option using audio files or microphones can be done using a ring
buffer too, for microphone input do you need save some data to precess,
this can give you some delay output.

So what option are you trying ?


Regards,

Eder



♪♫♫♪
 ▇ ▅ █ ▅ ▇ ▂ ▃ ▁ ▁ ▅ ▃ ▅ ▅ ▄ ▅ ▇
Sent From The Moon and Written With My Thumbs !

On Tue, May 29, 2018 at 6:22 AM, Alex Dashevski  wrote:

> Hi,
>
> From what I understood, WSOLA is algorithm that should work on Time
> domain. Pitch shifting is a technique that should work on Frequency domain.
> Thus, I don't understand your answer.
> Could you explain in a more details what I need to do ?
>
> Thanks,
> Alex
>
>
> 2018-05-29 12:04 GMT+03:00 robert bristow-johnson <
> r...@audioimagination.com>:
>
>>
>> Do you mean as a time-scaler or as a pitch-shifter?
>>
>> WSOLA can and does work real-time in a pitch-shifter.  But a time-scaler
>> can't be real-time whether it's WSOLA or a phase-vocoder.  Because a
>> real-time process requires the output to process the input indefinitely
>> without the input and output pointers colliding or diverting away from each
>> other indefinitely.
>>
>>
>> --
>> r b-j r...@audioimagination.com
>>
>> "Imagination is more important than knowledge."
>>
>>
>>
>>
>>
>> ---- Original message 
>> From: Alex Dashevski 
>> Date: 5/28/2018 10:22 PM (GMT-08:00)
>> To: robert bristow-johnson ,
>> music-dsp@music.columbia.edu
>> Subject: Re: [music-dsp] WSOLA
>>
>> Hi,
>>
>> I mean WSOLA on RealTime.  How can I proof to my instructor that it's not
>> possible ?
>>
>> Why do I need to do resampling ? Android sample and resample in the same
>> frequency(in my case,48Khz). Maybe, do you mean to do a processing with
>> 8Khz(subsample) ?
>>
>> I also want to achieve the high performance and minimum latency.
>>
>> How can I proof to my instructor that correct way to implement is pitch
>> shifting and not WSOLA  on* RealTime*?
>>
>> Thanks,
>> Alex
>>
>>
>> 2018-05-29 4:19 GMT+03:00 robert bristow-johnson <
>> r...@audioimagination.com>:
>>
>>>
>>>
>>>  Original Message
>>> 
>>> Subject: Re: [music-dsp] WSOLA
>>> From: "Alex Dashevski" 
>>> Date: Sun, May 27, 2018 2:56 pm
>>> To: philb...@mobileer.com
>>> music-dsp@music.columbia.edu
>>> 
>>> --
>>>
>>> > Hi,
>>> >
>>> > I don't understand your answer.
>>> > I have already audio echo application on Android. Buffer size and
>>> Frequency
>>> > sample infuence on latency.
>>> > Could you explain me how implement WSOLA on Real-time ? It is a bit
>>> more
>>> > difficult .
>>> >
>>>
>>> yes WSOLA is a little difficult, but less difficult than a phase-vocoder.
>>>
>>>
>>>
>>> now, when you say "WSOLA" and "Real-time" in the same breath, do you
>>> mean a pitch shifter?  not a time-scaler, right?  because pitch shifting
>>> can be done real-time, but time-scaling has to be done with an input buffer
>>> (with some number of samples) getting made into a longer (more samples) or
>>> shorter (fewer samples) buffer wit

Re: [music-dsp] WSOLA

2018-05-29 Thread Alex Dashevski
Hi,

>From what I understood, WSOLA is algorithm that should work on Time domain.
Pitch shifting is a technique that should work on Frequency domain.
Thus, I don't understand your answer.
Could you explain in a more details what I need to do ?

Thanks,
Alex


2018-05-29 12:04 GMT+03:00 robert bristow-johnson 
:

>
> Do you mean as a time-scaler or as a pitch-shifter?
>
> WSOLA can and does work real-time in a pitch-shifter.  But a time-scaler
> can't be real-time whether it's WSOLA or a phase-vocoder.  Because a
> real-time process requires the output to process the input indefinitely
> without the input and output pointers colliding or diverting away from each
> other indefinitely.
>
>
> --
> r b-j r...@audioimagination.com
>
> "Imagination is more important than knowledge."
>
>
>
>
>
>  Original message 
> From: Alex Dashevski 
> Date: 5/28/2018 10:22 PM (GMT-08:00)
> To: robert bristow-johnson ,
> music-dsp@music.columbia.edu
> Subject: Re: [music-dsp] WSOLA
>
> Hi,
>
> I mean WSOLA on RealTime.  How can I proof to my instructor that it's not
> possible ?
>
> Why do I need to do resampling ? Android sample and resample in the same
> frequency(in my case,48Khz). Maybe, do you mean to do a processing with
> 8Khz(subsample) ?
>
> I also want to achieve the high performance and minimum latency.
>
> How can I proof to my instructor that correct way to implement is pitch
> shifting and not WSOLA  on* RealTime*?
>
> Thanks,
> Alex
>
>
> 2018-05-29 4:19 GMT+03:00 robert bristow-johnson  >:
>
>>
>>
>>  Original Message 
>> Subject: Re: [music-dsp] WSOLA
>> From: "Alex Dashevski" 
>> Date: Sun, May 27, 2018 2:56 pm
>> To: philb...@mobileer.com
>> music-dsp@music.columbia.edu
>> 
>> --
>>
>> > Hi,
>> >
>> > I don't understand your answer.
>> > I have already audio echo application on Android. Buffer size and
>> Frequency
>> > sample infuence on latency.
>> > Could you explain me how implement WSOLA on Real-time ? It is a bit more
>> > difficult .
>> >
>>
>> yes WSOLA is a little difficult, but less difficult than a phase-vocoder.
>>
>>
>>
>> now, when you say "WSOLA" and "Real-time" in the same breath, do you mean
>> a pitch shifter?  not a time-scaler, right?  because pitch shifting can be
>> done real-time, but time-scaling has to be done with an input buffer (with
>> some number of samples) getting made into a longer (more samples) or
>> shorter (fewer samples) buffer with the same sample rate.  that can't be
>> done on an operation the runs on indefinitely, even with a long throughput
>> delay.  eventually the input and output pointers will collide.
>>
>> but you can combine time-scaling and resampling (the latter is
>> mathematically well defined) to get pitch shifting that can run on
>> forever.  one operation increases the number of samples and the other
>> reduces the number of samples exactly in reciprocal proportion.  so the
>> number of samples coming out every buffer of time is the same as the number
>> going in.
>>
>> now the "S" in acronym stands for "Similarity", so you have to position
>> the windows in the input waveform to be similar to the waveform in the
>> output.  the waveform in the first-half of the input window should match
>> the similarity to the waveform in the last-half of the output window of the
>> previous frame.  normally the frame hop is exactly half of the window
>> width.  and the window shape should be complementary like a Hann window.
>>
>> i believe that 240 sample buffer in the Android is an input/output sample
>> buffer for the media I/O.  you can't really do anything with that buffer
>> except pull in input samples and push out output samples.  you will have to
>> (using whatever programming environment one uses to make Android apps)
>> allocate memory and create your own buffers to hold about 100 ms of sound.
>> in that buffer, you will use a technique called AMDF, ASDF, or
>> autocorrelation to measure waveform similarity.  your input frame hop
>> distance (which has both integer and fractional parts) is the output frame
>> hop size times the reciprocal of the time-stretch factor.  so, if you're
>> time-stretching (instead of time-compressing), your input frame will
>> advance more slowly than your output frame, that increases the number of

Re: [music-dsp] WSOLA

2018-05-29 Thread robert bristow-johnson



Do you mean as a time-scaler or as a pitch-shifter?
WSOLA can and does work real-time in a pitch-shifter.  But a time-scaler can't 
be real-time whether it's WSOLA or a phase-vocoder.  Because a real-time 
process requires the output to process the input indefinitely without the input 
and output pointers colliding or diverting away from each other indefinitely. 

--r b-j                     r...@audioimagination.com
"Imagination is more important than knowledge."




 Original message 
From: Alex Dashevski  
Date: 5/28/2018  10:22 PM  (GMT-08:00) 
To: robert bristow-johnson , 
music-dsp@music.columbia.edu 
Subject: Re: [music-dsp] WSOLA 

Hi,
I mean WSOLA on RealTime.  How can I proof to my instructor that it's not 
possible ?
Why do I need to do resampling ? Android sample and resample in the same 
frequency(in my case,48Khz). Maybe, do you mean to do a processing with 
8Khz(subsample) ?
I also want to achieve the high performance and minimum latency.
How can I proof to my instructor that correct way to implement is pitch 
shifting and not WSOLA  on RealTime?
Thanks,Alex   
2018-05-29 4:19 GMT+03:00 robert bristow-johnson :



 Original Message 

Subject: Re: [music-dsp] WSOLA

From: "Alex Dashevski" 

Date: Sun, May 27, 2018 2:56 pm

To: philb...@mobileer.com

music-dsp@music.columbia.edu

--



> Hi,

>

> I don't understand your answer.

> I have already audio echo application on Android. Buffer size and Frequency

> sample infuence on latency.

> Could you explain me how implement WSOLA on Real-time ? It is a bit more

> difficult .

>yes WSOLA is a little difficult, but less difficult than a phase-vocoder. now, 
>when you say "WSOLA" and "Real-time" in the same breath, do you mean a pitch 
>shifter?  not a time-scaler, right?  because pitch shifting can be done 
>real-time,
but time-scaling has to be done with an input buffer (with some number of 
samples) getting made into a longer (more samples) or shorter (fewer samples) 
buffer with the same sample rate.  that can't be done on an operation the runs 
on indefinitely, even with a long throughput delay. 
eventually the input and output pointers will collide.but you can combine 
time-scaling and resampling (the latter is mathematically well defined) to get 
pitch shifting that can run on forever.  one operation increases the number of 
samples and the other reduces the number of samples
exactly in reciprocal proportion.  so the number of samples coming out every 
buffer of time is the same as the number going in.now the "S" in acronym stands 
for "Similarity", so you have to position the windows in the input waveform to 
be similar to the waveform in
the output.  the waveform in the first-half of the input window should match 
the similarity to the waveform in the last-half of the output window of the 
previous frame.  normally the frame hop is exactly half of the window width.  
and the window shape should be complementary like a
Hann window.i believe that 240 sample buffer in the Android is an input/output 
sample buffer for the media I/O.  you can't really do anything with that buffer 
except pull in input samples and push out output samples.  you will have to 
(using whatever programming environment one uses
to make Android apps)  allocate memory and create your own buffers to hold 
about 100 ms of sound.  in that buffer, you will use a technique called AMDF, 
ASDF, or autocorrelation to measure waveform similarity.  your input frame hop 
distance (which has both integer and fractional
parts) is the output frame hop size times the reciprocal of the time-stretch 
factor.  so, if you're time-stretching (instead of time-compressing), your 
input frame will advance more slowly than your output frame, that increases the 
number of samples.  but in that output buffer, you will
resample (interpolate) with a step-size that is time-stretch factor (do this 
only for output samples that have already been overlapped and added) thus 
reducing the final output number of samples back to the original number.   you 
will allow some jitter on the input window that is informed
by the result of the waveform similarity analysis.that's how you do WSOLA, as 
best as i understand it.--


r b-j                         r...@audioimagination.com



"Imagination is more important than knowledge."


___

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

Re: [music-dsp] WSOLA

2018-05-28 Thread Alex Dashevski
Hi,

I mean WSOLA on RealTime.  How can I proof to my instructor that it's not
possible ?

Why do I need to do resampling ? Android sample and resample in the same
frequency(in my case,48Khz). Maybe, do you mean to do a processing with
8Khz(subsample) ?

I also want to achieve the high performance and minimum latency.

How can I proof to my instructor that correct way to implement is pitch
shifting and not WSOLA  on* RealTime*?

Thanks,
Alex


2018-05-29 4:19 GMT+03:00 robert bristow-johnson :

>
>
>  Original Message 
> Subject: Re: [music-dsp] WSOLA
> From: "Alex Dashevski" 
> Date: Sun, May 27, 2018 2:56 pm
> To: philb...@mobileer.com
> music-dsp@music.columbia.edu
> --
>
> > Hi,
> >
> > I don't understand your answer.
> > I have already audio echo application on Android. Buffer size and
> Frequency
> > sample infuence on latency.
> > Could you explain me how implement WSOLA on Real-time ? It is a bit more
> > difficult .
> >
>
> yes WSOLA is a little difficult, but less difficult than a phase-vocoder.
>
>
>
> now, when you say "WSOLA" and "Real-time" in the same breath, do you mean
> a pitch shifter?  not a time-scaler, right?  because pitch shifting can be
> done real-time, but time-scaling has to be done with an input buffer (with
> some number of samples) getting made into a longer (more samples) or
> shorter (fewer samples) buffer with the same sample rate.  that can't be
> done on an operation the runs on indefinitely, even with a long throughput
> delay.  eventually the input and output pointers will collide.
>
> but you can combine time-scaling and resampling (the latter is
> mathematically well defined) to get pitch shifting that can run on
> forever.  one operation increases the number of samples and the other
> reduces the number of samples exactly in reciprocal proportion.  so the
> number of samples coming out every buffer of time is the same as the number
> going in.
>
> now the "S" in acronym stands for "Similarity", so you have to position
> the windows in the input waveform to be similar to the waveform in the
> output.  the waveform in the first-half of the input window should match
> the similarity to the waveform in the last-half of the output window of the
> previous frame.  normally the frame hop is exactly half of the window
> width.  and the window shape should be complementary like a Hann window.
>
> i believe that 240 sample buffer in the Android is an input/output sample
> buffer for the media I/O.  you can't really do anything with that buffer
> except pull in input samples and push out output samples.  you will have to
> (using whatever programming environment one uses to make Android apps)
> allocate memory and create your own buffers to hold about 100 ms of sound.
> in that buffer, you will use a technique called AMDF, ASDF, or
> autocorrelation to measure waveform similarity.  your input frame hop
> distance (which has both integer and fractional parts) is the output frame
> hop size times the reciprocal of the time-stretch factor.  so, if you're
> time-stretching (instead of time-compressing), your input frame will
> advance more slowly than your output frame, that increases the number of
> samples.  but in that output buffer, you will resample (interpolate) with a
> step-size that is time-stretch factor (do this only for output samples that
> have already been overlapped and added) thus reducing the final output
> number of samples back to the original number.   you will allow some jitter
> on the input window that is informed by the result of the waveform
> similarity analysis.
>
> that's how you do WSOLA, as best as i understand it.
>
> --
>
> r b-j r...@audioimagination.com
>
> "Imagination is more important than knowledge."
>
>
>
>
>
>
>
>
> ___
> 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

Re: [music-dsp] WSOLA

2018-05-28 Thread robert bristow-johnson







 Original Message 

Subject: Re: [music-dsp] WSOLA

From: "Alex Dashevski" 

Date: Sun, May 27, 2018 2:56 pm

To: philb...@mobileer.com

music-dsp@music.columbia.edu

--



> Hi,

>

> I don't understand your answer.

> I have already audio echo application on Android. Buffer size and Frequency

> sample infuence on latency.

> Could you explain me how implement WSOLA on Real-time ? It is a bit more

> difficult .

>
yes WSOLA is a little difficult, but less difficult than a phase-vocoder.
�
now, when you say "WSOLA" and "Real-time" in the same breath, do you mean a 
pitch shifter?� not a time-scaler, right?� because pitch shifting can be done 
real-time,
but time-scaling has to be done with an input buffer (with some number of 
samples) getting made into a longer (more samples) or shorter (fewer samples) 
buffer with the same sample rate.� that can't be done on an operation the runs 
on indefinitely, even with a long throughput delay.�
eventually the input and output pointers will collide.
but you can combine time-scaling and resampling (the latter is mathematically 
well defined) to get pitch shifting that can run on forever.� one operation 
increases the number of samples and the other reduces the number of samples
exactly in reciprocal proportion.� so the number of samples coming out every 
buffer of time is the same as the number going in.
now the "S" in acronym stands for "Similarity", so you have to position the 
windows in the input waveform to be similar to the waveform in
the output.� the waveform in the first-half of the input window should match 
the similarity to the waveform in the last-half of the output window of the 
previous frame.� normally the frame hop is exactly half of the window width.� 
and the window shape should be complementary like a
Hann window.
i believe that 240 sample buffer in the Android is an input/output sample 
buffer for the media I/O.� you can't really do anything with that buffer except 
pull in input samples and push out output samples.� you will have to (using 
whatever programming environment one uses
to make Android apps)� allocate memory and create your own buffers to hold 
about 100 ms of sound.� in that buffer, you will use a technique called AMDF, 
ASDF, or autocorrelation to measure waveform similarity.� your input frame hop 
distance (which has both integer and fractional
parts) is the output frame hop size times the reciprocal of the time-stretch 
factor.� so, if you're time-stretching (instead of time-compressing), your 
input frame will advance more slowly than your output frame, that increases the 
number of samples.� but in that output buffer, you will
resample (interpolate) with a step-size that is time-stretch factor (do this 
only for output samples that have already been overlapped and added) thus 
reducing the final output number of samples back to the original number.� �you 
will allow some jitter on the input window that is informed
by the result of the waveform similarity analysis.
that's how you do WSOLA, as best as i understand it.
--


r b-j� � � � � � � � � � � � �r...@audioimagination.com



"Imagination is more important than knowledge."

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

Re: [music-dsp] WSOLA

2018-05-27 Thread Alex Dashevski
Hi,

I don't understand your answer.
I have already audio echo application on Android. Buffer size and Frequency
sample infuence on latency.
Could you explain me how implement WSOLA on Real-time ?  It is a bit more
difficult .

Thanks,
Alex

2018-05-27 21:41 GMT+03:00 Phil Burk :

> Hello Alex,
>
> The period is 1 / frequency. I think what was confusing is you said that
> the pitch was 5 milliseconds. Pitch is normally described either in Hertz
> or in semitones.
>
> Also the buffer size that you are referring to is a single buffer used for
> reading or writing the audio data. That is not the total size of the
> sample. The buffer size use for reading and writing should not affect the
> signal processing algorithm because you are basically processing one sample
> at a time anyway. You can collect the samples into blocks of data if you
> need to. but that is independent of the input output buffer size.
>
> Most smart phones including Android should be fast enough to implement
> this algorithm. It should be possible. You might want to start with just
> reading a WAV file in, processing the data, then writing a WAV file out.
> Separate the reading and writing of the file from the processing algorithm.
> Then when you have it working you can just port it to Android.
>
> If you have Android specific questions about the Android APIs then please
> use the Android mailing list. If you have mathematical questions about DSP
> then this is a better mailing list.
>
> Phil Burk
>
> On Sun, May 27, 2018, 6:27 AM Alex Dashevski  wrote:
>
>> Hi,
>> I mean that fundamental frequency is between 50Hz and 4"50Hz.  Right?
>> Why period of pitct isn't equal to 1/fundamental frequency?
>>
>> what is about of subsampling?  That means that proccessing will be done
>> with 8Kh.
>>
>> what is about pitch shifting?
>>
>> How can I prove to my instractor that I can't implementation wsola?
>>
>> I have already asked this question on  ndk android group but they refer
>> me to this forum.
>>
>> Thanks,
>> Alex
>>
>>
>> On Sun, May 27, 2018, 02:51 robert bristow-johnson <
>> r...@audioimagination.com> wrote:
>>
>>> On 5/25/18 2:06 PM, Alex Dashevski wrote:
>>> >
>>> > I want to implement WSOLA on Real Time.
>>> > The pitch is between 5ms and 20ms.
>>> do you mean the *period* is between 5 ms and 20 ms?  or that the
>>> fundamental frequency is between 50 Hz and 200 Hz?  this appears to be a
>>> bass instrument
>>>
>>> > Frequency samples of the system is 48Khz
>>> > Buffer size has 240 sample.
>>>
>>> that's not long enough.  you will never be able to even do the necessary
>>> pitch detection with a buffer that small.  (unless you mean the
>>> input/output buffer of the android, then that is plenty long.)
>>>
>>> > I want to implement it on android.
>>>
>>> then you should have no problem securing a megabyte of memory.
>>>
>>> > My issue is that my buffer is smaller than pitch,
>>>
>>> it's the *period*.  pitch is not measured in ms.
>>>
>>> > I can't understand how I can implement WSOLA.
>>>
>>> you can't unless you can allocate more memory.  that's a programming
>>> issue with the android.
>>>
>>>
>>>
>>> --
>>>
>>> r b-j  r...@audioimagination.com
>>>
>>> "Imagination is more important than knowledge."
>>>
>>>
>>>
>>> ___
>>> 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

Re: [music-dsp] WSOLA

2018-05-27 Thread Phil Burk
Hello Alex,

The period is 1 / frequency. I think what was confusing is you said that
the pitch was 5 milliseconds. Pitch is normally described either in Hertz
or in semitones.

Also the buffer size that you are referring to is a single buffer used for
reading or writing the audio data. That is not the total size of the
sample. The buffer size use for reading and writing should not affect the
signal processing algorithm because you are basically processing one sample
at a time anyway. You can collect the samples into blocks of data if you
need to. but that is independent of the input output buffer size.

Most smart phones including Android should be fast enough to implement this
algorithm. It should be possible. You might want to start with just reading
a WAV file in, processing the data, then writing a WAV file out.  Separate
the reading and writing of the file from the processing algorithm. Then
when you have it working you can just port it to Android.

If you have Android specific questions about the Android APIs then please
use the Android mailing list. If you have mathematical questions about DSP
then this is a better mailing list.

Phil Burk

On Sun, May 27, 2018, 6:27 AM Alex Dashevski  wrote:

> Hi,
> I mean that fundamental frequency is between 50Hz and 4"50Hz.  Right?
> Why period of pitct isn't equal to 1/fundamental frequency?
>
> what is about of subsampling?  That means that proccessing will be done
> with 8Kh.
>
> what is about pitch shifting?
>
> How can I prove to my instractor that I can't implementation wsola?
>
> I have already asked this question on  ndk android group but they refer me
> to this forum.
>
> Thanks,
> Alex
>
>
> On Sun, May 27, 2018, 02:51 robert bristow-johnson <
> r...@audioimagination.com> wrote:
>
>> On 5/25/18 2:06 PM, Alex Dashevski wrote:
>> >
>> > I want to implement WSOLA on Real Time.
>> > The pitch is between 5ms and 20ms.
>> do you mean the *period* is between 5 ms and 20 ms?  or that the
>> fundamental frequency is between 50 Hz and 200 Hz?  this appears to be a
>> bass instrument
>>
>> > Frequency samples of the system is 48Khz
>> > Buffer size has 240 sample.
>>
>> that's not long enough.  you will never be able to even do the necessary
>> pitch detection with a buffer that small.  (unless you mean the
>> input/output buffer of the android, then that is plenty long.)
>>
>> > I want to implement it on android.
>>
>> then you should have no problem securing a megabyte of memory.
>>
>> > My issue is that my buffer is smaller than pitch,
>>
>> it's the *period*.  pitch is not measured in ms.
>>
>> > I can't understand how I can implement WSOLA.
>>
>> you can't unless you can allocate more memory.  that's a programming
>> issue with the android.
>>
>>
>>
>> --
>>
>> r b-j  r...@audioimagination.com
>>
>> "Imagination is more important than knowledge."
>>
>>
>>
>> ___
>> 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

Re: [music-dsp] WSOLA

2018-05-26 Thread Alex Dashevski
Hi,
I mean that fundamental frequency is between 50Hz and 4"50Hz.  Right?
Why period of pitct isn't equal to 1/fundamental frequency?

what is about of subsampling?  That means that proccessing will be done
with 8Kh.

what is about pitch shifting?

How can I prove to my instractor that I can't implementation wsola?

I have already asked this question on  ndk android group but they refer me
to this forum.

Thanks,
Alex


On Sun, May 27, 2018, 02:51 robert bristow-johnson 
wrote:

> On 5/25/18 2:06 PM, Alex Dashevski wrote:
> >
> > I want to implement WSOLA on Real Time.
> > The pitch is between 5ms and 20ms.
> do you mean the *period* is between 5 ms and 20 ms?  or that the
> fundamental frequency is between 50 Hz and 200 Hz?  this appears to be a
> bass instrument
>
> > Frequency samples of the system is 48Khz
> > Buffer size has 240 sample.
>
> that's not long enough.  you will never be able to even do the necessary
> pitch detection with a buffer that small.  (unless you mean the
> input/output buffer of the android, then that is plenty long.)
>
> > I want to implement it on android.
>
> then you should have no problem securing a megabyte of memory.
>
> > My issue is that my buffer is smaller than pitch,
>
> it's the *period*.  pitch is not measured in ms.
>
> > I can't understand how I can implement WSOLA.
>
> you can't unless you can allocate more memory.  that's a programming
> issue with the android.
>
>
>
> --
>
> r b-j  r...@audioimagination.com
>
> "Imagination is more important than knowledge."
>
>
>
> ___
> 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

Re: [music-dsp] WSOLA

2018-05-26 Thread robert bristow-johnson

On 5/25/18 2:06 PM, Alex Dashevski wrote:


I want to implement WSOLA on Real Time.
The pitch is between 5ms and 20ms.
do you mean the *period* is between 5 ms and 20 ms?  or that the 
fundamental frequency is between 50 Hz and 200 Hz?  this appears to be a 
bass instrument



Frequency samples of the system is 48Khz
Buffer size has 240 sample.


that's not long enough.  you will never be able to even do the necessary 
pitch detection with a buffer that small.  (unless you mean the 
input/output buffer of the android, then that is plenty long.)



I want to implement it on android.


then you should have no problem securing a megabyte of memory.


My issue is that my buffer is smaller than pitch,


it's the *period*.  pitch is not measured in ms.


I can't understand how I can implement WSOLA.


you can't unless you can allocate more memory.  that's a programming 
issue with the android.




--

r b-j  r...@audioimagination.com

"Imagination is more important than knowledge."



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



[music-dsp] WSOLA

2018-05-25 Thread Alex Dashevski
Hi,

I want to implement WSOLA on Real Time.
The pitch is between 5ms and 20ms.
Frequency samples of the system is 48Khz
Buffer size has 240 sample.
I want to implement it on android.
My issue is that my buffer is smaller than pitch, I can't understand how I
can implement WSOLA.

Thanks,
Alex
___
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp