3 4 6 7 8 0 - W E R T Y U I O P @ |
|
S D G H J L ; Z X C V B N M , . / |
全てを
拍の先頭以外を
|
|
||||
|
<body> <td colspan=3 class=p10> <input type=radio name=bpoc id=bpoc1 onchange='bed();'>全てを <input type=radio name=bpoc id=bpoc2 onchange='bed();' checked>拍の先頭以外を <br> <select id=bporn> <option value="only">ルートのみで <option value="octs" selected>オクターブ上下含む <option value="5tha">5度音も少し含む <option value="5thb">5度音も多く含む </select> </td> <script><!-- var octs=[0,0,0,0,0,0,0,0,12,12,-12,-12]; // オクターブ上下を含む var tha=[0,0,0,0,0,0,0,0,12,12,-12,-12,7,-5]; // 5度音も少し含む var thb=[0,0,0,0,0,0,0,0,12,12,-12,-12,7,7,-5,-5]; // 5度音も多く含む var boc; var born; function tick(){ if(playing==2){ // ループプレイのとき document.forms[0].elements[currbar-1].checked=true; currdrptnb=document.forms[1].elements[currbar-1].value; cht=document.forms[4].elements[currbar-1].value; bpp=document.forms[5].elements[count].checked; bvel=document.forms[5].elements[16].value; if(document.getElementById('bpoc1').checked){ // ベース音程変化が boc=0; // 全てのタイミングを対象 }else{ boc=1; // 拍の先頭タイミング以外を対象 } born=document.getElementById('bporn').selectedIndex; // 変化パターン if(bpp)Jazz.MidiOut(0x81,mbn+36,0); // 消音処理 (中略) if(bpp){ tx=0; if((boc==0)||(count%4!=0)){ // 音程変化をする場合 if(born==1){ tix=Math.floor( Math.random() * 12 ); tx=octs[tix]; // オクターブ上下 } if(born==2){ tix=Math.floor( Math.random() * 14 ); tx=tha[tix]; // 5度も少し } if(born==3){ tix=Math.floor( Math.random() * 16 ); tx=thb[tix]; // 5度も多め } } Jazz.MidiOut(0x91,cbn+tx+36,bvel); // 変化幅txを加算して発音 mbn=cbn+tx; // 変化幅txを加算して保管 } } (後略) } --></script>