As a little side project, I've worked the past couple of days on modernizing the PaulStretch application (originally by Nasca Octavian Paul) for extreme time stretching and other processing of sound files.
If someone cares to beta test and comment, it is now available for 64 bit Windows 7 or newer and 64 bit OS-X 10.9 or newer.
https://www.youtube.com/watch?v=8yWVCMp ... e=youtu.be
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.)
64 bit Windows 7 or higher :
beta 5 https://goo.gl/e8gzKt
beta 4 https://goo.gl/Qe2CXJ
64 bit Mac OS-X 10.9 or higher :
beta 5 : https://goo.gl/mtA3nQ
beta 4 : https://goo.gl/nq441D