Al,
I assume you need a time altering algorithm that keeps the original pitch
intact (that way compressing/expanding the duration, but not the pitch)?
This is fairly easy to comprehend. I for one am definitely not a dsp guru,
but I created something similar using just the information from the DSP
dimension pages.
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.
I think this should be very easy to embed in a dsp processor as the
algorithm is only based on pure basic DSP stuff (FFT -> pitch shift ->
IFFT -> Sample rate conversion).
This is a short description: At first FFT it. After the FFT you need to get
hold of the true frequencies and phases, using some windowing method (or
something like that). Than you can shift the frequencies to the left or
right (up and down actually), depending on how much you'd like to change the
duration/speed. Now go back to the bin frequency representation and do IFFT.
There you've got a neat pitch shifted piece of audio with the exact same
duration. Now change the samplerate so the original pitch comes back. And
there you go. A timestretched version of the original sound buffer.
You could play with some different types of sample-rate conversions to see
what it does to the sound quality and to the realtime aspect. I had some
good results just by linear interpolating the samples. (Not HiFi but good
enough for voices).
I suggest to use buffers of 2048 samples, FFT size also 2048 and an overlap
of 3 windows to start with. Make these parameters variable, so you can play
with them. Changing these values have effect on the quality of the result as
well as the performance. Some combinations sound good, perhaps with some
little reverb, others sound like star-wars (or as an old cassette player in
a huge bathroom). It is not true that you get better results with higher
values, just different results.
I hope this helps!
Best regards,
Rob Vermeulen
Arbor AudioCommunications
The Netherlands
"AL" <
[email protected]> wrote in message
news:FtW3d.45331$
[email protected] k...
> Hi,
>
> I'm a university student studying Electronics Engineering and Bournemouth
> University in England.
>
> 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?
>
> Any help/advice/website links greatly appreciated!
>
>