<?php

if (isset($_POST['notedata'])) {
    require './midi.class.php';
    $txt = $_POST['notedata'];
    //echo $txt;
    //echo '\r\n \r\n';
    $midi = new Midi();
    //echo "midi made";
    $midi->importTxt($txt);
    //echo $midi->getTrackCount();
    $destFilename = 'output3A.mid';
    //echo $destFilename;
    ///$tracks=$midi->tracks();
    echo $midi->getMid();
    //$midi->downloadMidFile($destFilename); //not from a midi file
    //echo 'Binary test'
    //echo json_encode($binary);
} else {
    echo "not set";
}
예제 #2
0
$chordNotes = explode("_", $_GET["notes"]);
if ($chordNotes) {
    $midi = new Midi();
    $midi->open(480);
    $midi->setBpm(120);
    $track = $midi->newTrack() - 1;
    $midi->addMsg($track, "0 PrCh ch=1 p={$instrument}");
    $time = 20;
    foreach ($chordNotes as $noteDeslocation) {
        $midi->addMsg($track, "{$time} On ch=1 n={$noteDeslocation} v=127");
        $time += 20;
    }
    $time += 1000;
    foreach ($chordNotes as $noteDeslocation) {
        $midi->addMsg($track, "{$time} Off ch=1 n={$noteDeslocation} v=127");
    }
    foreach ($chordNotes as $noteDeslocation) {
        $midi->addMsg($track, "{$time} On ch=1 n={$noteDeslocation} v=127");
        $time += 150;
    }
    $time += 1500;
    foreach ($chordNotes as $noteDeslocation) {
        $midi->addMsg($track, "{$time} Off ch=1 n={$noteDeslocation} v=127");
    }
    $midi->addMsg($track, "{$time} Meta TrkEnd");
    $data = $midi->getMid();
}
header("Content-type: audio/midi");
header("Content-Disposition: attachment; filename=chord.mid");
echo $data;
exit;