Extreme Stretch added to Audacity

11Jun08 - I have transferred this FR, plus its 5 enthusiastic votes, to the Wiki. I have retained the thread and moved it to Audio Processing section - Waxcylinder


Hi.
I am Paul, the author of Paulstretch.
I added this effect to Audacity and I posted it as a patch (against the current version made with diff and another manual patch) here:
http://hypermammut.sourceforge.net/paulstretch/paulstretch_audacity/

Here is a screenshot of GUI:
http://hypermammut.sourceforge.net/paulstretch/paulstretch_audacity/paulstretch_gui.png

If you want to hear a sample here it is:
Unprocessed sample
Stretched two audio portions of the sample

Hope you’ll like it and put it into official Audacity distribution :slight_smile: (many will enjoy this effect).
Paul

absolutely PLEASE add this to audacity!Paul’s extreme stretch has been a quite powerful standalone for a while now, but with this function within audacity - it would definitely be one of my go-to apps :mrgreen:
Great stuff, Paul!!!

The effect (just tried the standalone version) is awesome (Audacious!), but I’ve no idea what one would do with the patch.

for one- it will allow someone to stretch only a portion(s) of a file. very very cool :sunglasses:
it’s something ya could do before with the standalone, but then you’d have to go to an editor anyway to connect the stretched portions with the original.
The patch would consolidate the process and that’d save me time. BONUS! :smiley:

That’s not what I meant. I mean, how do you use the patch?

ahh! I see what you mean now… I cannot answer that one… Paul may be able to give us an idea of how to use the patch…

I’ve used the standalone app a few times recently and would love to have in as a tool within Audacity, so I’m also keen on hearing an answer to this one.

I would die for a feature like this… I create midi files from original live song recordings
Tempos usually change throughout a song. If I could put down an exact drum track in midi
then export it to wav and import it into audacity them line up the original song recording track
by stretching portions of it to align with my midi created drum track…
Then export the stretched audio to wav and import this into my midi sequencer
as I guide track everything would be in sync as I lay down each instrument.
and I would have a big smile on my face. Do you know what I mean???

Paul has now added some documentation :smiley:
Thanks Paul.

Documentation and source code are here: http://hypermammut.sourceforge.net/paulstretch/paulstretch_audacity/

The instructions seem pretty simple:

Manually patching Audacity

Put the src/* files to audacity source directory

In file “src/Makefile.in”, find line which contains “WahWah.o” and insert this line
-----------cut-----------
effects/ExtremeStretch.o
-----------cut-----------


In file “src/effects/LoadEffect.cpp”, add new #include line
-----------cut-----------
#include “ExtremeStretch.h”
-----------cut-----------

In the same file, find line which contains “new EffectWahwah()” and insert this line
-----------cut-----------
Effect::RegisterEffect(new EffectExtremeStretch());
-----------cut-----------

…and do ./configure && make


Paul

For the love of god add this. It works great under Linux, but as a non-coder I have yet to successfully build the patch under OS X.
The Standalone itself is amazing (though the OS X port desperately needs updating).

I am very excited about PaulStretch being added to Audacity. The PaulStretch standalone app currently available for Mac no longer works in OSX 10.5.4. I’ve downloaded the patch files and cannot make them work. The folder and file “src/Makefile.in” do not exist anywhere after installing Audacity and thus expanding the “audacity_paulstretch.patch.gz” and “audacity_paulstretch_manual_patch.tar.gz” files. Is it indeed possible to make this work or are these files only Linux or PC?

Please advise. Thanks.

thencamenow: I have transferred your enthusiasm as a vote for this FR on the Audacity Wiki - It now has 12 votse and is in the “Highest Rated” section of the Wiki FR (10 votes or more takes a FR into this category).

Just be aware that being in the highest rated section is still no guarantee that the developers will or can include any FR.

WC

Any news on this at all?

Any port which is compatible with Leopard would be a dream come true for me personally.

Same here, I have tried on both Leopard and Tiger but no dice.

How do you install the version for audacity? its in a .patch format but i have no clue as to what that is etc.

Thanks,
Shane

sorry, just realized there was a page before this (came from google). Help with installing the patch into Audacity and/or it being included in audacity would be GREATLY appreciated!

Thanks,
Shane

Another request to add this as well. Really enjoy this effect and think it would be a great addition. Simple to use and able to make some beautiful results.

Hi.
I updated the patch for Audacity for the Paulstretch effect.
It is available here: PATCH

I also made a unofficial windows binary for Audacity, available here: ZIP archive (the modified source code is available, too)

In the user interface, the Paulstretch effect is available in the Effect menu.

If you want to have Paulstretch effect in the next official releases you need to ask the Audacity maintainers to include the patch above into the official source code.

Paul

If anyone needs step by step instructions for applying the patch on Debian based Linux systems please ask and I’ll write some up.

How easy/difficult would it be to make Paulstretch into a plug-in (for example a LADSPA plug-in)?

Or looking at one of the other Audacity developer suggestions, how similar is the code to a “phase vocoder”?
If quite close, how easy/difficult would it be to develop a phase vocoder based on the paulstretch code and provide presets that include the paulstretch effect?

Hi Steve.

Few years ago I wanted to make it as a LADSPA plugin. But I understood that LADSPA doesn’t allow for plugin where the output number of samples isn’t the same for the input number of samples, which made unsuitable for writing a time-stretching plugin. Because it I decided to write it as Audacity effect, because Audacity allows me to put different no. of samples than input.

See more about it here.

Regarding the phase vocoder, indeed it is somewhat similar to Paulstretch in sense that it analyse the sound using FFT, process it and resynthesize using IFFT. But the main difference is that in the phase vocoder the phase are important (for example it is done phase unwrapping and other stuff to estimate the correct phase) while in Paulstretch the phases are discarded completely and replaced with random phases. This is the main reason why Paulstretch sound so “smooth” (great for choirs/ensembles but not for piano sounds).

I thought about a possible generalization of the phase vocoder and Paulstretch which in some part of the sound tries to estimate the original phases (for example on onsets) and use the phase discard/randomization on long notes. But it requires some time to invest into which, unfortunately, for now I don’t have it. :cry:

Until then I suggest using Paulstretch effect because it has many uses especially for the ones who like to create ambient music or who wants to experiment with sound. And having it in Audacity would be great for many users. :wink:

Paul

Hi Paul,

I assume that’s a typo; it should be “LADSPA doesn’t allow for plugin where the output number of samples isn’t the same for the input number of samples?”

I guess those interested in “brainwave entrainment” might like your effect. If it is included in Audacity, we’ll need it to be documented in the Manual ( http://manual.audacityteam.org/man/Effect_Menu ).


Gale