Autocousmatic
Thank you for trying out this program!
Please do consider filling in the short [AutocousmaticQuestionnaire] to return to me.
Autocousmatic is an automatic acousmatic music generator. Given some source sounds, it will attempt to create a multichannel electroacoustic work from them. It does this through a combination of algorithmic composition and machine listening, calculating through various iterations of activity as it moves from processing smaller sound files to rendering the complete work.
If you're having issues getting the program to run, my apologies: feel free to send me bug reports as N dot Collins at sussex dot ac dot uk.
A few things to watch out for:
-- Make sure you have specified a source directory, which contains at least one sound file in a standard format (no mp3s, wav is fine).
-- Make sure you have specified an output directory, which is where one or more mixes of your final work will be rendered to.
-- Be patient. Rendering time is around 5 minutes per minute of output audio, dependent on how many channels you request. Long 20 minute pieces in 8 channels could take an hour to calculate.
--if you don't have write permissions in your user account for the directories you're pointing to, or sufficient room on your hard drive for temporary files, you may get into difficulty.
Underneath the surface, this application is really SuperCollider. You can run Autocousmatic with SC calls if you're comfortable with that. Instructions follow.
a= Autocousmatic(2,150.0); //create an Autocousmatic object, 2 channel piece, 150 seconds length
//you can set the directories manually (or hard code in the Autocousmatic class file)
a.tempdir= "/tmp/";
a.sourcedir="/Users/nickcollins/Desktop/source";
a.renderdir="/Users/nickcollins/Desktop/render";
//render
a.go(20,5); //first number is mix density; 10-20 are good default values, though you could experiment. Second number is the number of output mixes to create
(
{
a.mix4(99); //redo final mix by calling directly, creates render99.wav (assumes already went through earlier stages of calculation above)
}.fork;
)
Autocousmatic.clean //remove all temp data