Идет загрузка...
найти имя аккордаCoverTonвер. от  
«« »» Исходник: лад:
Результат:
«« »» \n\n" afr+="
" + all.substring(2,all.length-1) + "
" if (nadotabs) { tabsvalue="" // табы tabsvalue+="" tabsvalue+="" tabsvalue+="

табы даны как зеркальное отражение гитары

" j=0 if (count!=0) j++ for (i=j; i'); alltabs[j]=tbs tbs=alltabs[j].replace(/\'/g, '') tabsvalue+="" } tabsvalue+="" } afr+=tabsvalue } if (!opera) {afr+="

"+namenote4tabs[j]+"

"+alltabsnames[j]+"
"+tbs+"

"} afr+="
Hosted by uCoz
" if (!forhavefound) fr.document.write(vfr+afr); else {havefound2.document.writeln(vfr + "" + all.substring(2,all.length-1) + "
Hosted by uCoz
"); all=doall;} d.one.txtreserve.value=all.substring(2,all.length-1) if (d.one.odin.value!='' && !forhavefound) d.one.sost.value='готово от '+nast[num][gel]; else if (!forhavefound) d.one.sost.value='' } if (rn2<0) a=-1; else a=1; if (rn<0) b=-1; else b=1; if (rn2*a < rn*b) {ton=rn2; rn2=rn; rn=ton;} ton=" тона" if (rn==1 || rn==-1) ton=" тон" d.one.sost2.value=((rn>0) ? "+"+rn : rn) + ton + " ("+((rn<0) ? "+" : "")+rn2+")" if (rn==0) d.one.sost2.value="" d.one.ladselect.value=""+(rn*2) if (accn!=0 && !forhavefound) { for (i=0; i<=accn; i++) { if (acctext[i]!=1) acctext[i]=0 if (acctext[i]==1) d.getElementById('attention').style.visibility='visible' } } if (acc=='' && d.one.odin.value!='' && gel!=0 && !retur) {alert('Аккорды не обнаружены'); d.one.sost.value='аккордов нет';} bsi2=false if (skokaH==0 && etoenglish>etorussian && d.one.nah.checked==true && gel!=0 && skokaB!=0 && etoenglish>20) bsi2=true if (bsi || bsi2) { if (!sovetproH) { message="Скорее всего, надо изменить настройки на 'B = си', так как" if (bsi && bsi2) message+=":\n- это англоязычный источник;\n- в тексте не встречается аккорд H, но встречается аккорд B;\n- в исходнике есть аккорд с основанием Bb." if (bsi && !bsi2) message+=" в исходнике есть аккорд с основанием Bb." if (bsi2 && !bsi) message+=":\n- это англоязычный источник;\n- в тексте не встречается аккорд H, но встречается аккорд B." message+="\nИзменить настройки?" if (confirm (message)) {d.one.nah.checked=false; d.one.neh.checked=true; num1=1; r=0; knop(); go()} } if (sovetproH) alert('Возможно, в исходнике одновременно используются противоречащие друг другу правила: под нотой си в одном случае подразумевается "H", в другом - "B"') } if (!retur) return false d.one.odin.focus() } function proverka() { akk=''; f=0; s1=1000; s2=1000; op=0; sus=0 var be=0, di=0//, fornow=false for (en=n; s1!=' ' && s1!='_' && s1!=',' && s1!='.' && s1!=';' && s1!='*' && s1!='(' && s1!=')' && s1!=':' && s1!='|' && s1!='[' && s1!=']' && s1!='\'' && s1!='!' && s1!='?' && s1!='<' && s1!='>' && escape(s1)!='%0D' && escape(s1)!='%0A' && escape(s1)!='%09' && en<=text.length; en++) { s1=text.charAt(en-1); s2=text.charAt(en); if (en>n) st=text.substring(en-1,en+2); else st="" // aug - еще не акорд if ((text.charAt(en-2)=='#' || text.charAt(en-2)=='b') && en==n) akk+=text.charAt(en-2) // для #A if (st=='aug' || st=='dim' || st=='maj' || st=='sus') {op++; akk=akk+st; en+=2; s1=''} if (st=='sus') sus++ if (st=='add' || st=="min") {akk+=st; en+=2; s1=''} if (s1=='m' && s2=='m' && st!='mma') {f++; break} // <>Amm +za Ammaj7 if (s1=='-' && s2=='-') {f++; break} // не трансп-ть названия струн в табах if (op>1 && op!=sus) {f++; break} // <> Amajsusdim, разрешает Asus2sus4 if (s1=='#') di++ if (s1=='b') be++ if (di>2 || be>2) {f++; break} // <> A### Abbb if (s1=='\\') s1='\/' // заменить все \ на /, чтоб в поп-апах не резались if (/[ijklnopqrstuvwxyz&%8]/.test(s1)==true) {f++; etoenglish++; break} if (/[абвгдеёжзийклмнопрстуфхцчшщъыьэюя]/.test(s1)==true) {f++; etorussian++; break} if (/[БГДЁЖЗИЙКЛМОПРТУФХЦЧШЩЪЫЬЭЮЯ]/.test(s1)==true) {f++; etorussian++; break} if (/[IJKLMNOPQRSTUVWXYZ]/.test(s1)) {f++; etoenglish++; break} if ((en!=n)&&(/[ABCDEFGHIJKLMNOPQRSTUVWXYZАВЕНС]/.test(s1)==true)) {etoenglish++; break} // для probass, не знай почему // if (s1=='С' && s2==' ' && /[ABDCEFGH]/.test(text.charAt(en+1))==true) {fornow=true} // if (s1=='С' && s2==' ' && /[^абвгдеёжзийклмнопрстуфхцчшщъыьэюя]/.test(text.charAt(en+1).toLowerCase())==true) f-- if ((s1=='А' || s1=='В' || s1=='С' || s1=='Е' || s1=='Н')&&(/[abdms12345679\/\\-\\#\/]/.test(s2)==false)&&(s2!='+' && text.charAt(en-2)!='\/' && text.charAt(en-2)!='\\' && text.charAt(en-2)!='\\' && text.charAt(en-2)!='\/')) {f++; etorussian++; break} // если по ошибке 1ая буква по-русски, то аккорд фурычет; если т. одна буква и англ. текст - нет (etorussian>=etoenglish && etorussian>0) if ((s1=='А' || s1=='В' || s1=='С' || s1=='Е' || s1=='Н')&&((/[абвгдеёжзийклмнопрстуфхцчшщъыьэюя]/.test(text.charAt(en+1).toLowerCase())==true)||(/[абвгдеёжзийклмнопрстуфхцчшщъыьэюя]/.test(text.charAt(en).toLowerCase())==true)&&s2!='\/'&&s2!='\\')) {f++; etorussian++;break} // если 1ая буква - по русски, а 2я или 3я - тоже - это не аккорд if ((/[acdefgh]/.test(s1)==true)&&(text.charAt(en-2)=="'" || en!=n || /[abdms12345679\/\\-\\#\/]/.test(s2)==false)&&(s2!='+' && text.charAt(en-2)!='\/' && text.charAt(en-2)!='\\' && text.charAt(en-2)!='\\' && text.charAt(en-2)!='\/')) {f++; etoenglish++; break} if (f==0 && (s1=='a' || s1=='A') && s2=='m' && (text.charAt(en-3)=='I' || text.charAt(en+2)=='I')) {f++; etoenglish++; break} // 'I am' or 'am I' - не аккорд // if (s1=='A' && s2==' ' && /[abcdefghijklmnopqrstuvwxyz&%8]/.test(text.charAt(en+1))==true) {f++; etoenglish++; break} akk=akk+s1 if (s1=='\/' && f==0) probass() } if (f!=0) all+=s // && !fornow if (f==0) {// || fornow accn++ if (acctext[accn] && !forhavefound) {if (acctext[accn]==1) all+=s; return false} zamena(); n=en-1; s=text.charAt(en-2); all+=acc+s; } } function probass() { he='nachnem'; nch=100; //dvaOK=triOK=false // скока знаков допускается после баса for (k=en; (k13) ebass=false // if ((k-en>0) && !dvaOK && !triOK) ebass=false } } function zamena() { // (s=='A' || s=='А') - т.к. 1й - по англ., 2й - по рус. acc=''; slesh=false; chi=0; addsi=0 for (k=1; k <= akk.length-1; k++) { s=akk.charAt(k-1); st=akk.substring(k-1,k+1); sdo=akk.charAt(k-2); spo=akk.charAt(k) if (k==1) s=akk.charAt(k-1).toUpperCase() if (s=='\/') slesh=true if (s=='H' || s=='Н') { if (num==1 || num==3) {ch=1000; skokaH++} sovetproH=true } if (s=='A' || s=='А') ch=1 if (s == nast[num][2] || s == nast[num][0] ) { ch=2 if (num==0 || num==2) {skokaB++; addsi=1; if (spo=='b') bsi=true} } if (s == nast[num][3] || s == nast[num][13] ) { ch=3 if (num==0 || num==2) skokaH++ if (num==1 || num==3) {skokaB++; addsi=-1} } if (s=='C' || s=='С') ch=4 if (s=='D') ch=6 if (s=='E' || s=='Е') ch=8 if (s=='F') ch=9 if (s=='G') ch=11 if (s=='#') { if (!isNaN(sdo) && !isNaN(spo) && eval(spo)>0) acc+="+"; // A7#5 -> A7+5 else if (sdo=='#' || sdo=='b') acc+="+"; // A##5 -> A#+5 else if (slesh) acc+="+"; // A/7# -> A/7+ else chi++ } if (s=='b') { if (!isNaN(sdo) && !isNaN(spo) && eval(spo)>0) acc+="-"; else if (sdo=='#' || sdo=='b') acc+="-"; else if (slesh) acc+="-"; else chi-- } if ((s=='#' || s=='b') && ch>100) {acc+=st; k++} // при eng чтобы писала H#, a не H if (/[ABCDEFGH#bАВЕНС]/.test(s)==false) acc+=s if (!isNaN(s) && !isNaN(spo)) { if (s!='1' && isNaN(sdo) && eval(spo)>1) acc+="\/" // A79 -> A7/9 if (sdo=='1' && (s=='1' || s=='3') && !isNaN(spo) && eval(spo)>0) acc+="\/" // A115 -> A11/5 } } ch+=chi if (p==0 && ch<100) {ish=ch; p=1;} // нашли ish, ish = первый встреченный ch akk=''; if (plus==1) { if (d.one.txtreserve.value=='') gel=ish+1 if (d.one.txtreserve.value!='') gel++ if (gel==13) gel=1 plus=0 } if (minus==1) { if (d.one.txtreserve.value=='') gel=ish-1 if (d.one.txtreserve.value!='') gel-- if (gel==0) gel=12 minus=0 } r=0 if (raznica==100) razn=ish-gel; else {razn=-raznica; gel=ish-razn; if (gel<=0) gel+=12} // если лад чз select rn=(-razn)/2; rn2=0 if (rn<0) rn2=6+rn if (rn>0) rn2=rn-6 if ((ch >razn)&&(ch<100)) r=ch-razn if ((ch<=razn)&&(ch<100)) r=12+ch-razn if (r>12) r-=12 if (r<=0) r+=12 taba=taba2=taba3="" rr=new Array('', 'A', nast[num][2], nast[num][3], 'C', nast[num][5], 'D', nast[num][7], 'E', 'F', nast[num][10], 'G', nast[num][12]) stoppodozr=false if (ebass==false && zabass==false) { doba=doba2='' if (acc=="" || acc=="add11-") {taba=ab[0][r]; taba2=ab[45][r]} else if (acc=="m" || acc=="min" || acc=="-3" || acc=="3-") {taba=ab[1][r]; taba2=ab[46][r]; taba3=ab[31][r]} else if (acc=="7" || acc=="6+") {taba=ab[2][r]; taba2=ab[27][r]} else if (acc=="m7" || acc=="7m" || acc=="m9+" || acc=="m+9" || acc=="m\/9+" || acc=="m\/+9" || acc=="min7" || acc=="7min" || acc=="m6+" || acc=="m+6" || acc=="m7\/5") {taba=ab[3][r]; taba2=ab[38][r]; taba3=ab[26][((r>9) ? r-9 : r+3)];} else if (acc=="6") {taba=ab[3][((r>3) ? r-3 : r+9)]; taba2=ab[38][((r>3) ? r-3 : r+9)]; taba3=ab[26][r]} else if (acc=="m6" || acc=="6m" || acc=="min6" || acc=="6min") {taba=ab[4][r]; taba2=ab[37][r]} else if (acc=="9" || acc=="11-" || acc=="-11" || acc=="7\/9" || acc=="9\/7") taba=ab[5][r] else if (acc=="dim" || acc=="°" || acc=="m6-5" || acc=="m6\/5-" || acc=="m6\/-5" || acc=="6m-5" || acc=="6m\/5-" || acc=="dim7" || acc=="7dim" || acc=="0") taba=ab[6][r] else if (acc=="7+1") taba=ab[6][((r>8) ? r-8 : r+4)] else if (acc=="maj" || acc=="maj7" || acc=="7maj" || acc=="7+" || acc=="+7" || acc=="maj7+" || acc=="7+7") {taba=ab[7][r]; taba2=ab[28][r]} else if (acc=="aug" || acc=="+" || acc=="5+" || acc=="+5" || acc=="\/5+" || acc=="\/+5") taba=ab[8][r] else if (acc=="sus2" || acc=="msus2") taba=ab[9][r] else if (acc=="sus4" || acc=="sus" || acc=="4" || acc=="+3" || acc=="3+" || acc=="msus4") taba=ab[9][((r>7) ? r-7 : r+5)] else if (acc=="7sus2") {taba=ab[10][r]; taba2=ab[33][((r>5) ? r-5 : r+7)]} else if (acc=="7sus4" || acc=="7sus" || acc=="sus7" || acc=="7+3" || acc=="7\/3+" || acc=="7\/+3" || acc=="4\/7" || acc=="sus4\/7") taba=ab[11][r] else if (acc=="m9\/6" || acc=="m6\/9" || acc=="9m\/6" || acc=="6m\/9") taba=ab[11][((r>10) ? r-10 : r+2)] else if (acc=="5") taba=ab[12][r] else if (acc=="m+7" || acc=="m7+" || acc=="mmaj7" || acc=="mmaj" || acc=="m7maj" || acc=="m\/7+" || acc=="m\/+7" || acc=="m7+7") {taba=ab[13][r]; taba2=ab[39][r]} else if (acc=="add9" || acc=="2") {taba=ab[14][r]; taba2=ab[19][r]} else if (acc=="sus4add13" || acc=="4add13") {taba=ab[14][((r>7) ? r-7 : r+5)]; taba2=ab[19][((r>7) ? r-7 : r+5)];} else if (acc=="6-5" || acc=="6\/5-" || acc=="6\/-5") {taba=ab[4][((r>3) ? r-3 : r+9)]; taba2=ab[37][((r>3) ? r-3 : r+9)]} else if (acc=="m7-5" || acc=="m7\/5-" || acc=="m7\/-5" || acc=="7m-5" || acc=="7m\/5-" || acc=="7m\/-5") {taba=ab[4][((r>9) ? r-9 : r+3)]; taba2=ab[37][((r>9) ? r-9 : r+3)]} else if (acc=="6+5" || acc=="6\/5+" || acc=="6\/+5") {taba=ab[13][((r>3) ? r-3 : r+9)]; taba2=ab[39][((r>3) ? r-3 : r+9)]} else if (acc=="add11\/5+" || acc=="add11\/+5" || acc=="add11+5") {taba=ab[13][((r>7) ? r-7 : r+5)]; taba2=ab[39][((r>7) ? r-7 : r+5)]} else if (acc=="m+5" || acc=="m5+" || acc=="m\/5+" || acc=="m\/+5" || acc=="m+") {taba=ab[0][((r>4) ? r-4 : r+8)]; taba2=ab[45][((r>4) ? r-4 : r+8)]; taba3=ab[21][((r>4) ? r-4 : r+8)]} else if (acc=="m7+5" || acc=="m7\/5+" || acc=="m7\/+5" || acc=="7m+5" || acc=="7m\/5+" || acc=="7m\/+5") {taba=ab[14][((r>4) ? r-4 : r+8)]; taba2=ab[19][((r>4) ? r-4 : r+8)]} else if (acc=="5+\/sus4" || acc=="sus4\/5+" || acc=="sus\/5+" || acc=="4+5" || acc=="4\/5+" || acc=="sus+5" || acc=="sus\/+5" || acc=="sus4\/+5" || acc=="sus4+5" || acc=="4\/+5") {taba=ab[31][((r>7) ? r-7 : r+5)]; taba2=ab[1][((r>7) ? r-7 : r+5)]; taba3=ab[46][((r>7) ? r-7 : r+5)]} else if (acc=="-1") taba=ab[31][((r>8) ? r-8 : r+4)] else if (acc=="7-5" || acc=="7\/5-" || acc=="7\/-5" || acc=="5-\/7" || acc=="-5\/7") taba=ab[15][r] else if (acc=="m9" || acc=="9m" || acc=="min9" || acc=="9min") taba=ab[16][r] else if (acc=="11" || acc=="sus9") taba=ab[17][r] else if (acc=="madd9" || acc=="minadd9" || acc=="m2" || acc=="min2" || acc=="2m") taba=ab[30][r] else if (acc=="add11") taba=ab[22][r] else if (acc=="add11+") taba=ab[23][r] else if (acc=="add13-" || acc=="add-13" || acc=="-6" || acc=="6-" || acc=="\/6-" || acc=="\/-6") taba=ab[25][r] else if (acc=="madd13-" || acc=="madd-13") {taba=ab[36][r]; taba2=ab[28][((r>4) ? r-4 : r+8)]} else if (acc=="madd9-" || acc=="madd-9" || acc=="m2-" || acc=="m-2") taba=ab[29][r] else if (acc=="add9+" || acc=="add+9" || acc=="+2" || acc=="2+") {taba=ab[20][r]; taba2=ab[32][r]} else if (acc=="add9-" || acc=="add-9" || acc=="-2" || acc=="2-") taba=ab[18][r] else if (acc=="madd11+" || acc=="madd+11") taba=ab[34][r] else if (acc=="m6+5" || acc=="6m+5" || acc=="m6\/5+" || acc=="6m\/5+" || acc=="m6\/+5" || acc=="6m\/+5")taba=ab[18][((r>4) ? r-4 : r+8)] else if (acc=="madd11") {taba=ab[10][((r>7) ? r-7 : r+5)]; taba2=ab[33][r]} else if (acc=="7sus4\/5+" || acc=="7sus\/5+" || acc=="7sus4\/+5" || acc=="7sus\/+5" || acc=="7sus4+5" || acc=="7sus+5") {taba=ab[10][((r>2) ? r-2 : r+10)]; taba2=ab[33][((r>7) ? r-7 : r+5)]} else if (acc=="m11\/5+" || acc=="m11+5" || acc=="m11\/+5") taba=ab[17][((r>2) ? r-2 : r+10)] else if (acc=="maj\/5+" || acc=="maj7\/5+" || acc=="7maj\/5+" || acc=="maj+5" || acc=="maj7+5" || acc=="7maj+5") taba=ab[25][((r>8) ? r-8 : r+4)] else if (acc=="13") {taba=ab[40][r]; doba=' (no5)'} else if (acc=="maj11+" || acc=="maj+11" || acc=="+7+11" || acc=="maj7+11" || acc=="7maj+11" || acc=="maj7\/11+" || acc=="7maj\/11+") taba=ab[40][((r>10) ? r-10 : r+2)] else if (acc=="9-" || acc=="-9" || acc=="7-9" || acc=="7\/9-" || acc=="7\/-9") taba=ab[41][r] else if (acc=="3") taba=ab[42][r] else if (acc=="-5" || acc=="5-" || acc=="\/5-" || acc=="\/-5" || acc=="-") taba=ab[43][r] else if (acc=="sus2+5" || acc=="sus2\/5+" || acc=="sus2\/+5") taba=ab[43][((r>4) ? r-4 : r+8)] else if (acc=="6\/9" || acc=="6add9") {taba=ab[44][r]} else if (acc=="7\/5+" || acc=="7\/+5" || acc=="7+5") taba=ab[47][r] else if (acc=="7sus2\/5-" || acc=="7sus2\/-5" || acc=="7sus2-5") taba=ab[47][((r>10) ? r-10 : r+2)] else if (acc=="add9\/5+" || acc=="add9\/+5" || acc=="add9+5" || acc=="2+5" || acc=="2\/5+" || acc=="2\/+5") taba=ab[47][((r>8) ? r-8 : r+4)] else if (acc=="m9-" || acc=="m-9" || acc=="m\/9-" || acc=="m\/-9") taba=ab[48][r] else if (acc=="7\/6" || acc=="6\/7" || acc=="7add13") taba=ab[48][((r>3) ? r-3 : r+9)] else if (acc=="6\/9-" || acc=="6\/-9" || acc=="6add9-" || acc=="6-9") taba=ab[49][r] else if (acc=="9+" || acc=="+9" || acc=="7+9" || acc=="7\/9+" || acc=="7\/+9") taba=ab[49][((r>9) ? r-9 : r+3)] else if (acc=="m-5" || acc=="m5-" || acc=="m\/5-" || acc=="m\/-5" || acc=="m-") {taba=ab[50][r]; taba2=ab[51][r]} else if (acc=="7add11") taba=ab[52][r] else if (acc=="m11" || acc=="11m") taba=ab[53][r] else if (acc=="-9-5" || acc=="-5-9" || acc=="9-\/5-" || acc=="5-\/9-") taba=ab[54][((r>6) ? r-6 : r+6)] else if (acc=="7add11+") taba=ab[54][r] else if (acc=="11+" || acc=="+11" || acc=="\/11+" || acc=="\/+11") taba=ab[55][r] else if (acc=="11+5" || acc=="11\/5+" || acc=="11\/+5") taba=ab[55][((r>2) ? r-2 : r+10)] else if (acc=="9\/5-" || acc=="9-5" || acc=="9\/-5" || acc=="5-9" || acc=="5-\/9" || acc=="-5\/9") taba=ab[56][r] else if (acc=="9\/5+" || acc=="9+5" || acc=="9\/+5" || acc=="5+9" || acc=="5+\/9" || acc=="+5\/9") taba=ab[56][((r>2) ? r-2 : r+10)] else if (acc=="7+\/5-" || acc=="5-\/7+" || acc=="7+5-" || acc=="5-7+" || acc=="+7-5" || acc=="-5+7" || acc=="maj7\/5-" || acc=="maj\/5-" || acc=="maj-5") taba=ab[57][r] else if (acc=="7sus4\/5-" || acc=="7sus\/5-" || acc=="7sus4-5" || acc=="7sus-5" || acc=="7sus4\/-5" || acc=="7sus\/-5") taba=ab[57][((r>6) ? r-6 : r+6)] else if (acc=="sus4add9-" || acc=="sus\/9-" || acc=="sus\/-9") taba=ab[57][((r>11) ? r-11 : r+1)] else if (acc=="sus2add13-" || acc=="sus2\/13-" || acc=="sus2\/-13" || acc=="sus2-13") taba=ab[57][((r>4) ? r-4 : r+8)] else if (acc=="maj9" || acc=="7+\/9") {taba=ab[58][r]; taba2=ab[59][r]} else if (acc=="6add11") {taba=ab[58][((r>7) ? r-7 : r+5)]; taba2=ab[59][((r>7) ? r-7 : r+5)]} else if (acc=="m7add13-") {taba=ab[58][((r>4) ? r-4 : r+8)]; taba2=ab[59][((r>4) ? r-4 : r+8)]} else if (acc=="mmaj9" || acc=="m7+\/9") taba=ab[60][r] else if (acc=="13-" || acc=="-13") {taba=ab[60][((r>7) ? r-7 : r+5)]; doba=' (no7,9)'} else if (acc=="majadd13\/5+") taba=ab[60][((r>3) ? r-3 : r+9)] } if (zabass==true) {zabass=ebass=false; doba=''; sko1=""} if (ebass==true && zabass==false) { zabass=true var terra=0 if ((r-ch+nch)>12) terra=r-ch+nch-12 if ((r-ch+nch)<1) terra=r-ch+nch+12 if ((r-ch+nch)>0 && (r-ch+nch)<=12) terra=r-ch+nch doba=doba2='\/' + rr[terra] if (nch==3 && (num==1 || num==3)) {addsi=-1; if (ch!=3) stoppodozr=true}// для альтер. аккорда при A/B например if (nch==2 && (num==0 || num==2)) {addsi=1; if (ch!=2) stoppodozr=true} if (stoppodozr) { if (terra+addsi>12) terra-=12 if (terra+addsi<1) terra+=12 doba2='\/' + rr[terra+addsi] } if (nch-ch<0) nch+=12 if (acc=='') { for (z=1; z<=11; z++) { if (nch-ch==z) taba=ab[17+z][r] } } if (acc=='m') { for (z=1; z<=11; z++) { if (nch-ch==z) taba=ab[28+z][r] } } if (acc=='7') { if ((nchch && nch-ch==3)) taba=ab[49][((r>9) ? r-9 : r+3)] // A7/C if (((nchch && nch-ch==9)) && r!=8 && r!=9 && r!=10) taba=ab[48][((r>3) ? r-3 : r+9)] // A7/F# без E,F,F# if ((nchch && nch-ch==6)) taba=ab[54][r] // A7/D# } sko2="" } naba=naba2=naba3="" oraz=taba.substring(0, taba.indexOf("@")) naba=taba.substring(taba.indexOf("@")+1, taba.length) // naba будет = namenote4tabs[ats] , подписываем ноты в табы if (taba==taba2) { if (taba3!="" && taba3!=taba) {taba2=taba3; taba3=""} else taba2="" } taba=oraz id='aa' if (taba2!="") { oraz=taba2.substring(1, taba2.indexOf("@")-1) naba2=taba2.substring(taba2.indexOf("@")+1, taba2.length) if (taba2==taba3) taba3="" taba2=oraz id='bb' if (taba3!="") { oraz=taba3.substring(1, taba3.indexOf("@")-1) naba3=taba3.substring(taba3.indexOf("@")+1, taba3.length) taba3=oraz id='cc' } } function fornaba(oraz) { var reg=/(\S+)\s(\S+)\s(\S+)\s(\S+)\s(\S+)\s(\S+)/ var znak=reg.exec(oraz) nab="" for (i=1; i<7; i++) { if (eval(znak[i])<13) {nab+=nast[num][eval(znak[i])].toLowerCase()} if (eval(znak[i])>13) {nab+="-"} if (i!=6) {nab+="
"} } } if (naba!="") {fornaba(naba); naba=nab} if (taba2!="") { fornaba(naba2); naba2=nab if (taba3!="") {fornaba(naba3); naba3=nab} } fff=0; if (!forhavefound) { for (i=0; i100) fff++ } } if (fff==0 && taba!='') {alltabs[ats]=taba; alltabsnames[ats]=rr[r]+acc+doba; namenote4tabs[ats]=naba; ats++} podozrenie="" if (addsi==-1) podozrenie=((r+addsi!=0) ? nast[num][r+addsi] : nast[num][r+addsi+12])+acc+doba2 if (addsi==1) podozrenie=((r+addsi==13) ? nast[num][r+addsi-12] : nast[num][r+addsi])+acc+doba2 if (addsi!=0 && stoppodozr) podozrenie=nast[num][r]+acc+doba2 if (uu=='da') uuu="text-decoration:underline"; else uuu="" // подчеркивает аккорды returnhint=" return hint(" + taba + ", \'" + naba + "\', \'" + taba2 + "\', \'" + naba2 + "\', \'" + taba3 + "\', \'" + naba3 + "\', \'" + podozrenie + "\')" ; if (ch<100 && taba.length>20) ie='onClick=\"return aga(\''+id+'\', ' + taba + ', \'' + rr[r] + '\', \'' + acc + doba + '\', \'' + naba + '\', \'' + taba2 + '\', \'' + naba2 + '\', \'' + taba3 + '\', \'' + naba3 + '\');\" style=\"cursor:hand;'+uuu+'\" onMouseover=\"a=1; ktoeto='+r+'; window.focus(); accn='+accn+';' + returnhint + '\" onMouseOut=\"hint2()\">'; else ie=' onMouseover=\"a=1; ktoeto='+r+'; accn='+accn+';\" onMouseOut=\"hint2()\">' if (procopy==1) ie=sko1=sko2='' if (sko1=='') ie='' if (ch<100) { title="" if (taba=="" && procopy==0 && addsi!=0 && sko1!="") {title="title='лажа? "+podozrenie+"' "} acc= sko1 + title + ie + nast[num][r] + acc + sko2 } if (ch>100) {acc= 'H' + acc; pro_H(); s=text.charAt(en-2)} taba=""; sko1=" 12) nota[j]-=12 if (nota[j] > 12) nota[j]-=12 if (nota[j] < 0) nota[j]=100 } ab[a1][a2]+="@"+nota[0]+" "+nota[1]+" "+nota[2]+" "+nota[3]+" "+nota[4]+" "+nota[5] //-------------------------------- // подписываем уникальные ноты nota.sort(sortirmassiv) for (li=0; li<3; li++) { for (ti=0; ti<=nota.length; ti++) {if (nota[ti]==nota[ti+1] || nota[ti]==100) nota.splice(ti,1)} } tb[a1][a2]+="%"+nota } function copyresult() { if (d.one.odin.value=='' || d.one.odin.value==' ' || gel==0) {alert("Сначала выберите тональность (нажмите кнопки с аккордами)!"); return false} dobtab='' sko1=''; sko2=''; procopy=1; go() if (nadotabs) { for (j=0 ; j" bebebe+="" bebebe+=d.one.nado.value+"
Hosted by uCoz
" if (opera && navigator.appVersion.indexOf("9.") != -1) tuttona.document.writeln(bebebe) d.getElementById('menu').style.display='block' tuttona.document.writeln(bebebe) } function scrolltogether() { if (i==1) fr.document.body.scrollTop=d.one.odin.scrollTop-1 if (i==2) d.one.odin.scrollTop=fr.document.body.scrollTop+1 } function pastetoish() { d.one.odin.focus(); d.selection.createRange().text = window.clipboardData.getData("Text"); d.selection.createRange().select() } function clearish() {d.one.odin.value=""; fr.document.close(); fr.document.writeln(' 
Hosted by uCoz
')} function otdelno() { wLife=window.open() wLife.document.open() wLife.document.writeln("CoverTon_Page") wLife.document.writeln(vfr + "\n") wLife.document.writeln("

