Experimental audio effect based on autoconvolution

VST, AU, AAX, CLAP, etc. Plugin Virtual Effects Discussion
RELATED
PRODUCTS

Post

I was just thinking about this the other day... I'd love to hear if anyone has got this working in Windows (10). Gave up after hitting this hard to try and make it work as per my posts above. I always get stuck when it tries to create the temporary file. The directory containing it is created, but not the file itself. Very frustrating. Tried running the prog as administrator, changing the system variables to move the temp folder elsewhere, etc...

Post

Bump.

Still wanting a Windows VST version.

Post

Funnily enough I was thinking about bumping this just the other day.

Has there been any further development? I spent an age trying to get this thing working (as per my earlier posts), and I'd be more than up for wrestling with the old command line again if a newer version is available.

Post

.. and while I'm back exploring Paul Stretch and ZynAddSubFX

B U M P!! Anybody got this successfully running on Windows?
"Wisdom is wisdom, regardless of the idiot who said it." -an idiot

Post

It works fine here on my Mac. I don't have a PC, but can try to help you.

Get the version from here.

It has an additional -d command line option for temporary file directory.

You need a version of Python, like Anaconda. It needs to be Python 2.x (where x = something). Python 3 is different in some respects from Python 2, and they sometimes don't play nicely together.

You need numpy and scipy installed (which will come with Anaconda), and you also need avconv (which you will find on the libav website if you search for it in google). The script just calls avconv as if you typed it into cmd, so it probably needs to be in the same directory as the python script / the working directory of the python script, or somewhere that your shell can find it.

The script is run like 'python 2xautoconvolution,py -o outputfilename.wav inputfilename.wav -d tempdirectorypath' where autoconvolution.py is the name you saved the script as, the other things are the output and input filenames and temp directory path, and there are no quotation marks around it.

Post

With some very minimal tweaks I was able to get it running on a recent Fedora Linux with Python3 and ffmpeg. Will have a tinker, see if we can do a bit more modernisation to simplify installation etc. Users are still going to need some kind of scientific Python setup; I don't think that's an unreasonable requirement for experimental software in 2020.

Post

Awesome, will give this a go. I'm thoroughly fascinated by the audio examples and want to explore this.
"Wisdom is wisdom, regardless of the idiot who said it." -an idiot

Post

Ok, I've made this a bit easier to set up and tested it on Windows :D

1. Install avconv or ffmpeg and get them onto your PATH. I did this by unpacking a build from https://ffmpeg.zeranoe.com/builds/ and adding the bin folder to my user Path with the "Edit Environment Variables For Your Account" preference pane.

2. Install Anaconda Individual Edition from https://www.anaconda.com/products/individual. (I'm afraid it's a large install because it has some nice graphing and UI features we're not going to use. Smaller installations are possible, but more complicated; the whole point of Anaconda is to get a working build of all the useful stuff in one place.)

3. Install Git: open "anaconda prompt" and enter

Code: Select all

conda install git
4. Install my updated fork of 2xautoconvolution: open "anaconda prompt" and enter

Code: Select all

pip install git+https://github.com/ajjackson/2xphases@py3
This should be very quick, because the big stuff (numpy, scipy) was already installed!

5. You should now be able to call

Code: Select all

2xautoconvolution
from the Anaconda Prompt. To get the help page, try

Code: Select all

2xautoconvolution -h
Happy convolving!

Post

Played around with this, and maybe I just need to play some more, but the variables for spread limiting are difficult for me to interpret. I read through the python code and the github readme, and the "-b" block size and "-l" limit blocks variables conceptually make sense, but some choices render interesting results and some are (almost) unlistenable. Maybe just the nature of the beast.
spread is set by multiplying the "block size" ("-b") with "limit blocks" ("-l")
Aside from the example values, hard to determine what numbers to use and why. Perhaps it's always going to be a trial and error type of situation based on the material? For example, -b 5 -l 3 rendered interesting results but -b 4 -l 2 sounded like backmasking with a lot of audible clicks at presumably the block boundaries. Are odd numbers better for some reason?

Also does anyone know is the spread of 3 in the examples set using -b 3 and -l 1 or -b 1 and -l 3?

Post

I did a series of tests with values for those spread flags (--blocksize_seconds and --limit_blocks) and visually inspected resultant WAV files and listened to them all around the 6 minute mark and then around 17:50 to hear the differences.

You can see the length is always double the original in all cases. Seeing and hearing the difference helped me understand and gave me ideas on how to use this as an effect for a project I have underway.

Using Loreena McKennitt's "The Lady of Shalott" as the source, the version off of The Visit. Don't want to embed in my post but can be found on the youTubes. I wanted to hear what it would do with her wonderful voice, especially the loud expressive moments.

Waveform for point of comparison with the autoconvolved tests. https://www.dropbox.com/s/371vpb6obtc7h ... source.png

A visual representation of various values for the spread.
https://www.dropbox.com/s/dbn0we99mmb99 ... -tests.png

I couldn't embed these dropbox links as images using "IMG" tags and not sure how long I'll leave them around on my dropbox, but for anyone interested over the next 1-2 weeks there you go.

Post Reply

Return to “Effects”