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>