first of all, usually for a "real-time" process we mean that the same
amount of time going in is what comes out. time-scaling or resampled
(and pitch-shifted) sounds have a different number samples going in
than coming out (with the same time assumed between samples). if such
were running real-time, that means it could be started and running
real-time for an indefinitely long period of time. in that case, you
would hit the end of a buffer on one side or the other.
On May 29, 5:01 am, R <R...@nospam.com> wrote:
> I am looking for code for slowing down music without altering pitch.
as you're slowing it down, are your samples coming from disk (or
whatever source) repeating over some regions?
>
> If anyone is interested, here are some programs that are designed for
> doing this for music transcription. A couple examples here with free
> trials:
>
> Amazing Slow Downer: http://www.ronimusic.com/
> Transcribe!:http://www.seventhstring.com/
> Slow Gold:http://www.worldwidewoodshed.com/products.htm
>
> I'm looking to do something similar (for a non-commercial app) but
> with different features.
>
> I think that some softer (Transcribe! above) does this via Fourier
> transform. Is that the best way to achieve this without reentrant
> glitches?
it's about the only way to do it for broadbanded, full-mix audio. if
the source was a monophonic instrument that plays single notes at a
time, then time-scaling can be accomplished by staying in the time-
domain and making judicious use of splicing. but if your audio has
all sorts of harmonically unrelated frequency components, doing this
in the time domain might result in a splice where not all harmonic
components are spliced in phase. when some splice has some frequency
component that is 180 degrees out of phase when spliced, that's gonna
sound pretty bad.
r b-j