120, 'longueur_pause'=>120, 'longueur_morceau'=>40, 'longueur_phrase'=>15, 'longueur_pause_phrase'=>120, 'hauteurmin_note'=>30, 'hauteurmax_note'=>40); // GET pour pouvoir enregistrer une combinaison intéressante en copiant l'url foreach($_GET as $nom_param => $valeur) { if(isset($valeur)) { if(!ereg("^[0-9]{1,4}$", $valeur)){ $log .= '« ' . $valeur . ' » : faut mettre de 1-4 chiffres !
'; }else{ // $log .= '« ' . $valeur . ' » : OK!
'; $PARAMS[$nom_param] = $valeur; $log .= $PARAMS[$nom_param] . '
'; } } } // plugin $plug = 'qt'; // $txt: la musique au format texte, qui sera convertie en MIDI. On commence par régler les paramètres. $txt = 'MFile 1 2 480 MTrk 0 TimeSig 4/4 24 8 0 Tempo 400000 0 Meta TrkEnd TrkEnd MTrk 0 PrCh ch=5 p=0 '; $addition_note_pause = $PARAMS['longueur_note'] + $PARAMS['longueur_pause']; $temps = 0; $longueur_phrase_et_pause = $PARAMS['longueur_phrase']+1; for($i=0; $i<$PARAMS['longueur_morceau']; $i++) { if($i%$longueur_phrase_et_pause==$PARAMS['longueur_phrase']){ /* $i += 2; echo $temps; echo "couic !"; $temps += 1200; echo $temps;//$PARAMS['longueur_pause_phrase'] - $PARAMS['longueur_pause'];*/ continue; } $temps = $i*$addition_note_pause; $hauteur = rand($PARAMS['hauteurmin_note'],$PARAMS['hauteurmax_note']); $txt .= $temps . ' On ch=5 n=' . $hauteur . ' v=127 '; $txt .= ($temps + $PARAMS['longueur_note']) . ' Off ch=5 n=' . $hauteur . ' v=127 '; } $txt .= ($temps + 500) . ' Meta TrkEnd TrkEnd'; ?> Mousique
Le résultat surprenant et magnifique : importTxt($txt); $midi->saveMidFile($file); $midi->playMidFile($file,1,1,0,$plug); ?>
Longueur des notes… »
Longueur des pauses entre les notes… »
Nombre de notes du morceau… »
Nombre de notes d'une phrase… »
Longueur de la pause après une phrase… »
Hauteur minimale des notes… »
Hauteur maximale des notes… »

Au format texte :