On Thu, 29 May 2008 14:35:49 -0700 (PDT), robert bristow-johnson
<
[email protected]> wrote:
>
>first of all, usually for a "real-time" process we mean that the same
>amount of time going in is what comes out.
I meant response time. I could probably pre-crunch an entire MP3 file,
but I was hoping to process designated segments on the fly.
>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?
Yes, samples coming from disk. Yes, an option to keep replaying the
segment, if that's what you meant. Usually it would entail slow down
rather than speed up.
>> 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.
Yeah, I understand the splice problem. I've seen some older hardware
"Harmonizers" that try to make intelligent decisions on splice points,
but that's tough with more than one or two simultaneous pitches. And
as you point out, overtones won't necessarily align even with
monophonic sources. But even the old hardware was not that bad
sometimes. Guitarists and keyboard players used those for playing
root+5th or even full chords at times. You've probably heard the
result on recordings.
Still, if it can be done via FFT without having to crunch overnight,
that would be preferable. The sound doesn't have to be hifi, but best
that it's free of distracting pulsing or harsh artifacts.
So...any code available for doing this? Pref in C/C++ so I could get
it running on a Windows machine.