Re: [music-dsp] pitch shifting vs sample rate

2019-03-15 Thread Ethan Fenn
If you're just talking about recording (for example) 1 second of audio at
8kHz and playing it back at 9kHz, this will have two effects:

1) the pitch will be shifted up by a factor of 9/8, or 12*log(9/8)/log(2) =
~2.04 semitones
2) your recording will play back 9/8 faster, so it will be done in ~0.889
seconds.

Usually in audio DSP when we talk about pitch shifting we're talking about
techniques that try to change the pitch without changing the speed of
playback, It's quite a bit harder to make this sound good.

-Ethan



On Fri, Mar 15, 2019 at 3:45 AM Alex Dashevski  wrote:

> Hi,
>
> It should not be circular buffer.
> Could you explain meanings of "fade in", "fade out", "splice in", and
> "splice out" ?
>
> Thanks,
> Alex
>
> ‫בתאריך יום ו׳, 15 במרץ 2019 ב-0:14 מאת ‪robert bristow-johnson‬‏ <‪
> r...@audioimagination.com‬‏>:‬
>
>>
>>
>>  Original Message 
>> Subject: [music-dsp] pitch shifting vs sample rate
>> From: "Alex Dashevski" 
>> Date: Thu, March 14, 2019 2:55 pm
>> To: music-dsp@music.columbia.edu
>> --
>>
>> >
>> > Let's assume we have recorder buffer(input) and playback buffer(output)
>> > with the same size.
>> > I sample input signal at 8Khz and output signal at 9Khz.
>> > My question is:
>> > Why isn't it equivalent to pitch shifting ?
>> >
>>
>> well, you didn't say how the samples in the playback buffer are defined.
>> let's say that you are simply copying the input buffer to the output
>> buffer.  or, even simpler, let's say that the input buffer and output
>> buffer are coincidental, the same block of memory with two different points
>> writing into it and reading out of it.  and let's say that these buffers
>> are *circular* FIFO buffers.
>>
>> so, the output pointer advances 9 samples in the same amount of time that
>> the input pointer advances 8 samples.  that would be pitch shifting, but
>> you would have a click in the output every time the output pointer
>> overtakes and passes the input pointer.  a good pitch shifter would fade
>> out the signal from the output pointer before it catches up to the input
>> pointer and would fade in the signal from another output pointer that is
>> farther behind.  and would continue to do this.  once the signal is
>> completely faded out, that output pointer is discarded and the fade-in
>> output pointer (that was farther behind) becomes the nominal output pointer
>> (which is still advancing 9 samples in the time the input pointer advances
>> 8 samples).  when that gets too close behind the input pointer, we do this
>> again and begin cross-fading to the signal further behind.
>>
>> a better pitch shifter would make sure that the new, fade-in output
>> pointer is pointing to the waveform that looks similar to the fade-out
>> output pointer.  this is what pitch detection is good for.  so when extra
>> audio is spliced in (for up-shifting) or audio is spliced out (for
>> down-shifting), you want ideally that an integer number of periods of the
>> audio tone is spliced in or out.
>>
>>
>> --
>>
>> 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] pitch shifting vs sample rate

2019-03-15 Thread Alex Dashevski
Hi,

It should not be circular buffer.
Could you explain meanings of "fade in", "fade out", "splice in", and
"splice out" ?

Thanks,
Alex

‫בתאריך יום ו׳, 15 במרץ 2019 ב-0:14 מאת ‪robert bristow-johnson‬‏ <‪
r...@audioimagination.com‬‏>:‬

>
>
>  Original Message 
> Subject: [music-dsp] pitch shifting vs sample rate
> From: "Alex Dashevski" 
> Date: Thu, March 14, 2019 2:55 pm
> To: music-dsp@music.columbia.edu
> --
>
> >
> > Let's assume we have recorder buffer(input) and playback buffer(output)
> > with the same size.
> > I sample input signal at 8Khz and output signal at 9Khz.
> > My question is:
> > Why isn't it equivalent to pitch shifting ?
> >
>
> well, you didn't say how the samples in the playback buffer are defined.
> let's say that you are simply copying the input buffer to the output
> buffer.  or, even simpler, let's say that the input buffer and output
> buffer are coincidental, the same block of memory with two different points
> writing into it and reading out of it.  and let's say that these buffers
> are *circular* FIFO buffers.
>
> so, the output pointer advances 9 samples in the same amount of time that
> the input pointer advances 8 samples.  that would be pitch shifting, but
> you would have a click in the output every time the output pointer
> overtakes and passes the input pointer.  a good pitch shifter would fade
> out the signal from the output pointer before it catches up to the input
> pointer and would fade in the signal from another output pointer that is
> farther behind.  and would continue to do this.  once the signal is
> completely faded out, that output pointer is discarded and the fade-in
> output pointer (that was farther behind) becomes the nominal output pointer
> (which is still advancing 9 samples in the time the input pointer advances
> 8 samples).  when that gets too close behind the input pointer, we do this
> again and begin cross-fading to the signal further behind.
>
> a better pitch shifter would make sure that the new, fade-in output
> pointer is pointing to the waveform that looks similar to the fade-out
> output pointer.  this is what pitch detection is good for.  so when extra
> audio is spliced in (for up-shifting) or audio is spliced out (for
> down-shifting), you want ideally that an integer number of periods of the
> audio tone is spliced in or out.
>
>
> --
>
> 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] pitch shifting vs sample rate

2019-03-14 Thread robert bristow-johnson



�
 Original Message 

Subject: [music-dsp] pitch shifting vs sample rate

From: "Alex Dashevski" 

Date: Thu, March 14, 2019 2:55 pm

To: music-dsp@music.columbia.edu

--



>

> Let's assume we have recorder buffer(input) and playback buffer(output)

> with the same size.

> I sample input signal at 8Khz and output signal at 9Khz.

> My question is:

> Why isn't it equivalent to pitch shifting ?

>
well, you didn't say how the samples in the playback buffer are defined.� let's 
say that you are simply copying the input buffer to the output buffer.� or, 
even simpler, let's say that the input buffer and output buffer are 
coincidental, the same block of memory with two
different points writing into it and reading out of it.� and let's say that 
these buffers are *circular* FIFO buffers.
so, the output pointer advances 9 samples in the same amount of time that the 
input pointer advances 8 samples.� that would be pitch shifting, but you would 
have a
click in the output every time the output pointer overtakes and passes the 
input pointer.� a good pitch shifter would fade out the signal from the output 
pointer before it catches up to the input pointer and would fade in the signal 
from another output pointer that is farther behind.� and
would continue to do this.� once the signal is completely faded out, that 
output pointer is discarded and the fade-in output pointer (that was farther 
behind) becomes the nominal output pointer (which is still advancing 9 samples 
in the time the input pointer advances 8 samples).� when
that gets too close behind the input pointer, we do this again and begin 
cross-fading to the signal further behind.
a better pitch shifter would make sure that the new, fade-in output pointer is 
pointing to the waveform that looks similar to the fade-out output pointer.� 
this is what
pitch detection is good for.� so when extra audio is spliced in (for 
up-shifting) or audio is spliced out (for down-shifting), you want ideally that 
an integer number of periods of the audio tone is spliced in or out.

--



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