Esempio n. 1
0
 public static function getPseudo($nb = 3, $uppercase = true)
 {
     mt_srand(self::make_seed());
     $list = self::getSyllabes();
     $pseudo = '';
     for ($i = 0; $i < $nb; $i++) {
         shuffle($list);
         $pseudo .= $list[array_rand($list)];
     }
     $pseudo .= Probability::success(80) ? mt_rand(10, 99) : null;
     return $uppercase ? ucfirst($pseudo) : $pseudo;
 }
Esempio n. 2
0
$pParallelScale = new Probability;
$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++)