//This file is part of Infno. Copyright (C) 2007 Nick M.Collins. Distributed under the terms of the GNU General Public License. FULL NOTICE AT BOTTOM OF THIS FILE

Infno

Infno is an algorithmic generator of electronic dance music and synth pop fully implemented in SuperCollider 3, the latest generative music work in my Infinite Length Pieces

To install:

Put the folder 'infno' in your SuperCollider Extensions directory exactly as it is. (The program will look for the samples subdirectory as next to the Infno.sc file automatically, no need to put it in the sounds directory in the SC application folder)

FIRST TIME USER:

If you're trying Infno for the first time, can I please encourage you to open the following help file and fill in the questionaire there as you go? For my research, I'd really appreciate your immediate reactions as your explore it, and the file there contains all the code you need to run it.

[InfnoQuestionaire] //click on link

//create Infno object; a server must be booted

(

s.waitForBoot({

a=Infno.new;

});

)

a.free; //will free all resources, do this once you want to finish

(

a.stop;

a.play(\synthpop); //InfPop

)

(

a.stop;

a.play(\techno); //and other electronic dance infsic

)

//The following are options which can be set from outside infno. You can try making tracks after setting these and see what happens

InfnoHarmony.difficultchance= 0.0;

InfnoHarmony.difficultchance= 0.6; //default

InfnoHarmony.difficultchance= 1.0;

InfnoHarmony.globalkey = rrand(-6,6);

InfnoHarmony.globalkey = 0; //default

a.dynamicprogramming=true; //also used to choose initial wait times

a.dynamicprogramming=false;

//more things to try out

a.window; //make a window appear for controlling live vocals

a.play(\synthpop,0); //infpop, forced to verse type 0

(

a.stop;

a.play(\novelForm); //experimental, not well developed, jumps about too much

)

a.stop

a.play(\techno, 4, 2.2); //4 = numsections, can specify tempo as third arg

a.stop

a.play(\techno, rrand(1,3), 3.2); //fast!

a.stop

a.play(\techno, rrand(4,7),rrand(4.6,6.4)); //really really fast! can be higher CPU

a.stop

//demo generates single hypermeasures with specified instrumentation, test mode

//[ \snare, \lead2, \hat, \bass, \perc, \kick, \lead1, \lead3, \chord]

a.play(\demo1, [ \snare, \lead2, \chord, \hat, \bass, \perc, \kick, \lead1, \lead3],2.3) //test different orders of creation

a.stop

a.play(\demo1, [\kick, \snare, \hat, \perc, \chord, \bass, \monolead2].scramble,3.4) //test different orders of creation

a.stop

a.play(\demo1,([\kick, \snare, \hat, \perc, \bass,\chord]++Array.fill(rrand(1,3),{|i| (\lead++(i+1)).asSymbol})).scramble,rrand(1.8,3.1)) //test different orders of creation

a.stop

a.play(\demo1,[\kick, \chord,\perc].scramble,2.4);

a.stop

a.play(\demo1,[\kick, \snare, \hat, \perc, \monobass, \monolead1, \monolead2, \monolead3, \chord],2.1)

a.stop

//experimental- replay last using random seed. Unfortunately, doesn't work well at the moment!

a.getLast.postcs

a.playOld //defaults to last one

a.stop

//////////////////////////////////////////////////////////////////////////////

This file is part of Infno.

Infno is free software; you can redistribute it and/or modify

it under the terms of the GNU General Public License as published by

the Free Software Foundation; either version 2 of the License, or

(at your option) any later version.

Infno is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

GNU General Public License for more details.

You should have received a copy of the GNU General Public License

along with Infno; if not, write to the Free Software

Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA

02111-1307 USA

Infno. Copyright Nick.M.Collins 2007. contact N.Collins@sussex.ac.uk