Re: [music-dsp] Real-time pitch shifting?

2018-05-25 Thread Eder Souza
A lot of trick but I did


https://www.youtube.com/watch?v=YT-zAX3S850

https://www.youtube.com/watch?v=QzVfkgUkLIY

Fast Enough...


Was fun write the code :-)



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

On Tue, May 22, 2018 at 4:12 PM, Chris Cannam 
wrote:

>
> On Tue, 22 May 2018, at 14:09, Sound of L.A. Music and Audio wrote:
> > With the voice it is even more tricky, since the formant shaping is
> > different for other frequencies. One reason is, that there are more than
> > one "equalizer" involved. Just putting the whole track to a hight frequ
> > will disreagard this.
>
> Yes, with this sort of thing it's important to remember that what you're
> trying to do is not really possible.
>
> Ultimately you're asking to produce the sound that would have resulted
> from the same performers playing the same thing faster, slower, or in a
> different key. There's nothing like enough information in the audio to do
> that. If a convenient fudge like the phase vocoder happens to work usefully
> in some cases, great.
>
>
> Chris
> ___
> 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] Real-time pitch shifting?

2018-05-22 Thread Chris Cannam

On Tue, 22 May 2018, at 14:09, Sound of L.A. Music and Audio wrote:
> With the voice it is even more tricky, since the formant shaping is 
> different for other frequencies. One reason is, that there are more than 
> one "equalizer" involved. Just putting the whole track to a hight frequ 
> will disreagard this.

Yes, with this sort of thing it's important to remember that what you're trying 
to do is not really possible.

Ultimately you're asking to produce the sound that would have resulted from the 
same performers playing the same thing faster, slower, or in a different key. 
There's nothing like enough information in the audio to do that. If a 
convenient fudge like the phase vocoder happens to work usefully in some cases, 
great.


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



Re: [music-dsp] Real-time pitch shifting?

2018-05-22 Thread Chris Cannam

On Tue, 22 May 2018, at 18:31, Matt Ingalls wrote:
> As far as I can understand it, it seems to be along the same lines as 
> that Bernsee blog, but with peak detection.

I think that should work a lot better than what you have -- although Eric 
Brombaugh's experience earlier in the thread may be more relevant.

Note that the Laroche-Dolson "identity phase locking" time-stretcher (a) is 
patented, although that may be about to expire, and (b) doesn't usually sound 
as good as more computationally-expensive methods that adjust phases 
individually but influenced by local gradient, as in Rubber Band or the newer, 
interesting approach in the recent paper Corey K just cited. (It tends to 
introduce a metallic edge.) The same might be true of the related pitch-shifter.

I guess it should be possible to do formant adjustment at the same time, which 
would be nice.


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



Re: [music-dsp] Real-time pitch shifting?

2018-05-22 Thread Matt Ingalls
> On May 21, 2018, at 2:08 PM, robert bristow-johnson 
>  wrote:
> 
> unless you're gonna worry about formants, pitch shifting is just resampling 
> applied to the output (or input) of a time scaler.  i would do whichever 
> operation increases the data first.  so pitch shifting up would be 
> time-stretch first, then resample.  pitch shifting down would be resample 
> first and then time-compress.

Yes, but that Laroche/Dolson paper 
https://www.ee.columbia.edu/~dpwe/papers/LaroD99-pvoc.pdf 
 from 1999
presents a way for pitch manipulation without doing the time modification step. 
 

As far as I can understand it, it seems to be along the same lines as that 
Bernsee blog, but with peak detection.

I guess I am wondering if this road is really worth going down 
— if it won't sound as good as just basic linear interpolated sr conversion in 
time domain, for me the answer is no.



> On May 22, 2018, at 1:21 AM, Chris Cannam  
> wrote:
> 
>  I was guessing that meant he wanted to pitch-shift the streams individually, 
> perhaps by different amounts, without changing the frame alignments for the 
> individual streams, so they could be summed in the frequency domain and fed 
> into a single IFFT/overlap/add at the end.


Exactly!


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

Re: [music-dsp] Real-time pitch shifting?

2018-05-22 Thread Sound of L.A. Music and Audio

Hello all

