| 
		
 3 4 6 7 8 0 - W E R T Y U I O P @  | 
 ハーモナイザー 調: 度数: バランス:  | 
 Vol: Pan: Rev: Oct:  | 
| 
 S D G H J L ; Z X C V B N M , . /  | 
 全てを
拍の先頭以外を
 | 
 | 
 Vol: Pan: Rev: Oct:  | 
||||
| 
 | 
 Vol: Pan: Rev:  | 
<body>
<td width=340px class=p10>
 ハーモナイザー<br>
 調: <select id=hmkey onchange='changeHm();'>
<option value=0 selected>C Major / A minor</option>
<option value=11>Db Major / Bb minor</option>
<option value=10>D Major / B minor</option>
<option value=9>Eb Major / C minor</option>
<option value=8>E Major / C# minor</option>
<option value=7>F Major / D minor</option>
<option value=6>Gb Major / Eb minor</option>
<option value=5>G Major / E minor</option>
<option value=4>Ab Major / F minor</option>
<option value=3>A Major / F# minor</option>
<option value=2>Bb Major / G minor</option>
<option value=1>B Major / G# minor</option>
</select>
<br>
 度数: <select id=hmval onchange='changeHm();'>
<option value=0>-8</option>
<option value=1>-5</option>
<option value=2>-4</option>
<option value=3 selected>-3</option>
<option value=4>+3</option>
<option value=5>+4</option>
<option value=6>+5</option>
<option value=7>+8</option>
<option value=8>OFF</option>
</select> バランス: <input type=number min=0 max=100 value=90 id=hmbal class=keta3 onchange='changeHm();'>
</td>
<script><!--
var shift=3;
var curkey=0;
var selKey=document.getElementById("hmkey");
var hmb=90;
function transpose(x){
 x=parseInt(x);
 switch(shift){
  case 0: return x-12;
  case 1: return x-[7,7,7,7,7,6,7,7,7,7,7,7][(x+curkey)%12];
  case 2: return x-[5,5,5,5,5,5,5,5,5,5,5,6][(x+curkey)%12];
  case 3: return x-[3,4,3,4,4,3,4,3,4,4,3,4][(x+curkey)%12];
  case 4: return x+[4,3,3,4,3,4,3,4,3,3,4,3][(x+curkey)%12];
  case 5: return x+[5,5,5,5,5,6,5,5,5,5,5,5][(x+curkey)%12];
  case 6: return x+[7,7,7,7,7,7,7,7,7,7,7,6][(x+curkey)%12];
  case 7: return x+12;
  default: return x;
 }
}
function changeHm(){
	curkey=parseInt(selKey.options[selKey.selectedIndex].value);
	shift=document.getElementById('hmval').selectedIndex;
	hmb=document.getElementById('hmbal').value;
}
document.onkeydown=function(e){	// PCキーボード演奏の発音のケースだけを例示
	e=window.event || e;
	m=kmap[e.keyCode];
	if(m>12){
		k=document.getElementById(m);
		if(k && k.className!="on"){
			if(m>59){
				Jazz.MidiOut(0x90,m+oct1*12,127);
				if(shift!=8)Jazz.MidiOut(0x90,transpose(m+oct1*12),127*hmb/100);	// 追加
			}else{
				Jazz.MidiOut(0x91,m+oct2*12,127);
			}
			k.className="on";
		}
	}
	return false;
}
changeHm()
--></script>