Login / Register  0 items | $0.00 New

PaulStretch3 preview(11) release

Xenakios
KVRian
 
1006 posts since 9 Sep, 2005, from Oulu, Finland

Postby Xenakios; Wed Sep 13, 2017 2:49 pm PaulStretch3 preview(11) release

As a "little" side project, I've worked on modernizing the PaulStretch application (originally by Nasca Octavian Paul) for extreme time stretching and other processing of sound files.

If someone cares to test and comment, it is now available for
-64 bit Windows 7 or newer
-64 bit OS-X 10.9 or newer.
-64 bit Linux (Tested by me to run only with Ubuntu 16.10)

https://www.youtube.com/watch?v=nI2u3h6Mrms

20170914(3.0.0beta1, Xenakios fork)
- GUI and audio IO (sound files, audio hardware) code replaced with JUCE based code.
- Not all of the existing features are yet available from the GUI, but hopefully eventually they will be.
- Audio file reading code changed to use floating point samples to get
the benefits of the extended dynamic range of floating point files.
- Resample audio to interface samplerate, if needed
- Allow choosing prebuffering amount. Smaller amounts allow faster response to parameter
changes while realtime playing
- Efforts to modernize the code base to use smart pointers, std::vector for audio buffers etc.

20170914(3.0.0beta2, Xenakios fork)
-Added wav file format options for rendering
-Added some keyboard shortcuts : Space bar for play/stop, 'F' for toggle freeze, Home for seek to beginning
-Allow drag and drop of audio file into app window
-Menu button menu shows recently used files
-Audio in realtime playback is clipped after volume adjustment

20170914(3.0.0beta3, Xenakios fork)
-Fixed buffer size bug in offline rendering code
-Prevent rendering over the input file
-Added audio output visualizer (can hide if takes too much CPU)
-Added feature to allow recording live audio to disk
-Disable FFT size slider while playing back. (Need to be determined later if the FFT size can be changed in real time.)

2017-09-15 (3.0.0beta4, Xenakios fork)
-When audio stopped, refresh the GUI components less often to reduce CPU consumption
-If opening audio output device fails, show error message on application start-up
-Preliminary audio looping support (does not crossfade yet, so may cause additional noise)

