//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