24?24:$pbrsemitones; $pbrcents=$pbrcents<0?0:$pbrcents; $pbrcents=$pbrcents>100?100:$pbrcents; header('Content-Type: audio/x-midi;'); header('Content-Disposition: filename="play.mid"'); require_once('midi.class.php'); $beatlength=24; $v=100; for($i=1;$i<=16;$i++) { $data.="0 Par ch=$i c=101 v=0\n"; $data.="0 Par ch=$i c=100 v=0\n"; $data.="0 Par ch=$i c=6 v=$pbrsemitones\n"; $data.="0 Par ch=$i c=38 v=$pbrcents\n"; } $beat=0; ksort($chords); foreach($chords as $chord) { $on=($beat)*$beatlength; $off=($beat+1)*$beatlength; $notes=array_keys($chord); $ons=$offs=''; for($i=1;$i<=sizeof($notes) && $i<=10;$i++) { $note=$notes[$i-1]; $data.="$on Pb ch=$i v={$melody['pbs'][$note]}\n"; $midinote=$melody['notes'][$note]; $ons.="$on On ch=$i n=$midinote v=$v\n"; $offs.="$off On ch=$i n=$midinote v=0\n"; } $data.=$ons.$offs; $beat++; } $midi = new Midi(); $end=$beat*$beatlength; $midi->importTxt("MFile 0 1 $beatlength\nMTrk\n$data$end Meta TrkEnd\nTrkEnd"); echo $midi->getMid(); } ?>