Am 22.05.2018 um 14:11 schrieb Theo Verelst:
> fundamentally limited by the length of the sinc (-like) "perfect"
> resample kernel, and the required delay for accurate re-sampling might
> be considerable!
This can be limited by an increasing sampling rate reducing the 
coarsness, but leads to large number of TAPs. I had some progress with 
this regular issue in digital signal processing in replacing DSPs by 
FPGAs running at high speeds.


http://www.96khz.org/htm/realtimeresampler2.htm

> getting a huge transient at the end, or you do some sort of 
smoothing. This will always be an issue hard to avoid. Smooting in 
between parallely (pipelined) processed wavelets is essential and th 
shorter the fragments are the less artifacts one will get. Doing this in 
the frequency domain will require e.g. a tight FFT with high overlapping.


We have similar issues when processing radar reflections or time of 
flight problems.




> Also, for programs meant for the human voice, there might be issues
> because those programs might do estimations of the voice parameters in
> order to change pitch
With the voice it is even more tricky, since the formant shaping is 
different for other frequencies. One reason is, that there are more than 
one "equalizer" involved. Just putting the whole track to a hight frequ 
will disreagard this.


Moreover the tuning is not even correct:

Very skilled singers perform a slightly higher pitch to the dark "A", 
"O" and "U" in comparison to the "I" and "E". This is because they 
appear lower even if sung on the right pitch. But this is not static but 
realated to the music. Very low "A" are overpitched a bit more, than 
higher "A" when singing.


All this cannot be handled by a static pitch shift.

And there is much more...


engineer

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



Re: [music-dsp] Real-time pitch shifting?

2018-05-22 Thread Theo Verelst
Interesting topic since it became a bit of hype when computer audio processing  programs 
started to include "stretching" as an option.


Two main thoughts I haven't heard yet: the real time matter, which in the normal digital 
domain sampling frequency ranges poses the question of the length of the re-sample kernel, 
and the impossibility of "getting it right" in terms of waves becoming fundamentally cut 
short (or long) when changing pitch. That's the resample filter has an accuracy which is 
fundamentally limited by the length of the sinc (-like) "perfect" resample kernel, and the 
required delay for accurate re-sampling might be considerable!


The time stretch operator isn't usually a bijection, because in the case of many often 
occurring stretch parameters, there's going to be rounding of the number of waves being 
used for certain harmonics. Simply put, if you shift a sine wave of 100 full waves to 1/3 
it's length, you're getting a huge transient at the end, or you do some sort of smoothing. 
Is fine, but that's a fundamental matter, not a matter of the inaccuracy of the method.


Also, for programs meant for the human voice, there might be issues because those programs 
might do estimations of the voice parameters in order to change pitch, such as to preserve 
the perceived size of the vocal tract, for instance (to prevent Micky Mouse sound). 
Or,when used on a sound with let's say FM components like a piano tone, you might want to 
analyze that as well, to include that in the re-synthesis pf the tone(s). Of course that 
would seem hard.


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



Re: [music-dsp] Real-time pitch shifting?

2018-05-22 Thread Chris Cannam

On Mon, 21 May 2018, at 22:08, robert bristow-johnson wrote:
> From: "Chris Cannam" 
> > I assume this wouldn't work with your use-case as you want to keep the 
> > frames synchronised so you can resynthesise everything in one go.
> it would need more buffering, but you can do it real-time, even with the 
> frames being reset and initially aligned with a transient.

Yep, agreed.

But Matt said "i have a bunch of streams in the frequency domain and wanted to 
independently manipulate their pitch without having to go back into time domain 
for each". I was guessing that meant he wanted to pitch-shift the streams 
individually, perhaps by different amounts, without changing the frame 
alignments for the individual streams, so they could be summed in the frequency 
domain and fed into a single IFFT/overlap/add at the end.


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



Re: [music-dsp] Real-time pitch shifting?

2018-05-21 Thread robert bristow-johnson







 Original Message 

Subject: Re: [music-dsp] Real-time pitch shifting?

From: "Chris Cannam" <can...@all-day-breakfast.com>

Date: Mon, May 21, 2018 3:35 pm

To: music-dsp@music.columbia.edu

--



>

> On Mon, 21 May 2018, at 19:54, Matt Ingalls wrote:

>> "Rubber Band implements pitch-shifting using the standard technique of

>> resampling

>> This method has the advantage of making the amount of pitch adjustment

>> extremely accurate and stable, even for small changes.
Rubber Band sounds pretty good to me and to my ears made of clay.� i thought, 
back in my day, that SPEED (SoundToys) sounded pretty good.

�
> It also means you only have to solve the auditory problem once -- if you can 
> keep the artifacts down for the time stretcher, then pitch-shifting is free.
unless you're gonna worry about formants, pitch shifting is just resampling 
applied to the output (or input) of a time
scaler.� i would do whichever operation increases the data first.� so pitch 
shifting up would be time-stretch first, then resample.� pitch shifting down 
would be resample first and then time-compress.




> Unfortunately it does create some complications in terms of managing the 
> proper frame timing and so on.
resetting the frame alignment whenever a transient is detected is a real pain 
in the ass.� but the idea to do that then let the phases drift (glitchlessly) 
after the transient is a
good idea.� doesn't seem to solve the phasiness problem for human voice when 
pitches change but no transient is detected (then phases can get outa alignment 
again).� i really don't know a clean way of keeping those phases well aligned.
�
> I assume this wouldn't work with your use-case as you want to keep the frames 
> synchronised so you can resynthesise everything in one go.
it would need more buffering, but you can do it real-time, even with the frames 
being reset and initially aligned with a transient.�
but it gets complicated and the throughput delay gets large.

--



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] Real-time pitch shifting?

2018-05-21 Thread Eric Brombaugh

On 05/21/2018 12:35 PM, Chris Cannam wrote:



And I hear what you are saying about the the post, looking at the code
was easier for me:
http://blogs.zynaptiq.com/bernsee/repo/smbPitchShift.cpp


Yes, the actual shifting step is bizarrely crude considering the work done in 
the rest of the code (and the post). He must have known that. It could surely 
be substantially improved by working on the shifting interpolation a bit -- not 
that I've tried it.


I've used the Bernsee stuff as a starting point for a real time phase 
vocoder-based audio effect running on an embedded ARM processor. I found 
that there was a lot of additional work required to get good sounding 
fractional shifts, so going beyond the crude approach used in the 
example code took more effort than I expected.


tl;dr - working in the frequency domain is more complicated than you 
might think at first...


Eric

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



Re: [music-dsp] Real-time pitch shifting?

2018-05-21 Thread Chris Cannam

On Mon, 21 May 2018, at 19:54, Matt Ingalls wrote:
> "Rubber Band implements pitch-shifting using the standard technique of 
> resampling…
> This method has the advantage of making the amount of pitch adjustment 
> extremely accurate and stable, even for small changes.”

It also means you only have to solve the auditory problem once -- if you can 
keep the artifacts down for the time stretcher, then pitch-shifting is free. 
Unfortunately it does create some complications in terms of managing the proper 
frame timing and so on.

I assume this wouldn't work with your use-case as you want to keep the frames 
synchronised so you can resynthesise everything in one go.

> And I hear what you are saying about the the post, looking at the code 
> was easier for me: 
> http://blogs.zynaptiq.com/bernsee/repo/smbPitchShift.cpp

Yes, the actual shifting step is bizarrely crude considering the work done in 
the rest of the code (and the post). He must have known that. It could surely 
be substantially improved by working on the shifting interpolation a bit -- not 
that I've tried it.


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

Re: [music-dsp] Real-time pitch shifting?

2018-05-21 Thread Matt Ingalls
Ok thanks everyone for the info. and thanks RJ for the Rubber Band tech notes 
page, which states:

"Rubber Band implements pitch-shifting using the standard technique of 
resampling…
This method has the advantage of making the amount of pitch adjustment 
extremely accurate and stable, even for small changes.”