" + all.substring(2,all.length-1) + "

") if (nadotabs) {wLife.document.writeln(tabsvalue)} wLife.document.writeln("
Hosted by uCoz
") wLife.document.close() wLife=0 return false } function otkroytxt() { odnoraz=false d.getElementById('opentxt').click() adrestxt=d.getElementById('opentxt').value.toLowerCase() oraz=adrestxt.replace(/\\/g, '\/') adrestxt=oraz if (adrestxt=="") return false if (adrestxt.indexOf('.txt')!=-1) { fr_opentxt.document.location.href="file://"+adrestxt setTimeout("odnoraz=true;otkroytxt2()", 100) } else if (adrestxt.indexOf('.htm')!=-1 || adrestxt.indexOf('.shtm')!=-1 || adrestxt.indexOf('.dhtm')!=-1) { fr_opentxt.document.location.href="file://"+adrestxt setTimeout("otkroytxt2()", 1000) } else alert("Открыть можно только файлы с расширением *.txt, *.htm, *.html, *.dhtml, *.shtml") } function otkroytxt2() { aaa=fr_opentxt.document.body.parentNode.innerHTML bbb=''; oraz=false if (!odnoraz) { for (ii=0; ii" || zz=="
") bbb+="\n"
				for (ji=ii; aaa.charAt(ji)!=">"; ji++) {}
				ii=ji
			}
		}
		if (zz=="-1; mj--) {
				if (ee[mi*5+mj]!=0) {ress+=(mj+dobava)+' '; nota[mi]=mj+dobava; break;}
				else icount++
			}
		if (icount==5) {ress+='0 '; nota[mi]=0}
		}
	}
	nota[0]+=8; nota[1]+=1; nota[2]+=6; nota[3]+=11; nota[4]+=3; nota[5]+=8
	for (j=0; j<6; j++) {
		if (nota[j] > 12) nota[j]-=12
		if (nota[j] > 12) nota[j]-=12
		if (nota[j] < 0) nota[j]=' ';
		else {oraz=nast[num][nota[j]].toLowerCase(); nota[j]=oraz}
		oraz="d.getElementById('nn"+j+"').value=nota["+j+"]"
		eval(oraz)
	}
	d.getElementById('findname').value=ress
	findaccordname()
}

