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