|
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>