(This certainly is not the case with that shifting algorithm I was using from 
that Bernsee blog - even small adjustments created undesirable artifacts, 
And I hear what you are saying about the the post, looking at the code was 
easier for me: http://blogs.zynaptiq.com/bernsee/repo/smbPitchShift.cpp)

It seems that the freq-domain solutions people mentioned here are also 
stretch+resampling. I would be interested to know exactly how Melodyne does it!

I wish these sites had sound examples of just simple tones, it’s kind of hard 
to hear for artifacts with full-spectrum music examples..

Fyi - someone was wondering what exactly I was after. 
Basically, i have a bunch of streams in the frequency domain and wanted to 
independently manipulate
their pitch without having to go back into time domain for each.

Thanks,
Matt


> On May 21, 2018, at 6:46 AM, Chris Cannam  
> wrote:
> 
> 
> On Sat, 19 May 2018, at 21:34, RJ Skerry-Ryan wrote:
>> It may not be the state of the art, but RubberBand
>>  is, I believe, the best open source
>> pitch shift / time stretch library out there at the moment, and can run in
>> realtime on modern CPUs.
> 
> See here for a page very briefly summarising how Rubber Band works:
> https://breakfastquay.com/rubberband/technical.html
> In short, it's a phase vocoder that uses a handful of the available tricks to 
> try to reduce phasiness, without doing any very expensive analysis such as 
> sinusoidal modelling.
> 
> There is actually a fine sinusoidal-modelling time stretcher hiding in 
> Audacity, using the SBSMS library by Clayton Otey. This isn't a real-time 
> method as far as I can see, and is slow to run, but it's worth checking out 
> -- you activate it by selecting the Change Tempo or Change Pitch effect and 
> checking the option labelled "Use high quality stretching". Code at 
> https://github.com/audacity/audacity/tree/master/lib-src/sbsms.
> 
> Stephan Bernsee's old post is a bit of a puzzle, since it contains quite a 
> lot about analysis/resynthesis but very little about actual pitch shifting.
> 
> 
> Chris
> ___
> 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] Real-time pitch shifting?

2018-05-21 Thread Corey K
"Phase Vocoder Done Right" is a fairly interesting new paper I came across,
that talks about a strategy to preserve both vertical and horizontal phase
coherence. Examples (which sound pretty good) and link to paper are here:
http://ltfat.github.io/notes/050/

-Corey

On Mon, May 21, 2018, 06:46 Chris Cannam 
wrote:

>
> On Sat, 19 May 2018, at 21:34, RJ Skerry-Ryan wrote:
> > It may not be the state of the art, but RubberBand
> >  is, I believe, the best open
> source
> > pitch shift / time stretch library out there at the moment, and can run
> in
> > realtime on modern CPUs.
>
> See here for a page very briefly summarising how Rubber Band works:
> https://breakfastquay.com/rubberband/technical.html
> In short, it's a phase vocoder that uses a handful of the available tricks
> to try to reduce phasiness, without doing any very expensive analysis such
> as sinusoidal modelling.
>
> There is actually a fine sinusoidal-modelling time stretcher hiding in
> Audacity, using the SBSMS library by Clayton Otey. This isn't a real-time
> method as far as I can see, and is slow to run, but it's worth checking out
> -- you activate it by selecting the Change Tempo or Change Pitch effect and
> checking the option labelled "Use high quality stretching". Code at
> https://github.com/audacity/audacity/tree/master/lib-src/sbsms.
>
> Stephan Bernsee's old post is a bit of a puzzle, since it contains quite a
> lot about analysis/resynthesis but very little about actual pitch shifting.
>
>
> Chris
> ___
> 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] Real-time pitch shifting?

2018-05-21 Thread Chris Cannam

On Sat, 19 May 2018, at 21:34, RJ Skerry-Ryan wrote:
> It may not be the state of the art, but RubberBand
>  is, I believe, the best open source
> pitch shift / time stretch library out there at the moment, and can run in
> realtime on modern CPUs.

See here for a page very briefly summarising how Rubber Band works:
https://breakfastquay.com/rubberband/technical.html
In short, it's a phase vocoder that uses a handful of the available tricks to 
try to reduce phasiness, without doing any very expensive analysis such as 
sinusoidal modelling.

There is actually a fine sinusoidal-modelling time stretcher hiding in 
Audacity, using the SBSMS library by Clayton Otey. This isn't a real-time 
method as far as I can see, and is slow to run, but it's worth checking out -- 
you activate it by selecting the Change Tempo or Change Pitch effect and 
checking the option labelled "Use high quality stretching". Code at 
https://github.com/audacity/audacity/tree/master/lib-src/sbsms.

