Scale
opt("0,2,4,5,7,9,11","Major",$scaletype);
opt("24,23,21,19,17,16,14,12,11,9,7,5,4,2","Reverse major",$scaletype);
opt("0,2,3,5,7,8,10","Minor",$scaletype);
opt("0,1,4,5,6,7,10","Enigmatic",$scaletype);
opt("0,1,3,5,7,9,11","Neopolitan major",$scaletype);
opt("0,1,3,5,7,8,11","Neopolitan minor",$scaletype);
opt("0,2,3,6,7,8,11","Hungarian minor",$scaletype);
opt("0,2,4,6,8,10,12,14,16,18,20,22,24,26","Whole-tone",$scaletype);
opt("0,1,2,3,4,5,6,7,8,9,10,11,12,13","Semitone",$scaletype);
opt("r0","Random (narrow)",$scaletype);
opt("r1","Random (wide)",$scaletype);
opt("0,3,5,6,7,8,10","Blues",$scaletype);
opt("0,2,4,5,7,9,11","Ionian mode",$scaletype);
opt("0,2,3,5,7,9,10","Dorian mode",$scaletype);
opt("0,1,3,5,7,8,10","Phrygian mode",$scaletype);
opt("0,2,4,6,7,9,11","Lydian mode",$scaletype);
opt("0,2,4,5,7,9,10","Mixolydian mode",$scaletype);
opt("0,2,3,5,7,8,10","Aeolian mode",$scaletype);
opt("0,1,3,5,6,8,10","Locrian mode",$scaletype);
opt("0,2,3,5,6,8,9,11,12,14,15,17,18,20","Diminished",$scaletype);
?>
Tune
opt(0,"Eastenders Classic",$tunetype);
opt(1,"Ascending",$tunetype);
opt(2,"Random up/down",$tunetype);
opt(3,"Random notes on scale",$tunetype);
opt(4,"Same direction, but random amount",$tunetype);
opt(5,"Completely random",$tunetype);
opt(6,"Random GM drum notes",$tunetype);
opt(7,"Single note below",$tunetype);
?>
Single note (if set above)
if(!isset($single)) $single=60;
for($n=0;$n<=127;$n++) {
switch($n%12) {
case 0:
$nd="C";
break;
case 1:
$nd="C#";
break;
case 2:
$nd="D";
break;
case 3:
$nd="D#";
break;
case 4:
$nd="E";
break;
case 5:
$nd="F";
break;
case 6:
$nd="F#";
break;
case 7:
$nd="G";
break;
case 8:
$nd="G#";
break;
case 9:
$nd="A";
break;
case 10:
$nd="A#";
break;
case 11:
$nd="B";
break;
}
$nd.=intval($n/12);
if($n==60) $nd="Middle C";
opt($n,$nd,$single);
}
?>
Harmony
opt(0,"None",$harmony);
opt(1,"Scale third",$harmony);
opt(2,"Major third",$harmony);
opt(3,"Minor third",$harmony);
opt(4,"Fifth",$harmony);
opt(5,"Random up to 2 tones",$harmony);
opt(6,"Mirror",$harmony);
?>
Tempo
opt(60,"60 bpm",$tempo);
opt(90,"90 bpm",$tempo);
opt(120,"120 bpm",$tempo);
opt(150,"150 bpm",$tempo);
opt(180,"180 bpm",$tempo);
opt(210,"210 bpm",$tempo);
opt(240,"240 bpm",$tempo);
?>
General MIDI sound
opt(0,"Ac. Grand Piano",$instr);
opt(1,"Brt Acoust. Piano",$instr);
opt(2,"Elec Grand Piano",$instr);
opt(3,"Honky-tonk Piano",$instr);
opt(4,"Electric Piano 1",$instr);
opt(5,"Electric Piano 2",$instr);
opt(6,"Harpsichord",$instr);
opt(7,"Clavi",$instr);
opt(8,"Celesta",$instr);
opt(9,"Glockenspiel",$instr);
opt(10,"Music Box",$instr);
opt(11,"Vibraphone",$instr);
opt(12,"Marimba",$instr);
opt(13,"Xylophone",$instr);
opt(14,"Tubular Bells",$instr);
opt(15,"Dulcimer",$instr);
opt(16,"Drawbar Organ",$instr);
opt(17,"Percussive Organ",$instr);
opt(18,"Rock Organ",$instr);
opt(19,"Church Organ",$instr);
opt(20,"Reed Organ",$instr);
opt(21,"Accordion",$instr);
opt(22,"Harmonica",$instr);
opt(23,"Tango Accordion",$instr);
opt(24,"A. Guitar (nylon)",$instr);
opt(25,"A. Guitar (steel)",$instr);
opt(26,"E. Guitar (jazz)",$instr);
opt(27,"E. Guitar (clean)",$instr);
opt(28,"E. Guitar (muted)",$instr);
opt(29,"Overdriven Guitar",$instr);
opt(30,"Distortion Guitar",$instr);
opt(31,"Guitar harmonics",$instr);
opt(32,"Acoustic Bass",$instr);
opt(33,"E. Bass (finger)",$instr);
opt(34,"E. Bass (pick)",$instr);
opt(35,"Fretless Bass",$instr);
opt(36,"Slap Bass 1",$instr);
opt(37,"Slap Bass 2",$instr);
opt(38,"Synth Bass 1",$instr);
opt(39,"Synth Bass 2",$instr);
opt(40,"Violin",$instr);
opt(41,"Viola",$instr);
opt(42,"Cello",$instr);
opt(43,"Contrabass",$instr);
opt(44,"Tremolo Strings",$instr);
opt(45,"Pizzicato Strings",$instr);
opt(46,"Orchestral Harp",$instr);
opt(47,"Timpani",$instr);
opt(48,"String Ensemble 1",$instr);
opt(49,"String Ensemble 2",$instr);
opt(50,"SynthStrings 1",$instr);
opt(51,"SynthStrings 2",$instr);
opt(52,"Choir Aahs",$instr);
opt(53,"Voice Oohs",$instr);
opt(54,"Synth Voice",$instr);
opt(55,"Orchestra Hit",$instr);
opt(56,"Trumpet",$instr);
opt(57,"Trombone",$instr);
opt(58,"Tuba",$instr);
opt(59,"Muted Trumpet",$instr);
opt(60,"French Horn",$instr);
opt(61,"Brass Section ",$instr);
opt(62,"SynthBrass 1",$instr);
opt(63,"SynthBrass 2",$instr);
opt(64,"Soprano Sax",$instr);
opt(65,"Alto Sax",$instr);
opt(66,"Tenor Sax",$instr);
opt(67,"Baritone Sax",$instr);
opt(68,"Oboe",$instr);
opt(69,"English Horn",$instr);
opt(70,"Bassoon",$instr);
opt(71,"Clarinet",$instr);
opt(72,"Piccolo",$instr);
opt(73,"Flute",$instr);
opt(74,"Recorder",$instr);
opt(75,"Pan Flute",$instr);
opt(76,"Blown Bottle",$instr);
opt(77,"Shakuhachi",$instr);
opt(78,"Whistle",$instr);
opt(79,"Ocarina",$instr);
opt(80,"Lead 1 (square)",$instr);
opt(81,"Lead 2 (sawtooth)",$instr);
opt(82,"Lead 3 (calliope)",$instr);
opt(83,"Lead 4 (chiff)",$instr);
opt(84,"Lead 5 (charang)",$instr);
opt(85,"Lead 6 (voice)",$instr);
opt(86,"Lead 7 (fifths)",$instr);
opt(87,"Lead 8 (bass + lead)",$instr);
opt(88,"Pad 1 (new age)",$instr);
opt(89,"Pad 2 (warm)",$instr);
opt(90,"Pad 3 (polysynth)",$instr);
opt(91,"Pad 4 (choir)",$instr);
opt(92,"Pad 5 (bowed)",$instr);
opt(93,"Pad 6 (metallic)",$instr);
opt(94,"Pad 7 (halo)",$instr);
opt(95,"Pad 8 (sweep)",$instr);
opt(96,"FX 1 (rain)",$instr);
opt(97,"FX 2 (soundtrack)",$instr);
opt(98,"FX 3 (crystal)",$instr);
opt(99,"FX 4 (atmosphere)",$instr);
opt(100,"FX 5 (brightness)",$instr);
opt(101,"FX 6 (goblins)",$instr);
opt(102,"FX 7 (echoes)",$instr);
opt(103,"FX 8 (sci-fi)",$instr);
opt(104,"Sitar",$instr);
opt(105,"Banjo",$instr);
opt(106,"Shamisen",$instr);
opt(107,"Koto",$instr);
opt(108,"Kalimba",$instr);
opt(109,"Bag pipe",$instr);
opt(110,"Fiddle",$instr);
opt(111,"Shanai",$instr);
opt(112,"Tinkle Bell",$instr);
opt(113,"Agogo",$instr);
opt(114,"Steel Drums",$instr);
opt(115,"Woodblock",$instr);
opt(116,"Taiko Drum",$instr);
opt(117,"Melodic Tom",$instr);
opt(118,"Synth Drum",$instr);
opt(119,"Reverse Cymbal",$instr);
opt(120,"Guitar Fret Noise",$instr);
opt(121,"Breath Noise",$instr);
opt(122,"Seashore",$instr);
opt(123,"Bird Tweet",$instr);
opt(124,"Telephone Ring",$instr);
opt(125,"Helicopter",$instr);
opt(126,"Applause",$instr);
opt(127,"Gunshot",$instr);
?>
Direction
opt("forward","Forward",$direction);
opt("reverse","Reverse",$direction);
opt("double","Forward, but each note doubled",$direction);
opt("doublerev","Reverse, but each note doubled",$direction);
?>
Channel
for($n=1;$n<=16;$n++) if($n==10) echo "10 - Usually drums ";
else echo "$n ";
?>