havefound2.document.writeln(" 
Hosted by uCoz
") function findaccordname() { findresult="" valu="" //valu=ress //с valu есть басовые аккорды, без - нет.. чудеса! for (i=0; i<=d.one.findname.value.length; i++) { var a=d.one.findname.value.charAt(i) if (a==" " && i==d.one.findname.value.length-1) a="" valu+=a } for (ii=0; ii12) r-=12 var proba1=nast[num][r]+oraz[i-1] if (oraz[i-1]!="\/" && oraz[i-1]!="m\/" && oraz[i-1]!="7\/" && findresult.indexOf(proba1)==-1) findresult+=proba1+" " if (oraz[i-1]=="\/" || oraz[i-1]=="m\/" || oraz[i-1]=="7\/") findresult+=nast[num][ji]+oraz[i-1]+nast[num][r]+" " // для правильн. отображения басовых акк. в "найти имя" } d.getElementById('havefound').value=findresult } } } havefound2.document.close() havefound2.document.open() havefound2.document.writeln("") if (findresult=="") { var reg=/(\S+)\s(\S+)\s(\S+)\s(\S+)\s(\S+)\s(\S+)/ var nota=reg.exec(valu) nota[0]=-100 for (ii=1; ii<=7; ii++) { if (nota[ii]=='x') nota[ii]=-100; else {oraz=eval(nota[ii]); nota[ii]=oraz} } nota[1]+=8; nota[2]+=1; nota[3]+=6; nota[4]+=11; nota[5]+=3; nota[6]+=8 for (j=0; j<=7; j++) { if (nota[j] > 12) nota[j]-=12 if (nota[j] > 12) nota[j]-=12 if (nota[j] < 0) nota[j]=100 } neuniq=new Array(nota[1],nota[2],nota[3],nota[4],nota[5],nota[6]) nota.sort(sortirmassiv) for (li=0; li<3; li++) { for (ti=0; ti<=nota.length; ti++) {if (nota[ti]==nota[ti+1] || nota[ti]==100) nota.splice(ti,1)} } for (ii=0; ii12) r-=12 if (oraz[i-1]!="\/" && oraz[i-1]!="m\/" && oraz[i-1]!="7\/") findresult+=nast[num][r]+oraz[i-1]+" " } d.getElementById('havefound').value=findresult } } } if (findresult=="") { d.getElementById('havefound').value="ничего не найдено"; havefound2.document.writeln(" ничего не найдено
Hosted by uCoz
") // alert(nast[num][neuniq[0]]) // nota - уникальные ноты чз запятую; ress, valu - формула "2 2 2 2 2 2"; } } if (findresult!="") {// && !opera forhavefound=stoppodozr=true; raznica=0; go(); forhavefound=false; return false; return false; } } //-------------------------------------------------------------- function prim (id, width, height) { wAhtung=window.open("",id,"scrollbars=yes,toolbar=no,location=no,directories=no,status=no,width="+width+",height="+height+"" ); wAhtung.document.open(); wah='CoverTon :: Руководство к проге' + "

CoverTon

    описание
  1. CoverTon - прога для замены аккордов одной тональности аккордами другой тональности (транспонирование). С ее помощью легко найти для песни более удобные аккорды или изменить тональность под свой голос.
    " wah+="Кроме того, прога содержит табулатуры около " + uniqueaccords + " уникальных (неповторяющихся) аккордов вида " wah+=".\n" if (location.href.indexOf('http')==-1) wah+="

    Последнюю версию программы можно посмотреть или скачать здесь\n" wah+="


  2. Транспонировать аккорды можно несколькими способами:
    - нажать кнопку с аккордом, с которого будет начинаться результат
    - выбрать желаемый интервал в выпадающем меню \"лад\"
    - нажать кнопку плюс\/минус
    - просто изменить Исходник и кликнуть за пределами его окна - Результат изменится в соответствии с ранее выбрнным интервалом или с \'нулевым\' интервалом


  3. Кроме того, можно устанавливать не только интервал или значение первого аккорда, с которого будет начинаться результат, но и значение любого аккорда.
    Например, Вам нужно, чтобы, скажем, 6-й по счету аккорд был обязательно другим аккордом, допустим, F#. Для этого в окне Результат наведите курсор на 6-й аккорд и нажмите клавишу пробел - появится дополнительное меню с линейкой аккордов, где вы и сможете выбрать F#
  4. \n" wah+="
    синтаксис
  5. Требования к синтаксису аккордов минимальны. Желательно, чтобы аккорд был написан английскими буквами и начинался с заглавной буквы. Однако, в большинстве случаев прога верно воспримет аккорд, начинающийся, например, с русских букв А, В, Е, Н, С, или с английских строчных букв a, c, d, e, f, g, h (но не b), или начинающийся со знаков бемоля и диеза


  6. Для того, чтобы написать 'бемоль', используйте английскую строчную букву b. Для того, чтобы написать 'диез', используйте #


  7. Для обозначения повышения или понижения ступени желательно использовать символы + или -, а не # или b (т.к. # и b, в первую очередь, трактуются как диезы и бемоли). В тех случаях, когда очевидно, что # и b используются для обозначения повышения или понижения ступени, эти символы будут заменены на + и -, во избежании путаницы
    Например: Ab#5 будет заменен на Ab+5 , A7b5 - на A7-5


  8. \n" wah+="
  9. Если Вы вводите аккорды вместе с английским текстом, то, вероятно, часть текста будет воспринята как аккорды (это касается слов-двойников: A, Am).
    Это легко поправить: в окне Результат наведите курсор на \"нежелательный\" аккорд и нажмите \"Delete\" - теперь (пока не изменится Исходник) этот аккорд будет восприниматься как простой текст. О включении этой команды сигнализирует знак - !!!!!
    Чтобы отменить команду, нажмите на этот знак или измените Исходник


  10. Прога воспринимает как виндовскую, так и досовскую кодировки. Так что смело копируйте досовскую абракадабру в Исходник (а лучше, смените 'Блокнот' на какой-нибудь более продвинутый текстовый редактор:)

  11. \n" wah+="
    табулатуры
  12. Если в окне Результат кликнуть на аккорде, то появится табулатура этого аккорда. Табулатуры даны как зеркальное отражение гитары. Например, у аккорда Dm7 табулатура будет:

    - x----------      х - струна не играется
    d |--3---(5)-      | - струна играется
    f |--3-------      цифры указывают на номер лада, где зажимается струна
    c |--3----5--      здесь на 3 ладу играется барре
    d |--3-------      в скобках даны необязательные элементы
    a |--3----5--      <--- это нижняя струна (самая тонкая)


  13. Буквами обозначена нота, которой звучит та или иная струна (необязательные элементы учитываются)

  14. \n" wah+="Если аккорд есть в базе, то при наведении курсора на него в окне Результат табулатура аккорда появится во всплывающей подсказке.

    \n" if (!opera) { wah+="
    горячие клавиши
  15. Alt+1 - транспонировать в до    |    Alt+Shift+1 - в до диез (ре бемоль)
    Alt+2 - транспонировать в ре    |    Alt+Shift+2 - в ре диез (ми бемоль)
    Alt+3 - транспонировать в ми
    Alt+4 - транспонировать в фа   |   Alt+Shift+4 - в фа диез (соль бемоль)
    Alt+5 - транспонировать в соль |   Alt+Shift+5 - в соль диез (ля бемоль)
    Alt+6 - транспонировать в ля    |    Alt+Shift+6 - в ля диез (си бемоль)
    Alt+7 - транспонировать в си


  16. \n" wah+="
  17. Alt+O - открыть файл с аккордами (текстовый файл *.txt или веб-страница)
    Alt+V - вставить текст в Исходник из буфера обмена
    Alt+L - очистить Исходник

    \n" wah+="
  18. Alt+= - добавить пол тона
    Alt+- - отнять пол тона
    Alt+C - копировать результат в буфер обмена
    Alt+P - распечатать результат
    Alt+H - открыть результат как веб-страницу
  19. \n" } wah+="
    настройки
  20. Первый пункт настроек касается пресловутой ноты си. Дело в том, что в мире нет единого стандарта обозначения этой ноты. Немцы обозначают си как H (под B при этом понимается си бемоль), а англичане с американцами - си как B. У нас си чаще обозначается как H (настройки по умолчанию). Но если Вы используете англоязычный источник, выберите опцию 'B = си'


  21. Программа посоветует Вам изменить настройки в отношении ноты си в следующих случаях: 1) наличие аккорда с основанием H ставит под сомнение опцию B = си; 2) преобладание английского текста в исходнике, если нет аккорда с основанием H, но есть аккорд с основанием B, ставит под сомнение опцию H = си; 3) Наличие аккорда с основанием Bb ставит под сомнение опцию H = си


  22. Кроме того, при транспонировании проблемного аккорда B (не ясно, си это или си бемоль), во всплывающей подсказке после знака \"лажа?\" будет показан альтернативный аккорд. И если при проигрывании аккордов Вы услышите лажу, то попробуйте использовать альтернативный аккорд


  23. Согласно музыкальным правилам нельзя одновременно в одной тональности использовать и диез, и бемоль. Во втором пункте настроек можно выбрать один из этих знаков


  24. По умолчанию, аккорды, чья табулатура известна, подчеркиваются. В третьем пункте настроек можно запретить подчеркивание аккордов


  25. В четвертом пункте настроек можно установить опцию, при которой в результат будут добавлены табулатуры всех используемых аккордов. Это удобно, если Вы собираетесь распечатать результат.
  26. \n" wah+="

    технические требования
  27. Необходим любой браузер с включенной поддержкой JavaScript (таких большинство). К сожалению, данная версия программы некорректно работает в Opera 7.1 и ниже, ранних версиях Netscape и Mozilla. Недавно с удивлением обнаружил, что эта версия перестала работать в Windows 98. В этих случаях можно использовать упрощенную версию программы
  28. \n" if (msie) wah+="

  29. Для работы кнопки \"print\" используется безопасный (проверенный в Microsoft) элемент технологии ActiveX, однако, эта технология может быть запрещена персональными настройками Internet Explorer
  30. \n" if (!msie) wah+="

  31. Если смотреть эту прогу не под вашим браузером, а под Internet Explorer, то будут доступны некоторые дополнительные возможности:
    - кнопка \"move\" - вставить в Исходник текст из буфера обмена
    - кнопка \"copy\" - скопировать результат в буфер обмена
    - кнопка \"обзор\" - открыть файл с аккордами"+((opera) ? "
    - кнопка \"print\" - распечатать результат
    - горячие клавиши" : "") + "
    Эх, сам недолюбливаю IE, но почему-то для этой проги это самый оптимальный браузер
  32. \n" wah+="


© Альберт Берхеев, 2004-"+yearnow+". Все права защищены. Распространяется \"как есть\".
При публичном использовании ссылка на автора и на ресурс обязательны:
http://faustkamorka.narod.ru
Замечания и предложения пишите на aberkheev(a)yandex.ru
версия от " + version + " года
" + '
Hosted by uCoz
' // if (!netscape) { wAhtung.document.write(wah);wAhtung.document.close(); // } // else { // var xxx = document.createElement('window') // var xxx = document.getElementById('bb'); // xxx = document.body.appendChild(xxx); // setTimeout(function(){ xxx.contentWindow.document.body.innerHTML = wah; }, 10); // } return false; } //-->
  Настройки:   H = си #     Am   - табы
B = си   b     Am   + табы
 
        Руководство
http://faustkamorka.narod.ru
© Альберт Берхеев, 2004-
Hosted by uCoz