Stephan Bernsee's old post is a bit of a puzzle, since it contains quite a lot 
about analysis/resynthesis but very little about actual pitch shifting.


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



Re: [music-dsp] Real-time pitch shifting?

2018-05-21 Thread Neil Goldman
SoundTouch is time domain, based on a Synchronous-OverLap-Add (SOLA). I
haven't gone through the source, but an article on their website explains a
few different methods and states at the bottom SoundTouch is SOLA based.

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

I've used SoundTouch a lot since it's one of Reaper's built-in algorithm
options, anecdotally I can say it works well enough on monophonic sources
like a voice but anything complex enough quickly turns into "glitch as an
effect" type of artefacts rather than remaining very useful for its
original purpose.

I think Elastique Pitch is the best among Reaper's built-in realtime
algorithms, it has "Soloist" (for monophonic) and "Pro" options too, but it
seems that one is proprietary...

On Sun, May 20, 2018 at 10:17 PM, robert bristow-johnson <
r...@audioimagination.com> wrote:

>
>
>  Original Message ------------
> Subject: Re: [music-dsp] Real-time pitch shifting?
> From: "RJ Skerry-Ryan" <rr...@mixxx.org>
> Date: Sat, May 19, 2018 4:34 pm
> To: music-dsp@music.columbia.edu
> --
>
> > It may not be the state of the art, but RubberBand
> > <https://breakfastquay.com/rubberband/> is, I believe, the best open
> source
> > pitch shift / time stretch library out there at the moment, and can run
> in
> > realtime on modern CPUs. SoundTouch <https://www.surina.net/soundtouch/>
> is
> > another good option that is cheaper to compute (and therefore easier to
> run
> > in realtime on e.g. a mobile CPU).
> >
>
> these both sound interesting (in their demos).  thanks for filling me in
> on these.  the SoundTouch at stretch to double mode (or cut tempo in half)
> has splicing sounds or "glitches", many per second, so i sorta suspect that
> one to be time domain, but maybe it's not.  i wonder what that might sound
> like for monophonic vocal or something that might expose the "phasiness"
> that i dunno how to beat using a phase vocoder.  a good time-domain pitch
> shifter (not multiband pitch shifting) naturally is able to keep phases
> between harmonics synchronized (because it doesn't separate the harmonics
> and deal with each separately).  but there is the potential for glitches
> when the input is not sufficiently periodic.
>
>
>
> --
>
> 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] Real-time pitch shifting?

2018-05-20 Thread robert bristow-johnson







 Original Message 

Subject: Re: [music-dsp] Real-time pitch shifting?

From: "RJ Skerry-Ryan" <rr...@mixxx.org>

Date: Sat, May 19, 2018 4:34 pm

To: music-dsp@music.columbia.edu

--



> It may not be the state of the art, but RubberBand

> <https://breakfastquay.com/rubberband/> is, I believe, the best open source

> pitch shift / time stretch library out there at the moment, and can run in

> realtime on modern CPUs. SoundTouch <https://www.surina.net/soundtouch/> is

> another good option that is cheaper to compute (and therefore easier to run

> in realtime on e.g. a mobile CPU).

>
these both sound interesting (in their demos).� thanks for filling me in on 
these.� the SoundTouch at stretch to double mode (or cut tempo in half) has 
splicing sounds or "glitches", many per second, so i sorta suspect that one to 
be time domain, but maybe it's
not.� i wonder what that might sound like for monophonic vocal or something 
that might expose the "phasiness" that i dunno how to beat using a phase 
vocoder.� a good time-domain pitch shifter (not multiband pitch shifting) 
naturally is able to keep phases between harmonics
synchronized (because it doesn't separate the harmonics and deal with each 
separately).� but there is the potential for glitches when the input is not 
sufficiently periodic.
�
--


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] Real-time pitch shifting?

2018-05-19 Thread Stefan Sullivan
Surprisingly, googling for mq synthesis produces fewer results than I
thought. It's not very recent but my understanding is that it was the
relatively modern approach to a phase vocoder. I didn't find any library
implementing it but I found a couple older papers about it.

