{"id":981,"date":"2026-11-13T14:03:29","date_gmt":"2026-11-13T05:03:29","guid":{"rendered":"https:\/\/guitarschool.in\/?page_id=981"},"modified":"2026-11-13T14:16:44","modified_gmt":"2026-11-13T05:16:44","slug":"circle-of-fifths","status":"publish","type":"page","link":"https:\/\/guitarschool.in\/?page_id=981","title":{"rendered":"\u4e94\u5ea6\u570f"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"981\" class=\"elementor elementor-981\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b8f3b77 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b8f3b77\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-18e4a6e\" data-id=\"18e4a6e\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-11adaba elementor-widget elementor-widget-html\" data-id=\"11adaba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>.lt-nav{max-width:760px;margin:0 auto;padding:4px 16px;font-family:\"Hiragino Sans\",\"Noto Sans JP\",\"Yu Gothic\",sans-serif;font-size:14px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.lt-nav a{color:#b5532a;font-weight:700;text-decoration:none}.lt-nav a:hover{text-decoration:underline}.lt-nav .lt-sub{color:#7a6e64}.lt-nav .lt-back{display:inline-block;padding:6px 14px;border:1px solid #e3d9cc;border-radius:999px;background:#fff}<\/style><nav class=\"lt-nav\" aria-label=\"\u5b66\u7fd2\u30fb\u8cc7\u6599\u5ba4\"><a class=\"lt-back\" href=\"\/?page_id=907\">\u2190 \u5b66\u7fd2\u30fb\u8cc7\u6599\u5ba4\u306b\u623b\u308b<\/a><\/nav>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-99cbf60 elementor-widget elementor-widget-html\" data-id=\"99cbf60\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- \u4e94\u5ea6\u570f(Elementor \u306e HTML \u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u306b\u3053\u306e\u307e\u307e\u8cbc\u308a\u4ed8\u3051\u3066\u304f\u3060\u3055\u3044) -->\n<div id=\"cof-app\">\n<style>\n#cof-app{--cof-bg:#fbf8f3;--cof-ink:#2b2420;--cof-sub:#7a6e64;--cof-accent:#b5532a;--cof-line:#e3d9cc;\n  max-width:760px;margin:0 auto;padding:16px;background:var(--cof-bg);color:var(--cof-ink);border-radius:14px;\n  font-family:\"Hiragino Sans\",\"Noto Sans JP\",\"Yu Gothic\",sans-serif;line-height:1.55;box-sizing:border-box}\n#cof-app *{box-sizing:border-box}\n#cof-app .cof-title{font-size:20px;font-weight:700;margin:0;color:var(--cof-ink)}\n#cof-app .cof-lead{font-size:13px;color:var(--cof-sub);margin:2px 0 0}\n#cof-app button{all:unset;box-sizing:border-box;cursor:pointer;font-family:inherit;text-align:center;-webkit-tap-highlight-color:transparent}\n#cof-app button:focus-visible{outline:2px solid var(--cof-accent);outline-offset:2px}\n#cof-app .cof-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start;margin-top:12px}\n@media (max-width:640px){#cof-app .cof-wrap{grid-template-columns:1fr}}\n#cof-app .cof-circle svg{display:block;width:100%;max-width:400px;height:auto;margin:0 auto}\n#cof-app .cof-seg{cursor:pointer}\n#cof-app .cof-seg path{transition:fill .15s}\n#cof-app .cof-seg text{pointer-events:none}\n#cof-app .cof-panel{background:#fff;border:1px solid var(--cof-line);border-radius:12px;padding:14px 16px}\n#cof-app .cof-key{font-size:24px;font-weight:700;line-height:1.3}\n#cof-app .cof-key small{font-size:14px;font-weight:600;color:var(--cof-sub);margin-left:6px}\n#cof-app .cof-enh{font-size:12px;color:var(--cof-accent);margin-top:2px}\n#cof-app .cof-row{margin-top:12px}\n#cof-app .cof-k{font-size:12px;font-weight:700;color:var(--cof-sub);margin-bottom:4px}\n#cof-app .cof-notes{display:flex;gap:5px;flex-wrap:wrap}\n#cof-app .cof-n{min-width:34px;padding:4px 6px;border-radius:8px;background:var(--cof-bg);border:1px solid var(--cof-line);font-size:14px;font-weight:600;text-align:center}\n#cof-app .cof-n.is-acc{border-color:var(--cof-accent);color:var(--cof-accent)}\n#cof-app .cof-chords{display:grid;grid-template-columns:auto auto 1fr;gap:4px 10px;font-size:14px;align-items:baseline}\n#cof-app .cof-deg{font-family:Georgia,\"Times New Roman\",serif;font-weight:700;color:var(--cof-accent)}\n#cof-app .cof-sym{font-weight:700}\n#cof-app .cof-cn{color:var(--cof-sub)}\n#cof-app .cof-rel{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:14px}\n#cof-app .cof-rel button{color:var(--cof-accent);font-weight:700;text-align:left}\n#cof-app .cof-rel button:hover{text-decoration:underline}\n#cof-app .cof-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}\n#cof-app .cof-tool{padding:6px 14px;border:1px solid var(--cof-line);border-radius:999px;font-size:14px;background:#fff;color:var(--cof-ink)}\n#cof-app .cof-tool:hover{border-color:var(--cof-accent)}\n#cof-app .cof-note{font-size:12px;color:var(--cof-sub);margin-top:8px}\n#cof-app .cof-settings{margin-top:14px;border-top:1px solid var(--cof-line);padding-top:10px;font-size:14px}\n#cof-app .cof-settings summary{cursor:pointer;font-weight:600;color:var(--cof-sub)}\n#cof-app .cof-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 12px;align-items:center;margin-top:10px}\n#cof-app select{font:inherit;padding:4px 8px;border:1px solid var(--cof-line);border-radius:6px;background:#fff;color:var(--cof-ink);max-width:100%}\n<\/style>\n\n<h3 class=\"cof-title\">\u4e94\u5ea6\u570f<\/h3>\n<p class=\"cof-lead\">\u5916\u5074\u304c\u9577\u8abf\u3001\u5185\u5074\u304c\u5e73\u884c\u8abf(\u77ed\u8abf)\u3067\u3059\u3002\u5186\u3092\u62bc\u3059\u3068\u3001\u305d\u306e\u8abf\u306e\u8abf\u53f7\u30fb\u97f3\u968e\u30fb\u4e3b\u8981\u4e09\u548c\u97f3\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002\u6642\u8a08\u56de\u308a\u306b\u9032\u3080\u3068\u266f\u304c1\u3064\u305a\u3064\u5897\u3048\u3001\u53cd\u6642\u8a08\u56de\u308a\u306b\u9032\u3080\u3068\u266d\u304c1\u3064\u305a\u3064\u5897\u3048\u307e\u3059\u3002<\/p>\n\n<div class=\"cof-wrap\">\n  <div class=\"cof-circle\"><svg id=\"cof-svg\" viewBox=\"0 0 400 400\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"\u4e94\u5ea6\u570f\"><\/svg><\/div>\n  <div class=\"cof-panel\" id=\"cof-panel\"><\/div>\n<\/div>\n\n<details class=\"cof-settings\">\n  <summary>\u8a2d\u5b9a<\/summary>\n  <div class=\"cof-grid\">\n    <span style=\"color:var(--cof-sub)\">\u97f3\u540d\u8868\u8a18<\/span>\n    <select id=\"cof-names\">\n      <option value=\"it\">\u30c9\u30ec\u30df(\u30a4\u30bf\u30ea\u30a2\u5f0f)<\/option>\n      <option value=\"en\">C D E(\u82f1\u7c73\u5f0f)<\/option>\n      <option value=\"ja\">\u30cf \u30cb \u30db(\u65e5\u672c\u5f0f)<\/option>\n    <\/select>\n  <\/div>\n<\/details>\n\n<script>\n(function(){\n  var root=document.getElementById('cof-app'); if(!root) return;\n  var $=function(s){return root.querySelector(s);};\n  var LPC=[0,2,4,5,7,9,11];\n  var LET={en:['C','D','E','F','G','A','B'],it:['\u30c9','\u30ec','\u30df','\u30d5\u30a1','\u30bd','\u30e9','\u30b7'],ja:['\u30cf','\u30cb','\u30db','\u30d8','\u30c8','\u30a4','\u30ed']};\n  \/\/ \u4e94\u5ea6\u570f\u306e\u9806(12\u6642\u304b\u3089\u6642\u8a08\u56de\u308a):[\u9577\u8abf\u306e\u4e3b\u97f3\u306e\u6587\u5b57, \u5909\u5316, \u8abf\u53f7\u306e\u6570(+\u266f\/-\u266d)]\n  var KEYS=[[0,0,0],[4,0,1],[1,0,2],[5,0,3],[2,0,4],[6,0,5],[3,1,6],[1,-1,-5],[5,-1,-4],[2,-1,-3],[6,-1,-2],[3,0,-1]];\n  var ENH={6:[4,-1,-6]}; \/\/ \u5b30\u30d8\u9577\u8abf = \u5909\u30c8\u9577\u8abf\n  var SH=[3,0,4,1,5,2,6], FL=[6,2,5,1,4,0,3];\n  var MAJ=[0,2,4,5,7,9,11], MIN=[0,2,3,5,7,8,10];\n  var st={i:0,minor:false};\n  try{ var s=JSON.parse(localStorage.getItem('cof-state')||'null'); if(s){ st.i=s.i||0; st.minor=!!s.minor; } var n=localStorage.getItem('cof-names'); if(n) $('#cof-names').value=n; }catch(e){}\n  function save(){ try{ localStorage.setItem('cof-state',JSON.stringify(st)); }catch(e){} }\n  function sys(){ return $('#cof-names').value; }\n\n  function nn(l,a,s){\n    if(s==='ja') return (a>1?'\u91cd\u5b30':a>0?'\u5b30':a<-1?'\u91cd\u5909':a<0?'\u5909':'')+LET.ja[l];\n    return LET[s][l]+(a>0?Array(a+1).join('\u266f'):a<0?Array(-a+1).join('\u266d'):'');\n  }\n  function en(l,a){ return nn(l,a,'en'); }\n  function spell(l,a,steps,semi){\n    var ul=(l+steps)%7, pc=(LPC[l]+a+semi+120)%12, x=((pc-LPC[ul])%12+12)%12; if(x>6) x-=12;\n    return [ul,x];\n  }\n  function tonic(i,minor){ var k=KEYS[i]; return minor ? spell(k[0],k[1],5,9) : [k[0],k[1]]; }\n  function scale(t,minor){ var iv=minor?MIN:MAJ; return iv.map(function(s,d){ return spell(t[0],t[1],d,s); }); }\n  function keyNameJa(t,minor){ return nn(t[0],t[1],'ja')+(minor?'\u77ed\u8abf':'\u9577\u8abf'); }\n  function keyNameEn(t,minor){ return en(t[0],t[1])+(minor?' minor':' major'); }\n  function sigText(c){\n    if(!c) return '\u8abf\u53f7\u306a\u3057';\n    var lst=(c>0?SH:FL).slice(0,Math.abs(c)).map(function(l){ return nn(l,c>0?1:-1,sys()); });\n    return (c>0?'\u266f':'\u266d')+Math.abs(c)+'\u3064('+lst.join('\u30fb')+')';\n  }\n\n  \/* ---------- \u5186 ---------- *\/\n  function arc(cx,cy,r1,r2,a1,a2){\n    var p=function(r,a){ return [cx+r*Math.sin(a), cy-r*Math.cos(a)]; };\n    var A=p(r2,a1),B=p(r2,a2),C=p(r1,a2),D=p(r1,a1);\n    return 'M'+A[0]+' '+A[1]+' A'+r2+' '+r2+' 0 0 1 '+B[0]+' '+B[1]+' L'+C[0]+' '+C[1]+' A'+r1+' '+r1+' 0 0 0 '+D[0]+' '+D[1]+' Z';\n  }\n  function draw(){\n    var cx=200, cy=200, h='', step=Math.PI\/6;\n    var near=[(st.i+11)%12,(st.i+1)%12];\n    for(var i=0;i<12;i++){\n      var a1=(i-0.5)*step, a2=(i+0.5)*step, mid=i*step;\n      var selMaj=(i===st.i && !st.minor), selMin=(i===st.i && st.minor), isNear=near.indexOf(i)>=0;\n      var fMaj=selMaj?'#b5532a':(i===st.i?'#ead2c4':isNear?'#f3e7dc':'#fff');\n      var fMin=selMin?'#b5532a':(i===st.i?'#ead2c4':isNear?'#f3e7dc':'#fbf8f3');\n      var k=KEYS[i], mt=tonic(i,true);\n      \/\/ \u9577\u8abf\n      h+='<g class=\"cof-seg\" data-i=\"'+i+'\" data-m=\"0\"><path d=\"'+arc(cx,cy,118,178,a1,a2)+'\" fill=\"'+fMaj+'\" stroke=\"#e3d9cc\" stroke-width=\"1.5\"\/>';\n      var tx=cx+148*Math.sin(mid), ty=cy-148*Math.cos(mid);\n      var lab=en(k[0],k[1]); if(ENH[i]) lab+='\/'+en(ENH[i][0],ENH[i][1]);\n      h+='<text x=\"'+tx+'\" y=\"'+(ty+6)+'\" text-anchor=\"middle\" font-size=\"'+(ENH[i]?14:19)+'\" font-weight=\"700\" fill=\"'+(selMaj?'#fff':'#2b2420')+'\">'+lab+'<\/text><\/g>';\n      \/\/ \u77ed\u8abf\n      h+='<g class=\"cof-seg\" data-i=\"'+i+'\" data-m=\"1\"><path d=\"'+arc(cx,cy,70,118,a1,a2)+'\" fill=\"'+fMin+'\" stroke=\"#e3d9cc\" stroke-width=\"1.5\"\/>';\n      var mx=cx+94*Math.sin(mid), my=cy-94*Math.cos(mid);\n      var ml=en(mt[0],mt[1])+'m'; if(ENH[i]){ var e2=spell(ENH[i][0],ENH[i][1],5,9); ml+='\/'+en(e2[0],e2[1])+'m'; }\n      h+='<text x=\"'+mx+'\" y=\"'+(my+5)+'\" text-anchor=\"middle\" font-size=\"'+(ENH[i]?10:13.5)+'\" font-weight=\"600\" fill=\"'+(selMin?'#fff':'#5a4e44')+'\">'+ml+'<\/text><\/g>';\n      \/\/ \u8abf\u53f7\u306e\u6570\n      var sx=cx+192*Math.sin(mid), sy=cy-192*Math.cos(mid), c=k[2];\n      var sl=c===0?'':(c>0?'\u266f'+c:'\u266d'+(-c))+(ENH[i]?'\/\u266d6':'');\n      h+='<text x=\"'+sx+'\" y=\"'+(sy+4)+'\" text-anchor=\"middle\" font-size=\"10\" fill=\"#7a6e64\">'+sl+'<\/text>';\n    }\n    h+='<circle cx=\"'+cx+'\" cy=\"'+cy+'\" r=\"70\" fill=\"#fff\" stroke=\"#e3d9cc\" stroke-width=\"1.5\"\/>';\n    var t=tonic(st.i,st.minor);\n    h+='<text x=\"'+cx+'\" y=\"'+(cy-4)+'\" text-anchor=\"middle\" font-size=\"16\" font-weight=\"700\" fill=\"#2b2420\">'+keyNameJa(t,st.minor)+'<\/text>';\n    h+='<text x=\"'+cx+'\" y=\"'+(cy+16)+'\" text-anchor=\"middle\" font-size=\"11\" fill=\"#7a6e64\">'+keyNameEn(t,st.minor)+'<\/text>';\n    $('#cof-svg').innerHTML=h;\n    $('#cof-svg').querySelectorAll('.cof-seg').forEach(function(g){\n      g.addEventListener('click',function(){ st.i=+g.getAttribute('data-i'); st.minor=g.getAttribute('data-m')==='1'; save(); render(); });\n    });\n  }\n\n  \/* ---------- \u8aac\u660e\u30d1\u30cd\u30eb ---------- *\/\n  function el(tag,cls,text){ var e=document.createElement(tag); if(cls) e.className=cls; if(text!=null) e.textContent=text; return e; }\n  function chordOf(sc,deg,raise7){ \/\/ deg: 0\u59cb\u307e\u308a\u306e\u97f3\u968e\u5ea6\u6570\u3002\u548c\u97f3(\u6839\u97f3\u30fb\u7b2c3\u97f3\u30fb\u7b2c5\u97f3\u30fb\u7b2c7\u97f3)\n    var notes=[0,2,4,6].map(function(x){ return sc[(deg+x)%7].slice(); });\n    if(raise7){ notes.forEach(function(n){ if(n[0]===sc[6][0]) n[1]+=1; }); }\n    return notes;\n  }\n  function quality(ns){\n    var p=ns.map(function(n){ return (LPC[n[0]]+n[1]+12)%12; });\n    var t3=(p[1]-p[0]+12)%12, t5=(p[2]-p[0]+12)%12;\n    return t3===4&&t5===7?'':t3===3&&t5===7?'m':t3===3&&t5===6?'dim':'aug';\n  }\n  function render(){\n    draw();\n    var s=sys(), k=KEYS[st.i], t=tonic(st.i,st.minor), sc=scale(t,st.minor), P=$('#cof-panel'); P.innerHTML='';\n    var title=el('div','cof-key',keyNameJa(t,st.minor)); title.appendChild(el('small','',keyNameEn(t,st.minor))); P.appendChild(title);\n    if(ENH[st.i]){ var e=ENH[st.i], et=st.minor?spell(e[0],e[1],5,9):e; P.appendChild(el('div','cof-enh','\u7570\u540d\u540c\u97f3\u8abf:'+keyNameJa(et,st.minor)+'('+keyNameEn(et,st.minor)+'\u30fb\u266d6\u3064)')); }\n\n    var r1=el('div','cof-row'); r1.appendChild(el('div','cof-k','\u8abf\u53f7')); r1.appendChild(el('div','',sigText(k[2]))); P.appendChild(r1);\n\n    var r2=el('div','cof-row'); r2.appendChild(el('div','cof-k',st.minor?'\u97f3\u968e(\u81ea\u7136\u77ed\u97f3\u968e)':'\u97f3\u968e'));\n    var nb=el('div','cof-notes'); sc.forEach(function(n){ nb.appendChild(el('span','cof-n'+(n[1]?' is-acc':''),nn(n[0],n[1],s))); }); r2.appendChild(nb);\n    if(st.minor){\n      var lt=sc[6].slice(); lt[1]+=1;\n      r2.appendChild(el('div','cof-note','\u548c\u58f0\u77ed\u97f3\u968e\u3067\u306f\u7b2c7\u97f3\u3092\u534a\u97f3\u4e0a\u3052\u3066 '+nn(lt[0],lt[1],s)+' \u306b\u3057\u307e\u3059(\u5c0e\u97f3)\u3002'));\n    }\n    P.appendChild(r2);\n\n    var r3=el('div','cof-row'); r3.appendChild(el('div','cof-k','\u4e3b\u8981\u4e09\u548c\u97f3'));\n    var cg=el('div','cof-chords');\n    var rows=st.minor ? [['i',0,false],['iv',3,false],['V',4,true],['V7',4,true]] : [['I',0,false],['IV',3,false],['V',4,false],['V7',4,false]];\n    rows.forEach(function(r){\n      var ns=chordOf(sc,r[1],r[2]), tri=ns.slice(0,3), sym=en(ns[0][0],ns[0][1])+(r[0]==='V7'?'7':quality(tri));\n      var use=r[0]==='V7'?ns:tri;\n      cg.appendChild(el('span','cof-deg',r[0])); cg.appendChild(el('span','cof-sym',sym));\n      cg.appendChild(el('span','cof-cn',use.map(function(n){ return nn(n[0],n[1],s); }).join('\u30fb')));\n    });\n    r3.appendChild(cg); P.appendChild(r3);\n\n    var r4=el('div','cof-row'); r4.appendChild(el('div','cof-k','\u95a2\u4fc2\u3059\u308b\u8abf'));\n    var rg=el('div','cof-rel');\n    var rel=[\n      ['\u5e73\u884c\u8abf',st.i,!st.minor],\n      ['\u5c5e\u8abf(5\u5ea6\u4e0a)',(st.i+1)%12,st.minor],\n      ['\u4e0b\u5c5e\u8abf(5\u5ea6\u4e0b)',(st.i+11)%12,st.minor]\n    ];\n    rel.forEach(function(r){\n      rg.appendChild(el('span','',r[0]));\n      var b=el('button','',keyNameJa(tonic(r[1],r[2]),r[2])); b.type='button';\n      b.addEventListener('click',function(){ st.i=r[1]; st.minor=r[2]; save(); render(); });\n      rg.appendChild(b);\n    });\n    \/\/ \u540c\u4e3b\u8abf(\u4e3b\u97f3\u304c\u540c\u3058\u3067\u9577\u77ed\u304c\u9006)\n    var pc=(LPC[t[0]]+t[1]+12)%12, par=null;\n    for(var i=0;i<12;i++){ var tt=tonic(i,!st.minor); if((LPC[tt[0]]+tt[1]+12)%12===pc){ par=i; if(tt[0]===t[0]) break; } }\n    if(par!==null){\n      rg.appendChild(el('span','','\u540c\u4e3b\u8abf'));\n      var pb=el('button','',keyNameJa(tonic(par,!st.minor),!st.minor)); pb.type='button';\n      pb.addEventListener('click',function(){ st.i=par; st.minor=!st.minor; save(); render(); });\n      rg.appendChild(pb);\n    }\n    r4.appendChild(rg); P.appendChild(r4);\n\n    var tools=el('div','cof-tools');\n    var b1=el('button','cof-tool','\u266a \u97f3\u968e\u3092\u9cf4\u3089\u3059'); b1.type='button'; b1.addEventListener('click',playScale); tools.appendChild(b1);\n    var b2=el('button','cof-tool',st.minor?'\u266a \u30ab\u30c7\u30f3\u30c4(i\u2013iv\u2013V7\u2013i)':'\u266a \u30ab\u30c7\u30f3\u30c4(I\u2013IV\u2013V7\u2013I)'); b2.type='button'; b2.addEventListener('click',playCadence); tools.appendChild(b2);\n    P.appendChild(tools);\n  }\n\n  \/* ---------- \u97f3 ---------- *\/\n  var ac=null;\n  function tone(m,when,dur,vol){\n    ac=ac||new (window.AudioContext||window.webkitAudioContext)();\n    if(ac.state==='suspended') ac.resume();\n    var t=ac.currentTime+when, f=440*Math.pow(2,(m-69)\/12);\n    var o=ac.createOscillator(), o2=ac.createOscillator(), g2=ac.createGain(), lp=ac.createBiquadFilter(), g=ac.createGain();\n    o.type='triangle'; o.frequency.value=f; o2.type='sine'; o2.frequency.value=f*2; g2.gain.value=0.2;\n    lp.type='lowpass'; lp.frequency.setValueAtTime(f*6,t); lp.frequency.exponentialRampToValueAtTime(f*1.5,t+dur);\n    g.gain.setValueAtTime(0.0001,t); g.gain.exponentialRampToValueAtTime(vol,t+0.01); g.gain.exponentialRampToValueAtTime(0.0001,t+dur);\n    o.connect(lp); o2.connect(g2); g2.connect(lp); lp.connect(g); g.connect(ac.destination);\n    o.start(t); o2.start(t); o.stop(t+dur+0.05); o2.stop(t+dur+0.05);\n  }\n  function pcOf(n){ return ((LPC[n[0]]+n[1])%12+12)%12; }\n  \/\/ base \u4ee5\u4e0a\u3067\u3001\u305d\u306e\u97f3\u540d\u306b\u3042\u305f\u308b\u4e00\u756a\u4f4e\u3044MIDI\u756a\u53f7\n  function atOrAbove(pc,base){ return base+((pc-base%12)%12+12)%12; }\n  function midiSeq(notes,base){ \/\/ \u97f3\u540d\u306e\u4e26\u3073\u3092\u3001\u4e0a\u884c\u3059\u308bMIDI\u756a\u53f7\u306b\n    var out=[], prev=base-1;\n    notes.forEach(function(n){ var m=atOrAbove(pcOf(n),prev+1); out.push(m); prev=m; });\n    return out;\n  }\n  function playScale(){\n    var t=tonic(st.i,st.minor), sc=scale(t,st.minor);\n    var start=atOrAbove(pcOf(t),55); \/\/ \u30bd3\u301c\u30d5\u30a1\u266f4 \u306e\u9593\u304b\u3089\u59cb\u3081\u308b\n    var ms=midiSeq(sc.concat([sc[0]]), start);\n    ms.forEach(function(m,i){ tone(m,i*0.3,0.9,0.3); });\n  }\n  function playCadence(){\n    var t=tonic(st.i,st.minor), sc=scale(t,st.minor), raise=st.minor;\n    var seq=[chordOf(sc,0,false).slice(0,3),chordOf(sc,3,false).slice(0,3),chordOf(sc,4,raise),chordOf(sc,0,false).slice(0,3)];\n    seq.forEach(function(ch,i){\n      var bass=atOrAbove(pcOf(ch[0]),40); \/\/ \u4f4e\u97f3\u306f\u30df2\u301c\u30ec\u266f3(\u30ae\u30bf\u30fc\u306e\u4f4e\u97f3\u57df)\n      tone(bass,i*0.9,1.2,0.22);\n      \/\/ \u4e0a\u306e\u58f0\u90e8\u306f \u30bd3\u301c\u30d5\u30a1\u266f4 \u306e\u7bc4\u56f2\u306b\u5bc6\u96c6\u3057\u3066\u7f6e\u304f(\u548c\u97f3\u306e\u3064\u306a\u304c\u308a\u304c\u306a\u3081\u3089\u304b\u306b\u306a\u308b)\n      ch.forEach(function(n){ tone(atOrAbove(pcOf(n),55),i*0.9,1.1,0.14); });\n    });\n  }\n\n  $('#cof-names').addEventListener('change',function(){ try{ localStorage.setItem('cof-names',this.value); }catch(e){} render(); });\n  render();\n})();\n<\/script>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6465a50 elementor-widget elementor-widget-html\" data-id=\"6465a50\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>.lt-nav{max-width:760px;margin:0 auto;padding:4px 16px;font-family:\"Hiragino Sans\",\"Noto Sans JP\",\"Yu Gothic\",sans-serif;font-size:14px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.lt-nav a{color:#b5532a;font-weight:700;text-decoration:none}.lt-nav a:hover{text-decoration:underline}.lt-nav .lt-sub{color:#7a6e64}.lt-nav .lt-back{display:inline-block;padding:6px 14px;border:1px solid #e3d9cc;border-radius:999px;background:#fff}<\/style><nav class=\"lt-nav\" aria-label=\"\u5b66\u7fd2\u30fb\u8cc7\u6599\u5ba4\"><a class=\"lt-back\" href=\"\/?page_id=907\">\u2190 \u5b66\u7fd2\u30fb\u8cc7\u6599\u5ba4\u306b\u623b\u308b<\/a><span class=\"lt-sub\">\u3042\u308f\u305b\u3066\u4f7f\u3046:<a href=\"\/?page_id=939\">\u6307\u677f\u30b3\u30fc\u30c9\u30fb\u30b9\u30b1\u30fc\u30eb\u56f3<\/a> \u30fb <a href=\"\/?page_id=910\">\u697d\u5178\u30af\u30a4\u30ba<\/a><\/span><\/nav>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u2190 \u5b66\u7fd2\u30fb\u8cc7\u6599\u5ba4\u306b\u623b\u308b \u4e94\u5ea6\u570f \u5916\u5074\u304c\u9577\u8abf\u3001\u5185\u5074\u304c\u5e73\u884c\u8abf(\u77ed\u8abf)\u3067\u3059\u3002\u5186\u3092\u62bc\u3059\u3068\u3001\u305d\u306e\u8abf\u306e\u8abf\u53f7\u30fb\u97f3\u968e\u30fb\u4e3b\u8981\u4e09\u548c\u97f3\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002\u6642\u8a08\u56de\u308a\u306b\u9032\u3080\u3068\u266f\u304c1\u3064\u305a\u3064\u5897\u3048\u3001\u53cd\u6642\u8a08\u56de\u308a\u306b\u9032\u3080\u3068\u266d\u304c1\u3064\u305a\u3064\u5897\u3048\u307e\u3059\u3002 \u8a2d\u5b9a \u97f3\u540d\u8868\u8a18  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":907,"menu_order":9,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-981","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/guitarschool.in\/index.php?rest_route=\/wp\/v2\/pages\/981","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/guitarschool.in\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/guitarschool.in\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/guitarschool.in\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/guitarschool.in\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=981"}],"version-history":[{"count":6,"href":"https:\/\/guitarschool.in\/index.php?rest_route=\/wp\/v2\/pages\/981\/revisions"}],"predecessor-version":[{"id":1009,"href":"https:\/\/guitarschool.in\/index.php?rest_route=\/wp\/v2\/pages\/981\/revisions\/1009"}],"up":[{"embeddable":true,"href":"https:\/\/guitarschool.in\/index.php?rest_route=\/wp\/v2\/pages\/907"}],"wp:attachment":[{"href":"https:\/\/guitarschool.in\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=981"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}