2017-09-19 (3.0.0beta5, Xenakios fork)
-New playback code that is shared for realtime and offline rendering use.
-Multichannel input files, audio output device and rendering support.
-Allow toggling looping playback.
-Most processing parameters now exposed in the GUI.
-Delete previously existing file when rendering.
-Binary built with FFTW3 library. Optionally allow FFTW3 to do its plans slowly to
possibly result in faster FFTs. (May take several seconds before playback will start.)
-Use Mersenne Twister random generator for the spectral phases.
-CPU and prebuffering ready meters. (Note that on faster machines the CPU meter may never show any load,
as it measures the time spent in the realtime audio callback.)
2017-09-26 (3.0.0beta6, Xenakios fork)
-Spectral processing stages can be reordered (all reorderings won't sound very different, but some will).
-Added smoothing to main output volume processing.
-Loop playback crossfade.
-Fixes and optimizations.
-MacOs version now requires OS-X 10.9 at minimum.
2017-09-26 (3.0.0beta7, Xenakios fork)
-Rebuilt FFTW for Windows with only SSE2 instructions required.
-New prebuffering option Huge added.
-If above enabled, the FFT processing size can go up to around 60 seconds.
-Shortcut key 0 restores default parameter values except main volume. (FFT size still won't update while playing back, though.)
-Logic to handle appropriate playback/render stop point improved
2017-10-13 (3.0.0preview8, Xenakios fork)
-Allow changing FFT size while playing back. (Setting is applied when mouse button released from slider,
not while moving the mouse due to complicated technical reasons.)
-Changing input file while playing back crossfades to the new file.
-Show a more correct output duration in the GUI. (With huge FFT sizes and a short input file, the FFT size
can affect the final output duration much more than the stretch factor.)
-Allow up to 32 output channels.
-Import support for Wavpack, Monkey's Audio, Musepack, Shorten, TAK, MP4, MKV, AVI and various other files by
converting them into WAV with ffmpeg.
-Settings window instead of the popup menu.
-Added ability to choose FFT windowing type. Just leaving it as Hamming is recommended, though.
-Added tooltips to some parameters. (Shown when hovering over the parameter name.)
2017-10-30 (3.0.0preview9, Xenakios fork)
-MIDI CC learn support by right-click on parameter slider/button/dropdown. (FFT size parameter not yet supported.)
Also allows changing the mapping curve from MIDI CC value to parameter value.
-Added saving and loading of paulstretch3 projects.
-Added zoom/scrollbar to waveform component
-Main volume applied when offline rendering.
-Added option to enable/disable clipping for 32 bit floating point renders (16 and 24 bit outputs are always clipped).
-Can change harmonics base frequency parameter to Herz based by right-clicking the slider.
-Changed GUI layout so that the parameters of the different spectral processing modules
are inside group components. (Needs tweaking...)
-Format output duration as minutes, hours etc as needed
2017-11-10 (3.0.0preview10, Xenakios fork)
-Allow stretch amounts lower than 1.0 for shortening
-Optimizations to avoid unnecessary deallocations/reallocations of buffers and objects
-Rendering now opens a window that has rendering options, including an approximate loop count
setting when looping has been enabled.
-Added shortcut keys for waveform zooming
-Waveform time selection edges can be dragged to adjust the selection
-Project files can be passed into command line argument
-Project files can be drag and dropped into application window
-MIDI note based harmonics generator base frequency calculation fix and allow setting tuning from slider
right-click menu
-Prevent importing 64 bit floating point files as those are not supported by JUCE
2017-11-17 (3.0.0.preview11, Xenakios fork)
-Fix bug with multichannel input files in shortening mode


Download :

64 bit Windows 7 or higher :

preview 11 : https://goo.gl/WGjZAH

64 bit Mac OS-X 10.9 or higher :

preview 11 : https://goo.gl/m3e7Lk

64 bit Linux (only confirmed to be running in Ubuntu 16.10 so far) :

preview 11 : https://goo.gl/YCTDe8

Source code :

https://bitbucket.org/xenakios/paulstretch2017/src
Last edited by Xenakios on Fri Nov 17, 2017 10:56 am, edited 22 times in total.
User avatar
cturner
KVRist
 
124 posts since 7 Dec, 2009, from GWB

Postby cturner; Wed Sep 13, 2017 3:40 pm Re: PaulStretch3 beta release

Very cool, thanks!
User avatar
ho66it
KVRist
 
215 posts since 19 Dec, 2011, from Colorado

Postby ho66it; Wed Sep 13, 2017 3:49 pm Re: PaulStretch3 beta release

cturner wrote:Very cool, thanks!
+1 !!
bungle
KVRian
 
1412 posts since 12 Mar, 2004

Postby bungle; Wed Sep 13, 2017 4:09 pm Re: PaulStretch3 beta release

Awesome
If your plugin is a C++ creation, please don't say so.
If it is, pop round Marcos, he has just bought you a Mac to port it.
ghettosynth
KVRAF
 
9803 posts since 13 Oct, 2009

Postby ghettosynth; Wed Sep 13, 2017 4:26 pm Re: PaulStretch3 beta release

Cool, tnx.

Definitely having some problems with the playback positioning on some files. I'm Win7-64. I'll try to nail it down a bit better, but, at the moment it doesn't seem to be playing from the start of the wave on certain files. Also, it's not clear what the wave selection is supposed to do? It would be awesome if wave selection would choose an audition/render region.
Xenakios
KVRian
 
1006 posts since 9 Sep, 2005, from Oulu, Finland

Postby Xenakios; Wed Sep 13, 2017 4:42 pm Re: PaulStretch3 beta release

ghettosynth wrote:at the moment it doesn't seem to be playing from the start of the wave on certain files. Also, it's not clear what the wave selection is supposed to do? It would be awesome if wave selection would choose an audition/render region.

Do you mean the very start seems to be missing from the sound? The stretch algorithm is problematic with the sound start and end, it needs to be checked if anything can be done about those issues. (Of course there's FFT windowing and such involved, the start going missing could be due to that.)

The wave selection currently determines the time area to be rendered. For realtime playback the selection start determines the playback start, but not the end time. (Going to add support for that later as well as make the time selection to loop.)
ghettosynth
KVRAF
 
9803 posts since 13 Oct, 2009

Postby ghettosynth; Wed Sep 13, 2017 5:01 pm Re: PaulStretch3 beta release

Xenakios wrote:
ghettosynth wrote:at the moment it doesn't seem to be playing from the start of the wave on certain files. Also, it's not clear what the wave selection is supposed to do? It would be awesome if wave selection would choose an audition/render region.

Do you mean the very start seems to be missing from the sound? The stretch algorithm is problematic with the sound start and end, it needs to be checked if anything can be done about those issues. (Of course there's FFT windowing and such involved, the start going missing could be due to that.)

The wave selection currently determines the time area to be rendered. For realtime playback the selection start determines the playback start, but not the end time. (Going to add support for that later as well as make the time selection to loop.)


I'm not sure because I just grabbed a file at random. Let me play with it some more and see what's happening. It does seem, however, that loading a new file may not reset the selection and/or start because when I loaded a file after setting the region it played almost nothing of the file.
Xenakios
KVRian
 
1006 posts since 9 Sep, 2005, from Oulu, Finland

Postby Xenakios; Wed Sep 13, 2017 5:11 pm Re: PaulStretch3 beta release

ghettosynth wrote:played almost nothing of the file.

I think that can happen if the input file is rather short and the FFT window size large. So don't go too crazy with the FFT size parameter, especially if the source sound is short...That can possibly be later solved by adding the looping playback. Then even the longest FFTs should be able to grab material out of the file.
ghettosynth
KVRAF
 
9803 posts since 13 Oct, 2009

Postby ghettosynth; Wed Sep 13, 2017 5:28 pm Re: PaulStretch3 beta release

Xenakios wrote:
ghettosynth wrote:played almost nothing of the file.

I think that can happen if the input file is rather short and the FFT window size large. So don't go too crazy with the FFT size parameter, especially if the source sound is short...That can possibly be later solved by adding the looping playback. Then even the longest FFTs should be able to grab material out of the file.


Yep, I think that's what happened.

In any case, it's a huge step up in terms of usability. I would like to see the region loop play though, that would make a huge difference in terms of exploration and usability.
User avatar
thecontrolcentre
KVRAF
 
21215 posts since 27 Jul, 2005, from the wilds of wanny

Postby thecontrolcentre; Wed Sep 13, 2017 5:34 pm Re: PaulStretch3 beta release

Thanks for taking the time to do this Xenakios. Will test it out ...
User avatar
shroom81
KVRian
 
564 posts since 26 May, 2008, from Reykjavik, Iceland.

Postby shroom81; Wed Sep 13, 2017 6:12 pm Re: PaulStretch3 beta release

Oh yes, thank you so much.
"People are stupid" Gegard Mousasi.
s_t
KVRist
 
242 posts since 24 Dec, 2004

Postby s_t; Wed Sep 13, 2017 11:18 pm Re: PaulStretch3 beta release

Thank you very much bringing this fantastic tool back!

A wet dream, I guess, would be a VSTi version with keyboard and ADSR envelopes.
Eleventh
KVRist
 
304 posts since 1 Dec, 2012

Postby Eleventh; Wed Sep 13, 2017 11:42 pm Re: PaulStretch3 beta release

Wow thank you! real-time tweaking.. damn

Would you accept a couple small feature requests?

- Space bar for play/stop
- Optional looping of the selection during playback

Paulstretch is the shit! and with a good user interface like this... nice work! :party:
User avatar
aMUSEd
KVRAF
 
28132 posts since 14 Sep, 2002, from In teh net

Postby aMUSEd; Wed Sep 13, 2017 11:46 pm Re: PaulStretch3 beta release

Cool thanks
User avatar
exmatproton
KVRAF
 
1876 posts since 24 Apr, 2011

Postby exmatproton; Thu Sep 14, 2017 12:41 am Re: PaulStretch3 beta release

looking good :)
Next

Moderator: Moderators (Main)

Return to Effects