https://www.ll.mit.edu/publications/journal/pdf/vol01_no2/1.2.3.speechprocessing.pdf

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.21.8075=rep1=pdf

Does anybody else know more about whether mq analysis/synthesis has been
left behind by the industry? I'm also not familiar with Serra's work on
sinusoid + noise. Maybe it's the better algorithm.

I'm also curious if anybody knows whether the melodyne/Antares class of
algorithms have a speech model in them. I'm unclear if OP wanted pitch
shifting for instrumental music or not, but I'm definitely curious about
the state of the art for musical frequency/scale modification for
instrumental musical signals.

-Stefan S

On Sat, May 19, 2018, 13:35 RJ Skerry-Ryan  wrote:

> It may not be the state of the art, but RubberBand
>  is, I believe, the best open
> source pitch shift / time stretch library out there at the moment, and can
> run in realtime on modern CPUs. SoundTouch
>  is another good option that is
> cheaper to compute (and therefore easier to run in realtime on e.g. a
> mobile CPU).
>
> Mixxx  uses both (giving the user the choice, since
> they may want SoundTouch on older CPUs) for realtime pitch shifting and
> tempo adjustment.
>
> On Sat, May 19, 2018 at 1:29 PM gm  wrote:
>
>>
>>
>> Am 19.05.2018 um 20:19 schrieb Nigel Redmon:
>> > Again, my knowledge of Melodyne is limited (to seeing a demo years
>> > ago), but I assume it’s based on somewhat similar techniques to those
>> > taught by Xavier Serra (https://youtu.be/M4GRBJJMecY)—anyone know for
>> > sure?
>>
>> I always thought the seperation of notes was based on cepstrum?
>> My idea is that a harmonic tone, comb like in the spectrum, is a peak in
>> the cepstrum. (isn't it?)
>> Probably then you can also track pitch by following a peak in the
>> cepstrum.
>> Not sure if this makes sense?
>> I never tried Melodyne in person so I am not sure what it is capable of.
>>
>>
>>
>> ___
>> 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] Real-time pitch shifting?

2018-05-19 Thread gm



Am 19.05.2018 um 20:19 schrieb Nigel Redmon:
Again, my knowledge of Melodyne is limited (to seeing a demo years 
ago), but I assume it’s based on somewhat similar techniques to those 
taught by Xavier Serra (https://youtu.be/M4GRBJJMecY)—anyone know for 
sure?


I always thought the seperation of notes was based on cepstrum?
My idea is that a harmonic tone, comb like in the spectrum, is a peak in 
the cepstrum. (isn't it?)

Probably then you can also track pitch by following a peak in the cepstrum.
Not sure if this makes sense?
I never tried Melodyne in person so I am not sure what it is capable of.



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

Re: [music-dsp] Real-time pitch shifting?

2018-05-19 Thread Nigel Redmon
I think the key, in the request, is “realtime” (although he also says "ideally 
in the frequency domain”—not that they are mutually exclusive for practical 
use, just that it raises questions in my mind exactly what he’s after). I’ve 
never used Melodyne, but I think it’s designed around non-realtime, no? It’s 
been around a long time, so maybe it is usable realtime, but for old questions 
on the web I see the answer “no”.

Again, my knowledge of Melodyne is limited (to seeing a demo years ago), but I 
assume it’s based on somewhat similar techniques to those taught by Xavier 
Serra (https://youtu.be/M4GRBJJMecY <https://youtu.be/M4GRBJJMecY>)—anyone know 
for sure?

> On May 17, 2018, at 5:32 PM, robert bristow-johnson 
> <r...@audioimagination.com> wrote:
> 
>  
> the current state of the art for pitch manipulation is, of course, Melodyne.
> 
> dunno how Peter Neubacker does it.
> 
> somewhere, i have some old MATLAB code that does a time-scaling via 
> phase-vocoder.  you can combine that with resampling to get a pitch shifter.
> 
> if it's pitch shifting a monophonic note, i would recommend a decent 
> time-domain cross-fading method that has a decent pitch detector so that the 
> splice displacements are good.
> 
> a Laroche/Dolson did a real-time phase vocoder pitch shifter.  all doable but 
> it's not a small project.
> 
> 
> ------------ Original Message 
> Subject: [music-dsp] Real-time pitch shifting?
> From: "Matt Ingalls" <m...@8dio.com>
> Date: Thu, May 17, 2018 4:24 pm
> To: music-dsp@music.columbia.edu
> --
> 
> > I tried porting Stephan Bernsee’s code from his old DSP Dimension blog:
> > http://blogs.zynaptiq.com/bernsee/pitch-shifting-using-the-ft/ 
> > <http://blogs.zynaptiq.com/bernsee/pitch-shifting-using-the-ft/>
> >
> > But it sounds pretty crappy, even compared to simple time-domain linear 
> > interpolation.
> >
> > And now wondering what's the state of the art for real-time pitch 
> > manipulation?
> > (for my purposes, ideally in the frequency domain)
> >
> > Is it still just phase vocoder with peak-detection ala Laroche/Dolson?
> > https://www.ee.columbia.edu/~dpwe/papers/LaroD99-pvoc.pdf
> >
> > Thanks!
> > Matt
> >
> > ___
> > 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

Re: [music-dsp] Real-time pitch shifting?

2018-05-17 Thread robert bristow-johnson



�
the current state of the art for pitch manipulation is, of course, Melodyne.
dunno how Peter Neubacker does it.
somewhere, i have some old MATLAB code that does a time-scaling via 
phase-vocoder.� you can combine that with resampling to get a pitch shifter.
if
it's pitch shifting a monophonic note, i would recommend a decent time-domain 
cross-fading method that has a decent pitch detector so that the splice 
displacements are good.
a Laroche/Dolson did a real-time phase vocoder pitch shifter.� all doable but 
it's not a small project.

 Original Message 

Subject: [music-dsp] Real-time pitch shifting?

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

Date: Thu, May 17, 2018 4:24 pm

To: music-dsp@music.columbia.edu

--



> I tried porting Stephan Bernsees code from his old DSP Dimension blog:

> http://blogs.zynaptiq.com/bernsee/pitch-shifting-using-the-ft/ 
> <http://blogs.zynaptiq.com/bernsee/pitch-shifting-using-the-ft/>

>

> But it sounds pretty crappy, even compared to simple time-domain linear 
> interpolation.

>

> And now wondering what's the state of the art for real-time pitch 
> manipulation?

> (for my purposes, ideally in the frequency domain)

>

> Is it still just phase vocoder with peak-detection ala Laroche/Dolson?

> https://www.ee.columbia.edu/~dpwe/papers/LaroD99-pvoc.pdf

>

> Thanks!

> Matt

>

> ___

> 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

Re: [music-dsp] Real-time pitch shifting?

2018-05-17 Thread Alan Wolfe
I wrote something in time domain using granular synthesis that doesn't
sound too awful to me. There's explanation and samples on the page, as well
as source code.

https://blog.demofox.org/2018/03/05/granular-audio-synthesis/


On Thu, May 17, 2018 at 1:24 PM, Matt Ingalls  wrote:

> I tried porting Stephan Bernsee’s code from his old DSP Dimension blog:
>  http://blogs.zynaptiq.com/bernsee/pitch-shifting-using-the-ft/
>
> But it sounds pretty crappy, even compared to simple time-domain linear
> interpolation.
>
> And now wondering what's the state of the art for real-time pitch
> manipulation?
> (for my purposes, ideally in the frequency domain)
>
> Is it still just phase vocoder with peak-detection ala Laroche/Dolson?
> https://www.ee.columbia.edu/~dpwe/papers/LaroD99-pvoc.pdf
>
> Thanks!
> Matt
>
>
> ___
> 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] Real-time pitch shifting?

2018-05-17 Thread Matt Ingalls
I tried porting Stephan Bernsee’s code from his old DSP Dimension blog:
 http://blogs.zynaptiq.com/bernsee/pitch-shifting-using-the-ft/ 


But it sounds pretty crappy, even compared to simple time-domain linear 
interpolation.

And now wondering what's the state of the art for real-time pitch manipulation?
(for my purposes, ideally in the frequency domain)

Is it still just phase vocoder with peak-detection ala Laroche/Dolson?
https://www.ee.columbia.edu/~dpwe/papers/LaroD99-pvoc.pdf

Thanks!
Matt

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