Esempio n. 1
0
$pParallelScale-> add(TRUE, 5);
$pParallelScale-> add(FALSE, 95);

// - that intervals repeat (like, 2nd up, 3rd down, 1st, 2nd up, 3rd down, 1st) minimum 2 intervals = 3 notes
$pIntervalRepeat = new Probability;
$pIntervalRepeat-> add(TRUE, 20);
$pIntervalRepeat-> add(FALSE, 80);

// - that a group of notes in close proximity will be based on one chord (also a 7th chord)
$pChordBased = new Probability;
$pChordBased-> add(TRUE, 15);
$pChordBased-> add(FALSE, 85);

// if so, how many notes together:
$pHowMany = new Probability;
$pHowMany-> add(2, 95);
$pHowMany-> add(3, 65);
$pHowMany-> add(4, 35);
$pHowMany-> add(5, 15);
$pHowMany-> add(6, 8);
$pHowMany-> add(7, 6);
$pHowMany-> add(8, 4);

function createGenome($scale, $octaves = 1, $length = 16, $phraseLength = 8)
{
	//eval(globals()); // get all the probability objects
	global $pFirstPhraseNoteOnTriad, $pNoteOnScale, $pLastPhraseNoteOnTriad, $pLastNoteOnTriad, $pLastNoteOnTonic;
	
	$genome = array();
	for($i = 0; $i < $length; $i++)
	{