[Chris Cannam]
Rubber Band is an audio time-stretching and
pitch-shifting library and
utility designed for musical applications.
http://www.breakfastquay.com/rubberband/
It includes a library that supports a sample-accurate multithreaded
offline mode and a real-time lock-free streaming mode; a command-line
utility program; and a LADSPA pitch-shifter plugin. Rubber Band is
Free Software under the GNU GPL.
I've just tried it at crispness levels 2 and 4 stretching 'Vesoul' by
Brel to 2x duration and I have to say it does a wonderful job on
the note onsets, who survive largely unsmeared (a bit better at
crispness level 4, which also goes for the overall sound impression,
as subjective as that may be).
That's where it really outdoes the stretch utility I wrote some time
ago (where the actual work is done by a Dolson phase vocoder from the
CARL suite, cf.
http://quitte.de/dsp/pvoc.html#stretch).
Unfortunately it also has to be noted that after the onset, the
voice body in rubberband's output is not sounding quite as good as
with 'stretch' -- there's a faint chorus/aliasing effect, not very
strong but irritating.
Is the engine capable of smoothly changing the stretch factor in
realtime? I've been pondering a simple looping & stretching playback
solution for transcription work but the 'stretch' engine isn't
flexible enough out of the box, it'd only allow a number of switchable
stretch factor presets unless I put in some really serious work.
Cheers, Tim