I’ve been playing around with Ardour recently and I also tried out the built-in time-streching feature. No matter how long or short I strech or shrink an audio region and which option I choose, though, the outcome always sounds a bit muddy and strange. I tried streching the same audio file with Audacity and the result was much better. After googling a bit I found out that both Ardour and Audacity seem to use the SoundTouch library for their time-streching features. Now I wonder why there is such a big difference between the two. Am I doing something wrong? Of course I can simply edit the audio files in Audacity and then export them to Ardour, but that makes things much more difficult for me.
For illustration purposes (the following sound file was only streched by a few milliseconds, but you can clearly hear the differences between the Ardour file and the original one):
- Original Sound File:
- Stretched by a few milliseconds with Audacity:
- Stretched by a few milliseconds with Ardour:
spoothie: Ardour’s timestretch uses RubberBand which has many more parameters than the WSOLA algorithm used by SoundTouch. Years ago we used to use SoundTouch, but in general found it of poor quality on most material compared with RubberBand when the right parameters are used with RubberBand. The WSOLA algorithm is definitely better on some specific sorts of sounds, but I do not have the time to (a) integrate both mechanisms into ardour (b) provide a GUI that would easily and efficiently and sensibly let users pick which one to use.
You have not mentioned which parameter settings you used, so its hard to really know if your results were expected or not.
I see, I must have found some outdated information then.
For the above example I used the “Crisp monophonic instrumental” option without “Minimize time distortion”. I also tried using the other options, but this one seemed to be the most suitable for my sample (respectively the other options produced a worse outcome). Of course “Resample without preserving pitch” works quite well, but most of the time I want to keep the pitch of the sample.
I talked to Rubberband’s author some time ago, his suggestion at the time was to go ahead and use the command line utility and see if I could find settings for what I was looking for that worked well. After I did that I might be able to submit them to Ardour for inclusion. I never got a chance to follow up on it, but it is worth seeing if you can get better results via the commandline.
Also try it out with a mono file instead of stereo. There is definitely some phasing between left and right I am hearing introduced, which makes me wonder if Audacity is in fact processing both files identically, and Rubberband is processing each channel separately. Not certain which would be correct, it is more than possible both could be correct if that is what is happening.
I know this is an old thread, but I realized it is still a current issue.
So here is a very specific suggestion: Could the option “resampling without retaining the pitch” be simply implemented using sox’s
speed effect (with the
rate -v (i.e. very high quality) option)? I had to adjust for drifts between two independently recorded tracks and found in principle the stretch tool within Ardour very handy for this purpose, but the resulting sound quality was very distorted and not usable at all, it sounded like some phase issues, making the stereo image fuzzy and also distorting the spectrum (some comb effect?).