FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > DSP

DSP comp.dsp newsgroup, mailing list

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 05-21-2006, 05:30 PM
DSP team
Guest
 
Posts: n/a
Default Announce: Fast real-time-stretching and resampling algorithms (Procrustes/Sylea)

Here are some excerpts from an old comp.dsp thread article:

> What I did was using the Pitch Shifter example from the page
> (finetuned it/speeded it up a bit with some different FFT algorithm)
> to change the pitch. Afterwards I altered the samplerate so the pitch
> would be back to where it was, but now the duration has changed.


Instead of shifting the pitch and resampling, you can do it at once! E.g.
there is a real-time-stretching algorithm called "Procrustes" available a
our web site - http://www.dspteam.com/ - with demo players showing ho
fast yet good sounding it can be done if written 100% in Assembler an
optimised to extremes by utilising the x86 SIMD instruction sets 3DNow
and SSE while taking care of the transients. It's available fo
licensing.

>> For my final year project I need to understand how CD mixers work. I
>> know they alter the sample rate to change the speed (pitch) of the
>> track being output thus allowing the DJ to mix the tracks (getting
>> the tempo's to match).
>>
>> How is this done? Are there specific DSP processors to alter the
>> sample rate? Or can any standard audio DSP processor be programmed
>> to perform this task?


Some resampling techniques are described at the same web site of ours
http://www.dspteam.com/resample.html - and a high-quality yet fas
real-time resampling algorithm called "Sylea" (the wife of Procrustes :
with demo players is available there for licensing too.

Audio DSP team
Reply With Quote
  #2 (permalink)  
Old 05-23-2006, 02:05 AM
Paul Toritz
Guest
 
Posts: n/a
Default Re: Announce: Fast real-time-stretching and resampling algorithms (Procrustes/Sylea)

DSP team wrote:

> Some resampling techniques are described at the same web site of ours -
> http://www.dspteam.com/resample.html - and a high-quality yet fast
> real-time resampling algorithm called "Sylea" (the wife of Procrustes
> with demo players is available there for licensing too.


How does your resampler compare to Secret Rabbit Code:

http://www.mega-nerd.com/SRC/

Secret Rabbit Code gives specs for signal to noise ratio and bandwidth
as well as speed.

Paul

Reply With Quote
  #3 (permalink)  
Old 05-23-2006, 09:45 AM
Andor
Guest
 
Posts: n/a
Default Re: Announce: Fast real-time-stretching and resampling algorithms (Procrustes/Sylea)

Paul Toritz wrote:
> DSP team wrote:
>
> > Some resampling techniques are described at the same web site of ours -
> > http://www.dspteam.com/resample.html - and a high-quality yet fast
> > real-time resampling algorithm called "Sylea" (the wife of Procrustes
> > with demo players is available there for licensing too.

>
> How does your resampler compare to Secret Rabbit Code:
>
> http://www.mega-nerd.com/SRC/
>
> Secret Rabbit Code gives specs for signal to noise ratio and bandwidth
> as well as speed.


Some audio rate resamplers were tested and the results are available
here (select the resampler type from the "NAVIGATION" drop-down box):

http://src.infinitewave.ca/

I don't know if either of the above was included in the test. Perhaps
Erik knows if his code was used in one of the products from that
webpage?

Regards,
Andor

Reply With Quote
  #4 (permalink)  
Old 05-23-2006, 04:50 PM
DSP team
Guest
 
Posts: n/a
Default Re: Announce: Fast real-time-stretching and resampling algorithms (Procrustes/Sylea)

Paul Toritz wrote:

> How does your resampler compare to Secret Rabbit Code:
>
> http://www.mega-nerd.com/SRC/


Let the others say this

> Secret Rabbit Code gives specs for signal to noise ratio and bandwidth
> as well as speed.


Our bandwidth is 47.7% of the sampling rate. You can see the SNR
spectrum on our now updated resampling pag
(http://www.dspteam.com/resample.html) as well as some speed measurements
You can measure the speed on your PC too by trying the demo player (FP
version only) or the Winamp plugin (FPU + SIMD versions).

I can't see speed results on the SRC site (says the page is stil
incomplete).

Audio DSP team
Reply With Quote
  #5 (permalink)  
Old 06-06-2006, 01:29 PM
erikd
Guest
 
Posts: n/a
Default Re: Announce: Fast real-time-stretching and resampling algorithms (Procrustes/Sylea)

HI all,

Sorry for dragging this post back up.My ISP's usenet service was
dodgy for a couple of weeks and I was too busy to muck about with
this google thing. It looks like my ISP might now have its issues
sorted out so I can follow comp.dsp again.

Andor wrote:

> Some audio rate resamplers were tested and the results are available
> here (select the resampler type from the "NAVIGATION" drop-down box):
>
> http://src.infinitewave.ca/


I can't find any definitive details of how this testing was performed,
but it looks like they just generated a 1kHz sine wave at 96kHz and
then downsampled it to 44.1kHz and FFT-ed the result.

If that is indeed the case, then I would call this a particularly poor
test that bears little to no resemblance to real world uses of sample
rate converters. Its also not a very good methodology for measuring
sample rate converters. The main problem is that real world signals
sampled at 96 khz *will* have audio signals above 22.05 kHz and
these *must* be attenuated when downsampling to 44.1kHz

A better test would be to have a 1 khz since wave at -0.1 db Fs and
a 22.06kHz sine wave at say -60 dB Fs. The idea here is that if the
converter is doing its job properly, the 22.06 kHz sine wave will be
attenuated sufficiently so that any alias frequencies it produces will
be below the noise floor of the conversion process.

At least some of the converters at the above link will fail miserably
on this test I am suggesting. For instance, if you go to the above
link and select the "Transition" display mode, you will see that the
Ableton Live converter does a very poor job of attenuating alias
frequencies above 22.05 kHz in comparison to say the converter in
Adobe Audition. The Ableton Live converter is not the only one with
this problem, just the first one I noticed. In fact some were even
worse.

> I don't know if either of the above was included in the test. Perhaps
> Erik knows if his code was used in one of the products from that
> webpage?


No, none of the products tested on that web page use Secret Rabbit
Code.

Cheers,
Erik

Reply With Quote
  #6 (permalink)  
Old 06-06-2006, 01:33 PM
erikd
Guest
 
Posts: n/a
Default Re: Announce: Fast real-time-stretching and resampling algorithms (Procrustes/Sylea)

DSP team wrote:
> Paul Toritz wrote:
>
> > How does your resampler compare to Secret Rabbit Code:
> >
> > http://www.mega-nerd.com/SRC/

>
> Let the others say this
>
> > Secret Rabbit Code gives specs for signal to noise ratio and bandwidth
> > as well as speed.

>
> Our bandwidth is 47.7% of the sampling rate. You can see the SNR +
> spectrum on our now updated resampling page


How are you measuring this? If you are simply downsampling a low
frequency sine wave you are testing the converter under the most
ideal conditions imaginable. It gets far more interesting to try and
find the worse case behaviour.

> I can't see speed results on the SRC site (says the page is still
> incomplete).


Yeah, I've been meaning to get back to that for ages. Too much to
do and too little time to do it in.

Erik

Reply With Quote
  #7 (permalink)  
Old 06-06-2006, 09:35 PM
Bob Cain
Guest
 
Posts: n/a
Default Re: Announce: Fast real-time-stretching and resampling algorithms(Procrustes/Sylea)

DSP team wrote:

> Instead of shifting the pitch and resampling, you can do it at once! E.g.,
> there is a real-time-stretching algorithm called "Procrustes" available at
> our web site - http://www.dspteam.com/ - with demo players showing how
> fast yet good sounding it can be done if written 100% in Assembler and
> optimised to extremes by utilising the x86 SIMD instruction sets 3DNow!
> and SSE while taking care of the transients. It's available for
> licensing.


Gotta compliment you on the sound quality of your time/tempo
stretching demo players.

I would also be interested to hear players that do real time
frequency/pitch scaling.

A more complete demo would be a player and plugin that does both
scalings simultaneously controlled by 2 sliders having time/tempo on
one and frequency/pitch on the other.


Bob
--

"Things should be described as simply as possible, but no simpler."

A. Einstein
Reply With Quote
  #8 (permalink)  
Old 06-07-2006, 10:43 AM
DSP team
Guest
 
Posts: n/a
Default Re: Announce: Fast real-time-stretching and resampling algorithms (Procrustes/Sylea)

erikd wrote:

>Sorry for dragging this post back up.My ISP's usenet service was
>dodgy for a couple of weeks and I was too busy to muck about with
>this google thing. It looks like my ISP might now have its issues
>sorted out so I can follow comp.dsp again.


You're still lucky - my ISP stopped all their NNTP (news) servers sinc
"nobody uses Usenet anymore", as they explained! And this (according t
themselves) was the only ISP here who had ever had such servers...

>How are you measuring this? If you are simply downsampling a low
>frequency sine wave you are testing the converter under the most
>ideal conditions imaginable. It gets far more interesting to try and
>find the worse case behaviour.


There are spectra for both 440 Hz and 16 kHz sine waves there. While 1
kHz isn't the worst case, it's close. Se
http://www.dspteam.com/resample.html and click on the "440 Hz" and "1
kHz" links to see these spectra.

Bob Cain wrote:

>Gotta compliment you on the sound quality of your time/tempo
>stretching demo players.


Thank you!

>I would also be interested to hear players that do real time
>frequency/pitch scaling.
>
>A more complete demo would be a player and plugin that does both
>scalings simultaneously controlled by 2 sliders having time/tempo on
>one and frequency/pitch on the other.


Well, that's *exactly* the next thing we are now working on - sta
tuned...

Audio DSP team
Reply With Quote
  #9 (permalink)  
Old 06-07-2006, 11:58 AM
Steve Underwood
Guest
 
Posts: n/a
Default Re: Announce: Fast real-time-stretching and resampling algorithms(Procrustes/Sylea)

Bob Cain wrote:
> DSP team wrote:
>
>> Instead of shifting the pitch and resampling, you can do it at once! E.g.,
>> there is a real-time-stretching algorithm called "Procrustes" available at
>> our web site - http://www.dspteam.com/ - with demo players showing how
>> fast yet good sounding it can be done if written 100% in Assembler and
>> optimised to extremes by utilising the x86 SIMD instruction sets 3DNow!
>> and SSE while taking care of the transients. It's available for
>> licensing.

>
> Gotta compliment you on the sound quality of your time/tempo
> stretching demo players.
>
> I would also be interested to hear players that do real time
> frequency/pitch scaling.
>
> A more complete demo would be a player and plugin that does both
> scalings simultaneously controlled by 2 sliders having time/tempo on
> one and frequency/pitch on the other.
>
>
> Bob


Did you try different content? I tried a couple of orchestral things,
and it sounded pretty good. Then I tried a piano sonata. Speedup there
sounds OK, but even small amounts of slow down sounds awful. It sounds
very watery, like the algorithm really can't get a grip on the pitch.
That said, the orchestral bits I tried were pretty neat.

Steve
Reply With Quote
  #10 (permalink)  
Old 06-07-2006, 06:42 PM
DSP team
Guest
 
Posts: n/a
Default Re: Announce: Fast real-time-stretching and resampling algorithms (Procrustes/Sylea)

>Did you try different content? I tried a couple of orchestral things,
>and it sounded pretty good. Then I tried a piano sonata. Speedup there
>sounds OK, but even small amounts of slow down sounds awful. It sounds
>very watery, like the algorithm really can't get a grip on the pitch.
>That said, the orchestral bits I tried were pretty neat.


This is very strange, because I hear nothing of the kind with th
Beethoven's Moonlight sonata (available for download for example a
http://multimedia.utsa.edu:16080/tec...ght_Sonata.mp3
- it sounds quite normal to me, including when slowed down.

What is the sonata you tested? Is it available for download?

Audio DSP team
Reply With Quote
  #11 (permalink)  
Old 06-07-2006, 07:10 PM
Steve Underwood
Guest
 
Posts: n/a
Default Re: Announce: Fast real-time-stretching and resampling algorithms(Procrustes/Sylea)

DSP team wrote:
>>Did you try different content? I tried a couple of orchestral things,
>>and it sounded pretty good. Then I tried a piano sonata. Speedup there
>>sounds OK, but even small amounts of slow down sounds awful. It sounds
>>very watery, like the algorithm really can't get a grip on the pitch.
>>That said, the orchestral bits I tried were pretty neat.

>
>
> This is very strange, because I hear nothing of the kind with the
> Beethoven's Moonlight sonata (available for download for example at
> http://multimedia.utsa.edu:16080/tec...ght_Sonata.mp3)
> - it sounds quite normal to me, including when slowed down.
>
> What is the sonata you tested? Is it available for download?
>
> Audio DSP team


I can't remember which exact sonata it was that sounded awful, but it
was Mitsuko Uchida playing one of Mozart's. I have the whole set of
Mozart Sonatas on my notebook, losslessly ripped from my set of CDs. I
picked a few odd files at random from those, and from a set of Mozart
concertos, to try. The really bad solo piano pieces were medium speed,
and not desperately complex.

Regards,
Steve
Reply With Quote
  #12 (permalink)  
Old 06-07-2006, 07:59 PM
DSP team
Guest
 
Posts: n/a
Default Re: Announce: Fast real-time-stretching and resampling algorithms (Procrustes/Sylea)

>I can't remember which exact sonata it was that sounded awful, but it
>was Mitsuko Uchida playing one of Mozart's. I have the whole set of
>Mozart Sonatas on my notebook, losslessly ripped from my set of CDs. I
>picked a few odd files at random from those, and from a set of Mozart
>concertos, to try. The really bad solo piano pieces were medium speed,
>and not desperately complex.


All right, I went and downloaded all available 30-second MP3 samples at
New Zealand site offering Mitsuko Uchida's performance of Mozart's pian
sonatas (http://www.opuscds.com/cd/29490) and played them all at 75
tempo. Again, I didn't notice anything bad. They're sampled at a low rat
indeed, but for the piano sound that may be acceptable, as it doesn'
contain too high frequences.

Could you please try to find the bad sounding file, pack it with WAVPAC
or LAME, and make it available somewhere for download (or as a las
resort, e-mail it to us)? You could also extract a section which sound
bad to you.

By the way, did you test it with the Winamp plugin or the demo player? I
it was the player, which version[s] did you test?

Regards,
Audio DSP team
Reply With Quote
  #13 (permalink)  
Old 06-07-2006, 08:07 PM
Bob Cain
Guest
 
Posts: n/a
Default Re: Announce: Fast real-time-stretching and resampling algorithms(Procrustes/Sylea)

Steve Underwood wrote:
> Bob Cain wrote:
>> DSP team wrote:
>>
>>> Instead of shifting the pitch and resampling, you can do it at once!
>>> E.g.,
>>> there is a real-time-stretching algorithm called "Procrustes"
>>> available at
>>> our web site - http://www.dspteam.com/ - with demo players showing how
>>> fast yet good sounding it can be done if written 100% in Assembler and
>>> optimised to extremes by utilising the x86 SIMD instruction sets 3DNow!
>>> and SSE while taking care of the transients. It's available for
>>> licensing.

>>
>> Gotta compliment you on the sound quality of your time/tempo
>> stretching demo players.
>>
>> I would also be interested to hear players that do real time
>> frequency/pitch scaling.
>>
>> A more complete demo would be a player and plugin that does both
>> scalings simultaneously controlled by 2 sliders having time/tempo on
>> one and frequency/pitch on the other.
>>
>>
>> Bob

>
> Did you try different content? I tried a couple of orchestral things,
> and it sounded pretty good. Then I tried a piano sonata. Speedup there
> sounds OK, but even small amounts of slow down sounds awful. It sounds
> very watery, like the algorithm really can't get a grip on the pitch.
> That said, the orchestral bits I tried were pretty neat.


I tried it on two different types, one mostly percussion with quite a
few different types of instrument, and the other Diana Krall doing
vocal over piano. I was impressed at the larger scalings and found
smaller ones quite transparent.

What sonata did you find problems with?


Bob
--

"Things should be described as simply as possible, but no simpler."

A. Einstein
Reply With Quote
  #14 (permalink)  
Old 06-07-2006, 11:14 PM
Erik de Castro Lopo
Guest
 
Posts: n/a
Default Re: Announce: Fast real-time-stretching and resampling algorithms(Procrustes/Sylea)

DSP team wrote:
>
> There are spectra for both 440 Hz and 16 kHz sine waves there. While 16
> kHz isn't the worst case, it's close.


You missed my point. My point is that the worst case is when
you are performaing downsampling and the source signal has
significant amounts of audio energy about the nyquist frequency
of the destination sample rate.

Erik
--
+-----------------------------------------------------------+
Erik de Castro Lopo
+-----------------------------------------------------------+
"Safety versus Expressiveness is a false dichotomy -- you can have both.
Compare ObjectiveCaml with CeePlusPlus: OCaml obtains expressiveness
without compromising safety, while C++ obtains it by throwing away
safety. The latter is just bad design." -- David Hopwood
Reply With Quote
  #15 (permalink)  
Old 06-08-2006, 09:16 AM
Andor
Guest
 
Posts: n/a
Default Re: Announce: Fast real-time-stretching and resampling algorithms (Procrustes/Sylea)

DSP team wrote:
> >I can't remember which exact sonata it was that sounded awful, but it
> >was Mitsuko Uchida playing one of Mozart's. I have the whole set of
> >Mozart Sonatas on my notebook, losslessly ripped from my set of CDs. I
> >picked a few odd files at random from those, and from a set of Mozart
> >concertos, to try. The really bad solo piano pieces were medium speed,
> >and not desperately complex.

>
> All right, I went and downloaded all available 30-second MP3 samples at a
> New Zealand site offering Mitsuko Uchida's performance of Mozart's piano
> sonatas (http://www.opuscds.com/cd/29490) and played them all at 75%
> tempo. Again, I didn't notice anything bad.


There is quite a difference between the Fast and PRO modes. For piano
(Erik Satie, Gnossienne), the Fast mode sounded quite ok, but PRO
sounded awful. There seemed to be added reverb jumping around in the
background (some kind of stereo processing?). Also, sustained notes
tended to vibrato a bit (these effects at 91% playing speed). Again,
this was only with PRO mode.

Reply With Quote
  #16 (permalink)  
Old 06-08-2006, 10:07 AM
DSP team
Guest
 
Posts: n/a
Default Re: Announce: Fast real-time-stretching and resampling algorithms (Procrustes/Sylea)

> You missed my point. My point is that the worst case is when
> you are performaing downsampling and the source signal has
> significant amounts of audio energy about the nyquist frequency
> of the destination sample rate.


In this case, that energy will be filtered out to prevent aliasing.

Re: Procrustes "Pro" versus "Fast":

For me, "Pro" sounds worse than "Fast" (i.e. a modulation appears) fo
tempos about 70% or lower, not 90%, even for the piano. And while it i
true that the usable stretch range of "Pro" is narrower, its processes th
transients much better. Conclusion: "Pro" is more suitable for music wher
there are a lot of fast transients, but the required stretch ratio is no
so high. "Fast" is more suitable, if the required stretch ratio is higher
but there are not many fast transients. Of course, it's also almost twic
as fast than "Pro", too.

Regards, Audio DSP team
http://www.dspteam.com/
Reply With Quote
  #17 (permalink)  
Old 06-08-2006, 10:44 AM
Steve Underwood
Guest
 
Posts: n/a
Default Re: Announce: Fast real-time-stretching and resampling algorithms(Procrustes/Sylea)

Andor wrote:
> DSP team wrote:
>>> I can't remember which exact sonata it was that sounded awful, but it
>>> was Mitsuko Uchida playing one of Mozart's. I have the whole set of
>>> Mozart Sonatas on my notebook, losslessly ripped from my set of CDs. I
>>> picked a few odd files at random from those, and from a set of Mozart
>>> concertos, to try. The really bad solo piano pieces were medium speed,
>>> and not desperately complex.

>> All right, I went and downloaded all available 30-second MP3 samples at a
>> New Zealand site offering Mitsuko Uchida's performance of Mozart's piano
>> sonatas (http://www.opuscds.com/cd/29490) and played them all at 75%
>> tempo. Again, I didn't notice anything bad.

>
> There is quite a difference between the Fast and PRO modes. For piano
> (Erik Satie, Gnossienne), the Fast mode sounded quite ok, but PRO
> sounded awful. There seemed to be added reverb jumping around in the
> background (some kind of stereo processing?). Also, sustained notes
> tended to vibrato a bit (these effects at 91% playing speed). Again,
> this was only with PRO mode.
>

Interesting. I was using the PRO mode before, since that's supposed to
be the higher quality option. I didn't even try the fast mode before.

Now I've tried it, the fast mode is, indeed *dramatically* better. The
results with that are pretty decent on the pieces I have been trying.

Steve
Reply With Quote
  #18 (permalink)  
Old 06-08-2006, 04:08 PM
DSP team
Guest
 
Posts: n/a
Default Re: Announce: Fast real-time-stretching and resampling algorithms (Procrustes/Sylea)

>Interesting. I was using the PRO mode before, since that's supposed to
>be the higher quality option. I didn't even try the fast mode before.
>Now I've tried it, the fast mode is, indeed *dramatically* better. The
>results with that are pretty decent on the pieces I have been trying.


Perhaps we should rename the "Pro" version to "Transient" or "Attack"?
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
real-time compression algorithms on fpga Melanie Nasic VHDL 19 01-01-2006 07:00 AM
real-time compression algorithms on fpga Melanie Nasic FPGA 20 01-01-2006 07:00 AM
Arbitrary asynchronous (plesiochronous?) resampling in "real time" snappy DSP 32 06-20-2005 02:32 AM
Fast 1-D DCT algorithms Koen DSP 19 03-16-2005 12:06 AM
time stretching for dictation - granular synthesis George Kustas DSP 8 01-08-2004 05:14 PM


All times are GMT +1. The time now is 02:59 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved