tonal 5.2.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/tonal.min.js +1 -1
- package/browser/tonal.min.js.map +4 -4
- package/package.json +23 -23
package/browser/tonal.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var Tonal=(()=>{var At=Object.defineProperty;var le=Object.getOwnPropertyDescriptor;var de=Object.getOwnPropertyNames;var fe=Object.prototype.hasOwnProperty;var gt=(t,n)=>{for(var e in n)At(t,e,{get:n[e],enumerable:!0})},pe=(t,n,e,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of de(n))!fe.call(t,o)&&o!==e&&At(t,o,{get:()=>n[o],enumerable:!(r=le(n,o))||r.enumerable});return t};var Me=t=>pe(At({},"__esModule",{value:!0}),t);var Va={};gt(Va,{AbcNotation:()=>Pn,Array:()=>xt,Chord:()=>X,ChordDictionary:()=>_a,ChordType:()=>_t,Collection:()=>bn,Core:()=>at,DurationValue:()=>Tn,Interval:()=>pt,Key:()=>Bn,Midi:()=>_n,Mode:()=>Qn,Note:()=>v,PcSet:()=>Da,Pcset:()=>Dt,Progression:()=>Jn,Range:()=>yt,RomanNumeral:()=>Gn,Scale:()=>ne,ScaleDictionary:()=>wa,ScaleType:()=>Ft,TimeSignature:()=>re,Tonal:()=>Ea,VoiceLeading:()=>bt,Voicing:()=>ue,VoicingDictionary:()=>Q,accToAlt:()=>R,altToAcc:()=>w,chroma:()=>tn,coordToInterval:()=>F,coordToNote:()=>rt,coordinates:()=>L,deprecate:()=>f,distance:()=>I,fillStr:()=>dn,height:()=>Nt,interval:()=>l,isNamed:()=>ot,isNamedPitch:()=>D,isPitch:()=>_,midi:()=>nn,note:()=>s,pitch:()=>z,stepToLetter:()=>jt,tokenizeInterval:()=>St,tokenizeNote:()=>J,tonicIntervalsTransposer:()=>V,transpose:()=>u});var at={};gt(at,{accToAlt:()=>R,altToAcc:()=>w,chroma:()=>tn,coordToInterval:()=>F,coordToNote:()=>rt,coordinates:()=>L,deprecate:()=>f,distance:()=>I,fillStr:()=>dn,height:()=>Nt,interval:()=>l,isNamed:()=>ot,isNamedPitch:()=>D,isPitch:()=>_,midi:()=>nn,note:()=>s,pitch:()=>z,stepToLetter:()=>jt,tokenizeInterval:()=>St,tokenizeNote:()=>J,tonicIntervalsTransposer:()=>V,transpose:()=>u});function D(t){return t!==null&&typeof t=="object"&&"name"in t&&typeof t.name=="string"}var Yt=[0,2,4,5,7,9,11],tn=({step:t,alt:n})=>(Yt[t]+n+120)%12,Nt=({step:t,alt:n,oct:e,dir:r=1})=>r*(Yt[t]+n+12*(e===void 0?-100:e)),nn=t=>{let n=Nt(t);return t.oct!==void 0&&n>=-12&&n<=115?n+12:null};function _(t){return t!==null&&typeof t=="object"&&"step"in t&&typeof t.step=="number"&&"alt"in t&&typeof t.alt=="number"}var en=[0,2,4,-1,1,3,5],rn=en.map(t=>Math.floor(t*7/12));function L(t){let{step:n,alt:e,oct:r,dir:o=1}=t,a=en[n]+7*e;if(r===void 0)return[o*a];let m=r-rn[n]-4*e;return[o*a,o*m]}var Pe=[3,0,4,1,5,2,6];function z(t){let[n,e,r]=t,o=Pe[he(n)],a=Math.floor((n+1)/7);if(e===void 0)return{step:o,alt:a,dir:r};let m=e+4*a+rn[o];return{step:o,alt:a,oct:m,dir:r}}function he(t){let n=(t+1)%7;return n<0?7+n:n}var on=(t,n)=>Array(Math.abs(n)+1).join(t),It={empty:!0,name:"",acc:""},ve="([-+]?\\d+)(d{1,4}|m|M|P|A{1,4})",ye="(AA|A|P|M|m|d|dd)([-+]?\\d+)",be=new RegExp("^"+ve+"|"+ye+"$");function St(t){let n=be.exec(`${t}`);return n===null?["",""]:n[1]?[n[1],n[2]]:[n[4],n[3]]}var an={};function l(t){return typeof t=="string"?an[t]||(an[t]=Ae(t)):_(t)?l(Ne(t)):D(t)?l(t.name):It}var mn=[0,2,4,5,7,9,11],sn="PMMPPMM";function Ae(t){let n=St(t);if(n[0]==="")return It;let e=+n[0],r=n[1],o=(Math.abs(e)-1)%7,a=sn[o];if(a==="M"&&r==="P")return It;let m=a==="M"?"majorable":"perfectable",i=""+e+r,c=e<0?-1:1,d=e===8||e===-8?e:c*(o+1),h=ge(m,r),b=Math.floor((Math.abs(e)-1)/7),p=c*(mn[o]+h+12*b),N=(c*(mn[o]+h)%12+12)%12,M=L({step:o,alt:h,oct:b,dir:c});return{empty:!1,name:i,num:e,q:r,step:o,alt:h,dir:c,type:m,simple:d,semitones:p,chroma:N,coord:M,oct:b}}function F(t,n){let[e,r=0]=t,o=e*7+r*12<0,a=n||o?[-e,-r,-1]:[e,r,1];return l(z(a))}function ge(t,n){return n==="M"&&t==="majorable"||n==="P"&&t==="perfectable"?0:n==="m"&&t==="majorable"?-1:/^A+$/.test(n)?n.length:/^d+$/.test(n)?-1*(t==="perfectable"?n.length:n.length+1):0}function Ne(t){let{step:n,alt:e,oct:r=0,dir:o}=t;if(!o)return"";let a=n+1+7*r,m=a===0?n+1:a,i=o<0?"-":"",c=sn[n]==="M"?"majorable":"perfectable";return i+m+Ie(c,e)}function Ie(t,n){return n===0?t==="majorable"?"M":"P":n===-1&&t==="majorable"?"m":n>0?on("A",n):on("d",t==="perfectable"?n:n+1)}var cn=(t,n)=>Array(Math.abs(n)+1).join(t),ln={empty:!0,name:"",pc:"",acc:""},un=new Map,jt=t=>"CDEFGAB".charAt(t),w=t=>t<0?cn("b",-t):cn("#",t),R=t=>t[0]==="b"?-t.length:t.length;function s(t){let n=JSON.stringify(t),e=un.get(n);if(e)return e;let r=typeof t=="string"?je(t):_(t)?s(xe(t)):D(t)?s(t.name):ln;return un.set(n,r),r}var Se=/^([a-gA-G]?)(#{1,}|b{1,}|x{1,}|)(-?\d*)\s*(.*)$/;function J(t){let n=Se.exec(t);return[n[1].toUpperCase(),n[2].replace(/x/g,"##"),n[3],n[4]]}function rt(t){return s(z(t))}var Te=(t,n)=>(t%n+n)%n,Tt=[0,2,4,5,7,9,11];function je(t){let n=J(t);if(n[0]===""||n[3]!=="")return ln;let e=n[0],r=n[1],o=n[2],a=(e.charCodeAt(0)+3)%7,m=R(r),i=o.length?+o:void 0,c=L({step:a,alt:m,oct:i}),d=e+r+o,h=e+r,b=(Tt[a]+m+120)%12,p=i===void 0?Te(Tt[a]+m,12)-12*99:Tt[a]+m+12*(i+1),N=p>=0&&p<=127?p:null,M=i===void 0?null:Math.pow(2,(p-69)/12)*440;return{empty:!1,acc:r,alt:m,chroma:b,coord:c,freq:M,height:p,letter:e,midi:N,name:d,oct:i,pc:h,step:a}}function xe(t){let{step:n,alt:e,oct:r}=t,o=jt(n);if(!o)return"";let a=o+w(e);return r||r===0?a+r:a}function u(t,n){let e=s(t),r=Array.isArray(n)?n:l(n).coord;if(e.empty||!r||r.length<2)return"";let o=e.coord,a=o.length===1?[o[0]+r[0]]:[o[0]+r[0],o[1]+r[1]];return rt(a).name}function V(t,n){let e=t.length;return r=>{if(!n)return"";let o=r<0?(e- -r%e)%e:r%e,a=Math.floor(r/e),m=u(n,[0,a]);return u(m,t[o])}}function I(t,n){let e=s(t),r=s(n);if(e.empty||r.empty)return"";let o=e.coord,a=r.coord,m=a[0]-o[0],i=o.length===2&&a.length===2?a[1]-o[1]:-Math.floor(m*7/12),c=r.height===e.height&&r.midi!==null&&e.midi!==null&&e.step>r.step;return F([m,i],c).name}var dn=(t,n)=>Array(Math.abs(n)+1).join(t);function f(t,n,e){return function(...r){return console.warn(`${t} is deprecated. Use ${n}.`),e.apply(this,r)}}var ot=f("isNamed","isNamedPitch",D);var fn=(t,n)=>Array(n+1).join(t),Ce=/^(_{1,}|=|\^{1,}|)([abcdefgABCDEFG])([,']*)$/;function pn(t){let n=Ce.exec(t);return n?[n[1],n[2],n[3]]:["","",""]}function mt(t){let[n,e,r]=pn(t);if(e==="")return"";let o=4;for(let m=0;m<r.length;m++)o+=r.charAt(m)===","?-1:1;let a=n[0]==="_"?n.replace(/_/g,"b"):n[0]==="^"?n.replace(/\^/g,"#"):"";return e.charCodeAt(0)>96?e.toUpperCase()+a+(o+1):e+a+o}function Mn(t){let n=s(t);if(n.empty||!n.oct&&n.oct!==0)return"";let{letter:e,acc:r,oct:o}=n,a=r[0]==="b"?r.replace(/b/g,"_"):r.replace(/#/g,"^"),m=o>4?e.toLowerCase():e,i=o===5?"":o>4?fn("'",o-5):fn(",",4-o);return a+m+i}function Ee(t,n){return Mn(u(mt(t),n))}function De(t,n){return I(mt(t),mt(n))}var Pn={abcToScientificNotation:mt,scientificToAbcNotation:Mn,tokenize:pn,transpose:Ee,distance:De};var xt={};gt(xt,{compact:()=>Re,permutations:()=>vn,range:()=>Ve,rotate:()=>Fe,shuffle:()=>ke,sortedNoteNames:()=>hn,sortedUniqNoteNames:()=>Oe});function _e(t,n){let e=[];for(;n--;e[n]=n+t);return e}function we(t,n){let e=[];for(;n--;e[n]=t-n);return e}function Ve(t,n){return t<n?_e(t,n-t+1):we(t,t-n+1)}function Fe(t,n){let e=n.length,r=(t%e+e)%e;return n.slice(r,e).concat(n.slice(0,r))}function Re(t){return t.filter(n=>n===0||n)}function hn(t){return t.map(e=>s(e)).filter(e=>!e.empty).sort((e,r)=>e.height-r.height).map(e=>e.name)}function Oe(t){return hn(t).filter((n,e,r)=>e===0||n!==r[e-1])}function ke(t,n=Math.random){let e,r,o=t.length;for(;o;)e=Math.floor(n()*o--),r=t[o],t[o]=t[e],t[e]=r;return t}function vn(t){return t.length===0?[[]]:vn(t.slice(1)).reduce((n,e)=>n.concat(t.map((r,o)=>{let a=e.slice();return a.splice(o,0,t[0]),a})),[])}function $e(t,n){let e=[];for(;n--;e[n]=n+t);return e}function qe(t,n){let e=[];for(;n--;e[n]=t-n);return e}function O(t,n){return t<n?$e(t,n-t+1):qe(t,t-n+1)}function x(t,n){let e=n.length,r=(t%e+e)%e;return n.slice(r,e).concat(n.slice(0,r))}function Z(t){return t.filter(n=>n===0||n)}function Ge(t,n=Math.random){let e,r,o=t.length;for(;o;)e=Math.floor(n()*o--),r=t[o],t[o]=t[e],t[e]=r;return t}function yn(t){return t.length===0?[[]]:yn(t.slice(1)).reduce((n,e)=>n.concat(t.map((r,o)=>{let a=e.slice();return a.splice(o,0,t[0]),a})),[])}var bn={compact:Z,permutations:yn,range:O,rotate:x,shuffle:Ge};var S={empty:!0,name:"",setNum:0,chroma:"000000000000",normalized:"000000000000",intervals:[]},Ct=t=>Number(t).toString(2).padStart(12,"0"),An=t=>parseInt(t,2),Le=/^[01]{12}$/;function it(t){return Le.test(t)}var ze=t=>typeof t=="number"&&t>=0&&t<=4095,Be=t=>t&&it(t.chroma),gn={[S.chroma]:S};function P(t){let n=it(t)?t:ze(t)?Ct(t):Array.isArray(t)?er(t):Be(t)?t.chroma:S.chroma;return gn[n]=gn[n]||nr(n)}var Ue=f("Pcset.pcset","Pcset.get",P),Et=t=>P(t).chroma,He=t=>P(t).intervals,Ke=t=>P(t).setNum,Xe=["1P","2m","2M","3m","3M","4P","5d","5P","6m","6M","7m","7M"];function Qe(t){let n=[];for(let e=0;e<12;e++)t.charAt(e)==="1"&&n.push(Xe[e]);return n}function Je(t){return P(t).intervals.map(n=>u("C",n))}function Ze(){return O(2048,4095).map(Ct)}function W(t,n=!0){let r=P(t).chroma.split("");return Z(r.map((o,a)=>{let m=x(a,r);return n&&m[0]==="0"?null:m.join("")}))}function We(t,n){return P(t).setNum===P(n).setNum}function B(t){let n=P(t).setNum;return e=>{let r=P(e).setNum;return n&&n!==r&&(r&n)===r}}function U(t){let n=P(t).setNum;return e=>{let r=P(e).setNum;return n&&n!==r&&(r|n)===r}}function Nn(t){let n=P(t);return e=>{let r=s(e);return n&&!r.empty&&n.chroma.charAt(r.chroma)==="1"}}function Ye(t){let n=Nn(t);return e=>e.filter(n)}var Dt={get:P,chroma:Et,num:Ke,intervals:He,chromas:Ze,isSupersetOf:U,isSubsetOf:B,isNoteIncludedIn:Nn,isEqual:We,filter:Ye,modes:W,notes:Je,pcset:Ue};function tr(t){let n=t.split("");return n.map((e,r)=>x(r,n).join(""))}function nr(t){let n=An(t),e=tr(t).map(An).filter(a=>a>=2048).sort()[0],r=Ct(e),o=Qe(t);return{empty:!1,name:"",setNum:n,chroma:t,normalized:r,intervals:o}}function er(t){if(t.length===0)return S.chroma;let n,e=[0,0,0,0,0,0,0,0,0,0,0,0];for(let r=0;r<t.length;r++)n=s(t[r]),n.empty&&(n=l(t[r])),n.empty||(e[n.chroma]=1);return e.join("")}var rr=[["1P 3M 5P","major","M ^ maj"],["1P 3M 5P 7M","major seventh","maj7 \u0394 ma7 M7 Maj7 ^7"],["1P 3M 5P 7M 9M","major ninth","maj9 \u03949 ^9"],["1P 3M 5P 7M 9M 13M","major thirteenth","maj13 Maj13 ^13"],["1P 3M 5P 6M","sixth","6 add6 add13 M6"],["1P 3M 5P 6M 9M","sixth added ninth","6add9 6/9 69 M69"],["1P 3M 6m 7M","major seventh flat sixth","M7b6 ^7b6"],["1P 3M 5P 7M 11A","major seventh sharp eleventh","maj#4 \u0394#4 \u0394#11 M7#11 ^7#11 maj7#11"],["1P 3m 5P","minor","m min -"],["1P 3m 5P 7m","minor seventh","m7 min7 mi7 -7"],["1P 3m 5P 7M","minor/major seventh","m/ma7 m/maj7 mM7 mMaj7 m/M7 -\u03947 m\u0394 -^7 -maj7"],["1P 3m 5P 6M","minor sixth","m6 -6"],["1P 3m 5P 7m 9M","minor ninth","m9 -9"],["1P 3m 5P 7M 9M","minor/major ninth","mM9 mMaj9 -^9"],["1P 3m 5P 7m 9M 11P","minor eleventh","m11 -11"],["1P 3m 5P 7m 9M 13M","minor thirteenth","m13 -13"],["1P 3m 5d","diminished","dim \xB0 o"],["1P 3m 5d 7d","diminished seventh","dim7 \xB07 o7"],["1P 3m 5d 7m","half-diminished","m7b5 \xF8 -7b5 h7 h"],["1P 3M 5P 7m","dominant seventh","7 dom"],["1P 3M 5P 7m 9M","dominant ninth","9"],["1P 3M 5P 7m 9M 13M","dominant thirteenth","13"],["1P 3M 5P 7m 11A","lydian dominant seventh","7#11 7#4"],["1P 3M 5P 7m 9m","dominant flat ninth","7b9"],["1P 3M 5P 7m 9A","dominant sharp ninth","7#9"],["1P 3M 7m 9m","altered","alt7"],["1P 4P 5P","suspended fourth","sus4 sus"],["1P 2M 5P","suspended second","sus2"],["1P 4P 5P 7m","suspended fourth seventh","7sus4 7sus"],["1P 5P 7m 9M 11P","eleventh","11"],["1P 4P 5P 7m 9m","suspended fourth flat ninth","b9sus phryg 7b9sus 7b9sus4"],["1P 5P","fifth","5"],["1P 3M 5A","augmented","aug + +5 ^#5"],["1P 3m 5A","minor augmented","m#5 -#5 m+"],["1P 3M 5A 7M","augmented seventh","maj7#5 maj7+5 +maj7 ^7#5"],["1P 3M 5P 7M 9M 11A","major sharp eleventh (lydian)","maj9#11 \u03949#11 ^9#11"],["1P 2M 4P 5P","","sus24 sus4add9"],["1P 3M 5A 7M 9M","","maj9#5 Maj9#5"],["1P 3M 5A 7m","","7#5 +7 7+ 7aug aug7"],["1P 3M 5A 7m 9A","","7#5#9 7#9#5 7alt"],["1P 3M 5A 7m 9M","","9#5 9+"],["1P 3M 5A 7m 9M 11A","","9#5#11"],["1P 3M 5A 7m 9m","","7#5b9 7b9#5"],["1P 3M 5A 7m 9m 11A","","7#5b9#11"],["1P 3M 5A 9A","","+add#9"],["1P 3M 5A 9M","","M#5add9 +add9"],["1P 3M 5P 6M 11A","","M6#11 M6b5 6#11 6b5"],["1P 3M 5P 6M 7M 9M","","M7add13"],["1P 3M 5P 6M 9M 11A","","69#11"],["1P 3m 5P 6M 9M","","m69 -69"],["1P 3M 5P 6m 7m","","7b6"],["1P 3M 5P 7M 9A 11A","","maj7#9#11"],["1P 3M 5P 7M 9M 11A 13M","","M13#11 maj13#11 M13+4 M13#4"],["1P 3M 5P 7M 9m","","M7b9"],["1P 3M 5P 7m 11A 13m","","7#11b13 7b5b13"],["1P 3M 5P 7m 13M","","7add6 67 7add13"],["1P 3M 5P 7m 9A 11A","","7#9#11 7b5#9 7#9b5"],["1P 3M 5P 7m 9A 11A 13M","","13#9#11"],["1P 3M 5P 7m 9A 11A 13m","","7#9#11b13"],["1P 3M 5P 7m 9A 13M","","13#9"],["1P 3M 5P 7m 9A 13m","","7#9b13"],["1P 3M 5P 7m 9M 11A","","9#11 9+4 9#4"],["1P 3M 5P 7m 9M 11A 13M","","13#11 13+4 13#4"],["1P 3M 5P 7m 9M 11A 13m","","9#11b13 9b5b13"],["1P 3M 5P 7m 9m 11A","","7b9#11 7b5b9 7b9b5"],["1P 3M 5P 7m 9m 11A 13M","","13b9#11"],["1P 3M 5P 7m 9m 11A 13m","","7b9b13#11 7b9#11b13 7b5b9b13"],["1P 3M 5P 7m 9m 13M","","13b9"],["1P 3M 5P 7m 9m 13m","","7b9b13"],["1P 3M 5P 7m 9m 9A","","7b9#9"],["1P 3M 5P 9M","","Madd9 2 add9 add2"],["1P 3M 5P 9m","","Maddb9"],["1P 3M 5d","","Mb5"],["1P 3M 5d 6M 7m 9M","","13b5"],["1P 3M 5d 7M","","M7b5"],["1P 3M 5d 7M 9M","","M9b5"],["1P 3M 5d 7m","","7b5"],["1P 3M 5d 7m 9M","","9b5"],["1P 3M 7m","","7no5"],["1P 3M 7m 13m","","7b13"],["1P 3M 7m 9M","","9no5"],["1P 3M 7m 9M 13M","","13no5"],["1P 3M 7m 9M 13m","","9b13"],["1P 3m 4P 5P","","madd4"],["1P 3m 5P 6m 7M","","mMaj7b6"],["1P 3m 5P 6m 7M 9M","","mMaj9b6"],["1P 3m 5P 7m 11P","","m7add11 m7add4"],["1P 3m 5P 9M","","madd9"],["1P 3m 5d 6M 7M","","o7M7"],["1P 3m 5d 7M","","oM7"],["1P 3m 6m 7M","","mb6M7"],["1P 3m 6m 7m","","m7#5"],["1P 3m 6m 7m 9M","","m9#5"],["1P 3m 5A 7m 9M 11P","","m11A"],["1P 3m 6m 9m","","mb6b9"],["1P 2M 3m 5d 7m","","m9b5"],["1P 4P 5A 7M","","M7#5sus4"],["1P 4P 5A 7M 9M","","M9#5sus4"],["1P 4P 5A 7m","","7#5sus4"],["1P 4P 5P 7M","","M7sus4"],["1P 4P 5P 7M 9M","","M9sus4"],["1P 4P 5P 7m 9M","","9sus4 9sus"],["1P 4P 5P 7m 9M 13M","","13sus4 13sus"],["1P 4P 5P 7m 9m 13m","","7sus4b9b13 7b9b13sus4"],["1P 4P 7m 10m","","4 quartal"],["1P 5P 7m 9m 11P","","11b9"]],or=rr,ar={...S,name:"",quality:"Unknown",intervals:[],aliases:[]},H=[],k={};function st(t){return k[t]||ar}var mr=f("ChordType.chordType","ChordType.get",st);function ir(){return H.map(t=>t.name).filter(t=>t)}function sr(){return H.map(t=>t.aliases[0]).filter(t=>t)}function cr(){return Object.keys(k)}function C(){return H.slice()}var ur=f("ChordType.entries","ChordType.all",C);function lr(){H=[],k={}}function In(t,n,e){let r=fr(t),o={...P(t),name:e||"",quality:r,intervals:t,aliases:n};H.push(o),o.name&&(k[o.name]=o),k[o.setNum]=o,k[o.chroma]=o,o.aliases.forEach(a=>dr(o,a))}function dr(t,n){k[n]=t}function fr(t){let n=e=>t.indexOf(e)!==-1;return n("5A")?"Augmented":n("3M")?"Major":n("5d")?"Diminished":n("3m")?"Minor":"Unknown"}or.forEach(([t,n,e])=>In(t.split(" "),e.split(" "),n));H.sort((t,n)=>t.setNum-n.setNum);var _t={names:ir,symbols:sr,get:st,all:C,add:In,removeAll:lr,keys:cr,entries:ur,chordType:mr};var pr=t=>{let n=t.reduce((e,r)=>{let o=s(r).chroma;return o!==void 0&&(e[o]=e[o]||s(r).name),e},{});return e=>n[e]};function wt(t,n={}){let e=t.map(o=>s(o).pc).filter(o=>o);return s.length===0?[]:Ar(e,1,n).filter(o=>o.weight).sort((o,a)=>a.weight-o.weight).map(o=>o.name)}var ct={anyThirds:384,perfectFifth:16,nonPerfectFifths:40,anySeventh:3},ut=t=>n=>!!(n&t),Mr=ut(ct.anyThirds),Pr=ut(ct.perfectFifth),hr=ut(ct.anySeventh),vr=ut(ct.nonPerfectFifths);function yr(t){let n=parseInt(t.chroma,2);return Mr(n)&&Pr(n)&&hr(n)}function br(t){let n=parseInt(t,2);return vr(n)?t:(n|16).toString(2)}function Ar(t,n,e){let r=t[0],o=s(r).chroma,a=pr(t),m=W(t,!1),i=[];return m.forEach((c,d)=>{let h=e.assumePerfectFifth&&br(c);C().filter(p=>e.assumePerfectFifth&&yr(p)?p.chroma===h:p.chroma===c).forEach(p=>{let N=p.aliases[0],M=a(d);d!==o?i.push({weight:.5*n,name:`${M}${N}/${r}`}):i.push({weight:1*n,name:`${M}${N}`})})}),i}var gr=[["1P 2M 3M 5P 6M","major pentatonic","pentatonic"],["1P 2M 3M 4P 5P 6M 7M","major","ionian"],["1P 2M 3m 4P 5P 6m 7m","minor","aeolian"],["1P 2M 3m 3M 5P 6M","major blues"],["1P 3m 4P 5d 5P 7m","minor blues","blues"],["1P 2M 3m 4P 5P 6M 7M","melodic minor"],["1P 2M 3m 4P 5P 6m 7M","harmonic minor"],["1P 2M 3M 4P 5P 6M 7m 7M","bebop"],["1P 2M 3m 4P 5d 6m 6M 7M","diminished","whole-half diminished"],["1P 2M 3m 4P 5P 6M 7m","dorian"],["1P 2M 3M 4A 5P 6M 7M","lydian"],["1P 2M 3M 4P 5P 6M 7m","mixolydian","dominant"],["1P 2m 3m 4P 5P 6m 7m","phrygian"],["1P 2m 3m 4P 5d 6m 7m","locrian"],["1P 3M 4P 5P 7M","ionian pentatonic"],["1P 3M 4P 5P 7m","mixolydian pentatonic","indian"],["1P 2M 4P 5P 6M","ritusen"],["1P 2M 4P 5P 7m","egyptian"],["1P 3M 4P 5d 7m","neopolitan major pentatonic"],["1P 3m 4P 5P 6m","vietnamese 1"],["1P 2m 3m 5P 6m","pelog"],["1P 2m 4P 5P 6m","kumoijoshi"],["1P 2M 3m 5P 6m","hirajoshi"],["1P 2m 4P 5d 7m","iwato"],["1P 2m 4P 5P 7m","in-sen"],["1P 3M 4A 5P 7M","lydian pentatonic","chinese"],["1P 3m 4P 6m 7m","malkos raga"],["1P 3m 4P 5d 7m","locrian pentatonic","minor seven flat five pentatonic"],["1P 3m 4P 5P 7m","minor pentatonic","vietnamese 2"],["1P 3m 4P 5P 6M","minor six pentatonic"],["1P 2M 3m 5P 6M","flat three pentatonic","kumoi"],["1P 2M 3M 5P 6m","flat six pentatonic"],["1P 2m 3M 5P 6M","scriabin"],["1P 3M 5d 6m 7m","whole tone pentatonic"],["1P 3M 4A 5A 7M","lydian #5P pentatonic"],["1P 3M 4A 5P 7m","lydian dominant pentatonic"],["1P 3m 4P 5P 7M","minor #7M pentatonic"],["1P 3m 4d 5d 7m","super locrian pentatonic"],["1P 2M 3m 4P 5P 7M","minor hexatonic"],["1P 2A 3M 5P 5A 7M","augmented"],["1P 2M 4P 5P 6M 7m","piongio"],["1P 2m 3M 4A 6M 7m","prometheus neopolitan"],["1P 2M 3M 4A 6M 7m","prometheus"],["1P 2m 3M 5d 6m 7m","mystery #1"],["1P 2m 3M 4P 5A 6M","six tone symmetric"],["1P 2M 3M 4A 5A 6A","whole tone","messiaen's mode #1"],["1P 2m 4P 4A 5P 7M","messiaen's mode #5"],["1P 2M 3M 4P 5d 6m 7m","locrian major","arabian"],["1P 2m 3M 4A 5P 6m 7M","double harmonic lydian"],["1P 2m 2A 3M 4A 6m 7m","altered","super locrian","diminished whole tone","pomeroy"],["1P 2M 3m 4P 5d 6m 7m","locrian #2","half-diminished","aeolian b5"],["1P 2M 3M 4P 5P 6m 7m","mixolydian b6","melodic minor fifth mode","hindu"],["1P 2M 3M 4A 5P 6M 7m","lydian dominant","lydian b7","overtone"],["1P 2M 3M 4A 5A 6M 7M","lydian augmented"],["1P 2m 3m 4P 5P 6M 7m","dorian b2","phrygian #6","melodic minor second mode"],["1P 2m 3m 4d 5d 6m 7d","ultralocrian","superlocrian bb7","superlocrian diminished"],["1P 2m 3m 4P 5d 6M 7m","locrian 6","locrian natural 6","locrian sharp 6"],["1P 2A 3M 4P 5P 5A 7M","augmented heptatonic"],["1P 2M 3m 4A 5P 6M 7m","dorian #4","ukrainian dorian","romanian minor","altered dorian"],["1P 2M 3m 4A 5P 6M 7M","lydian diminished"],["1P 2M 3M 4A 5A 7m 7M","leading whole tone"],["1P 2M 3M 4A 5P 6m 7m","lydian minor"],["1P 2m 3M 4P 5P 6m 7m","phrygian dominant","spanish","phrygian major"],["1P 2m 3m 4P 5P 6m 7M","balinese"],["1P 2m 3m 4P 5P 6M 7M","neopolitan major"],["1P 2M 3M 4P 5P 6m 7M","harmonic major"],["1P 2m 3M 4P 5P 6m 7M","double harmonic major","gypsy"],["1P 2M 3m 4A 5P 6m 7M","hungarian minor"],["1P 2A 3M 4A 5P 6M 7m","hungarian major"],["1P 2m 3M 4P 5d 6M 7m","oriental"],["1P 2m 3m 3M 4A 5P 7m","flamenco"],["1P 2m 3m 4A 5P 6m 7M","todi raga"],["1P 2m 3M 4P 5d 6m 7M","persian"],["1P 2m 3M 5d 6m 7m 7M","enigmatic"],["1P 2M 3M 4P 5A 6M 7M","major augmented","major #5","ionian augmented","ionian #5"],["1P 2A 3M 4A 5P 6M 7M","lydian #9"],["1P 2m 2M 4P 4A 5P 6m 7M","messiaen's mode #4"],["1P 2m 3M 4P 4A 5P 6m 7M","purvi raga"],["1P 2m 3m 3M 4P 5P 6m 7m","spanish heptatonic"],["1P 2M 3m 3M 4P 5P 6M 7m","bebop minor"],["1P 2M 3M 4P 5P 5A 6M 7M","bebop major"],["1P 2m 3m 4P 5d 5P 6m 7m","bebop locrian"],["1P 2M 3m 4P 5P 6m 7m 7M","minor bebop"],["1P 2M 3M 4P 5d 5P 6M 7M","ichikosucho"],["1P 2M 3m 4P 5P 6m 6M 7M","minor six diminished"],["1P 2m 3m 3M 4A 5P 6M 7m","half-whole diminished","dominant diminished","messiaen's mode #2"],["1P 3m 3M 4P 5P 6M 7m 7M","kafi raga"],["1P 2M 3M 4P 4A 5A 6A 7M","messiaen's mode #6"],["1P 2M 3m 3M 4P 5d 5P 6M 7m","composite blues"],["1P 2M 3m 3M 4A 5P 6m 7m 7M","messiaen's mode #3"],["1P 2m 2M 3m 4P 4A 5P 6m 6M 7M","messiaen's mode #7"],["1P 2m 2M 3m 3M 4P 5d 5P 6m 6M 7m 7M","chromatic"]],Nr=gr,Ir={...S,intervals:[],aliases:[]},lt=[],$={};function Vt(){return lt.map(t=>t.name)}function K(t){return $[t]||Ir}var Sr=f("ScaleDictionary.scaleType","ScaleType.get",K);function E(){return lt.slice()}var Tr=f("ScaleDictionary.entries","ScaleType.all",E);function jr(){return Object.keys($)}function xr(){lt=[],$={}}function Sn(t,n,e=[]){let r={...P(t),name:n,intervals:t,aliases:e};return lt.push(r),$[r.name]=r,$[r.setNum]=r,$[r.chroma]=r,r.aliases.forEach(o=>Cr(r,o)),r}function Cr(t,n){$[n]=t}Nr.forEach(([t,n,...e])=>Sn(t.split(" "),n,e));var Ft={names:Vt,get:K,all:E,add:Sn,removeAll:xr,keys:jr,entries:Tr,scaleType:Sr};var Rt={empty:!0,name:"",symbol:"",root:"",rootDegree:0,type:"",tonic:null,setNum:NaN,quality:"Unknown",chroma:"",normalized:"",aliases:[],notes:[],intervals:[]};function Y(t){let[n,e,r,o]=J(t);return n===""?["",t]:n==="A"&&o==="ug"?["","aug"]:[n+e,r+o]}function q(t){if(t==="")return Rt;if(Array.isArray(t)&&t.length===2)return dt(t[1],t[0]);{let[n,e]=Y(t),r=dt(e,n);return r.empty?dt(t):r}}function dt(t,n,e){let r=st(t),o=s(n||""),a=s(e||"");if(r.empty||n&&o.empty||e&&a.empty)return Rt;let m=I(o.pc,a.pc),i=r.intervals.indexOf(m)+1;if(!a.empty&&!i)return Rt;let c=Array.from(r.intervals);for(let p=1;p<i;p++){let N=c[0][0],M=c[0][1],et=parseInt(N,10)+7;c.push(`${et}${M}`),c.shift()}let d=o.empty?[]:c.map(p=>u(o,p));t=r.aliases.indexOf(t)!==-1?t:r.aliases[0];let h=`${o.empty?"":o.pc}${t}${a.empty||i<=1?"":"/"+a.pc}`,b=`${n?o.pc+" ":""}${r.name}${i>1&&e?" over "+a.pc:""}`;return{...r,name:b,symbol:h,type:r.name,root:a.name,intervals:c,rootDegree:i,tonic:o.name,notes:d}}var Er=f("Chord.chord","Chord.get",q);function Dr(t,n){let[e,r]=Y(t);return e?u(e,n)+r:t}function _r(t){let n=q(t),e=U(n.chroma);return E().filter(r=>e(r.chroma)).map(r=>r.name)}function wr(t){let n=q(t),e=U(n.chroma);return C().filter(r=>e(r.chroma)).map(r=>n.tonic+r.aliases[0])}function Vr(t){let n=q(t),e=B(n.chroma);return C().filter(r=>e(r.chroma)).map(r=>n.tonic+r.aliases[0])}function Fr(t){let{intervals:n,tonic:e}=q(t),r=V(n,e);return o=>o?r(o>0?o-1:o):""}function Rr(t){let{intervals:n,tonic:e}=q(t);return V(n,e)}var X={getChord:dt,get:q,detect:wt,chordScales:_r,extended:wr,reduced:Vr,tokenize:Y,transpose:Dr,degrees:Fr,steps:Rr,chord:Er};var Or=[[.125,"dl",["large","duplex longa","maxima","octuple","octuple whole"]],[.25,"l",["long","longa"]],[.5,"d",["double whole","double","breve"]],[1,"w",["whole","semibreve"]],[2,"h",["half","minim"]],[4,"q",["quarter","crotchet"]],[8,"e",["eighth","quaver"]],[16,"s",["sixteenth","semiquaver"]],[32,"t",["thirty-second","demisemiquaver"]],[64,"sf",["sixty-fourth","hemidemisemiquaver"]],[128,"h",["hundred twenty-eighth"]],[256,"th",["two hundred fifty-sixth"]]],kr=Or,ft=[];kr.forEach(([t,n,e])=>Ur(t,n,e));var $r={empty:!0,name:"",value:0,fraction:[0,0],shorthand:"",dots:"",names:[]};function qr(){return ft.reduce((t,n)=>(n.names.forEach(e=>t.push(e)),t),[])}function Gr(){return ft.map(t=>t.shorthand)}var Lr=/^([^.]+)(\.*)$/;function Ot(t){let[n,e,r]=Lr.exec(t)||[],o=ft.find(i=>i.shorthand===e||i.names.includes(e));if(!o)return $r;let a=Hr(o.fraction,r.length),m=a[0]/a[1];return{...o,name:t,dots:r,value:m,fraction:a}}var zr=t=>Ot(t).value,Br=t=>Ot(t).fraction,Tn={names:qr,shorthands:Gr,get:Ot,value:zr,fraction:Br};function Ur(t,n,e){ft.push({empty:!1,dots:"",name:"",value:1/t,fraction:t<1?[1/t,1]:[1,t],shorthand:n,names:e})}function Hr(t,n){let e=Math.pow(2,n),r=t[0]*e,o=t[1]*e,a=r;for(let m=0;m<n;m++)r+=a/Math.pow(2,m+1);for(;r%2===0&&o%2===0;)r/=2,o/=2;return[r,o]}function Kr(){return"1P 2M 3M 4P 5P 6m 7m".split(" ")}var jn=l,Xr=t=>l(t).name,Qr=t=>l(t).semitones,Jr=t=>l(t).q,Zr=t=>l(t).num;function kt(t){let n=l(t);return n.empty?"":n.simple+n.q}function Wr(t){let n=l(t);if(n.empty)return"";let e=(7-n.step)%7,r=n.type==="perfectable"?-n.alt:-(n.alt+1);return l({step:e,alt:r,oct:n.oct,dir:n.dir}).name}var Yr=[1,2,2,3,3,4,5,5,6,6,7,7],to="P m M m M P d P m M m M".split(" ");function no(t){let n=t<0?-1:1,e=Math.abs(t),r=e%12,o=Math.floor(e/12);return n*(Yr[r]+7*o)+to[r]}var eo=I,xn=Cn((t,n)=>[t[0]+n[0],t[1]+n[1]]),ro=t=>n=>xn(t,n),oo=Cn((t,n)=>[t[0]-n[0],t[1]-n[1]]);function $t(t,n){let e=jn(t);if(e.empty)return"";let[r,o,a]=e.coord;return F([r+n,o,a]).name}var pt={names:Kr,get:jn,name:Xr,num:Zr,semitones:Qr,quality:Jr,fromSemitones:no,distance:eo,invert:Wr,simplify:kt,add:xn,addTo:ro,substract:oo,transposeFifths:$t};function Cn(t){return(n,e)=>{let r=l(n).coord,o=l(e).coord;if(r&&o){let a=t(r,o);return F(a).name}}}function En(t){return+t>=0&&+t<=127}function qt(t){if(En(t))return+t;let n=s(t);return n.empty?null:n.midi}function ao(t,n=440){return Math.pow(2,(t-69)/12)*n}var mo=Math.log(2),io=Math.log(440);function Mt(t){let n=12*(Math.log(t)-io)/mo+69;return Math.round(n*100)/100}var so="C C# D D# E F F# G G# A A# B".split(" "),co="C Db D Eb E F Gb G Ab A Bb B".split(" ");function T(t,n={}){if(isNaN(t)||t===-1/0||t===1/0)return"";t=Math.round(t);let r=(n.sharps===!0?so:co)[t%12];if(n.pitchClass)return r;let o=Math.floor(t/12)-1;return r+o}function Gt(t){return t%12}function uo(t){return t.split("").reduce((n,e,r)=>(r<12&&e==="1"&&n.push(r),n),[])}function lo(t){return t.map(Gt).sort((n,e)=>n-e).filter((n,e,r)=>e===0||n!==r[e-1])}function Lt(t){return Array.isArray(t)?lo(t):uo(t)}function fo(t){let n=Lt(t);return e=>{let r=Gt(e);for(let o=0;o<12;o++){if(n.includes(r+o))return e+o;if(n.includes(r-o))return e-o}}}function Dn(t,n){let e=Lt(t),r=e.length;return o=>{let a=o<0?(r- -o%r)%r:o%r,m=Math.floor(o/r);return e[a]+m*12+n}}function po(t,n){let e=Dn(t,n);return r=>{if(r!==0)return e(r>0?r-1:r)}}var _n={chroma:Gt,freqToMidi:Mt,isMidi:En,midiToFreq:ao,midiToNoteName:T,pcsetNearest:fo,pcset:Lt,pcsetDegrees:po,pcsetSteps:Dn,toMidi:qt};var Mo=["C","D","E","F","G","A","B"],wn=t=>t.name,Vn=t=>t.map(s).filter(n=>!n.empty);function Po(t){return t===void 0?Mo.slice():Array.isArray(t)?Vn(t).map(wn):[]}var A=s,ho=t=>A(t).name,vo=t=>A(t).pc,yo=t=>A(t).acc,bo=t=>A(t).oct,Ao=t=>A(t).midi,go=t=>A(t).freq,No=t=>A(t).chroma;function zt(t){return T(t)}function Io(t){return T(Mt(t))}function So(t){return T(Mt(t),{sharps:!0})}function To(t){return T(t,{sharps:!0})}var tt=u,jo=u,Fn=t=>n=>tt(n,t),xo=Fn,Rn=t=>n=>tt(t,n),Co=Rn;function nt(t,n){return tt(t,[n,0])}var Eo=nt;function Do(t,n){return tt(t,[0,n])}var Bt=(t,n)=>t.height-n.height,_o=(t,n)=>n.height-t.height;function On(t,n){return n=n||Bt,Vn(t).sort(n).map(wn)}function Ut(t){return On(t,Bt).filter((n,e,r)=>e===0||n!==r[e-1])}var wo=t=>{let n=A(t);return n.empty?"":T(n.midi||n.chroma,{sharps:n.alt>0,pitchClass:n.midi===null})};function Ht(t,n){let e=A(t);if(e.empty)return"";let r=A(n||T(e.midi||e.chroma,{sharps:e.alt<0,pitchClass:!0}));if(r.empty||r.chroma!==e.chroma)return"";if(e.oct===void 0)return r.pc;let o=e.chroma-e.alt,a=r.chroma-r.alt,m=o>11||a<0?-1:o<0||a>11?1:0,i=e.oct+m;return r.pc+i}var v={names:Po,get:A,name:ho,pitchClass:vo,accidentals:yo,octave:bo,midi:Ao,ascending:Bt,descending:_o,sortedNames:On,sortedUniqNames:Ut,fromMidi:zt,fromMidiSharps:To,freq:go,fromFreq:Io,fromFreqSharps:So,chroma:No,transpose:tt,tr:jo,transposeBy:Fn,trBy:xo,transposeFrom:Rn,trFrom:Co,transposeFifths:nt,transposeOctaves:Do,trFifths:Eo,simplify:wo,enharmonic:Ht};var $n={empty:!0,name:"",chordType:""},kn={};function g(t){return typeof t=="string"?kn[t]||(kn[t]=qo(t)):typeof t=="number"?g(Pt[t]||""):_(t)?Ro(t):ot(t)?g(t.name):$n}var Vo=f("RomanNumeral.romanNumeral","RomanNumeral.get",g);function Fo(t=!0){return(t?Pt:$o).slice()}function Ro(t){return g(w(t.alt)+Pt[t.step])}var Oo=/^(#{1,}|b{1,}|x{1,}|)(IV|I{1,3}|VI{0,2}|iv|i{1,3}|vi{0,2})([^IViv]*)$/;function ko(t){return Oo.exec(t)||["","","",""]}var qn="I II III IV V VI VII",Pt=qn.split(" "),$o=qn.toLowerCase().split(" ");function qo(t){let[n,e,r,o]=ko(t);if(!r)return $n;let a=r.toUpperCase(),m=Pt.indexOf(a),i=R(e),c=1;return{empty:!1,name:n,roman:r,interval:l({step:m,alt:i,dir:c}).name,acc:e,chordType:o,alt:i,step:m,major:r===a,oct:0,dir:c}}var Gn={names:Fo,get:g,romanNumeral:Vo};var y=Object.freeze([]),Ln={type:"major",tonic:"",alteration:0,keySignature:""},ht={tonic:"",grades:y,intervals:y,scale:y,triads:y,chords:y,chordsHarmonicFunction:y,chordScales:y},Go={...Ln,...ht,type:"major",minorRelative:"",scale:y,secondaryDominants:y,secondaryDominantsMinorRelative:y,substituteDominants:y,substituteDominantsMinorRelative:y},Lo={...Ln,type:"minor",relativeMajor:"",natural:ht,harmonic:ht,melodic:ht},Kt=(t,n,e="")=>n.map((r,o)=>`${t[o]}${e}${r}`);function vt(t,n,e,r,o){return a=>{let m=t.map(c=>g(c).interval||""),i=m.map(c=>u(a,c));return{tonic:a,grades:t,intervals:m,scale:i,triads:Kt(i,n),chords:Kt(i,e),chordsHarmonicFunction:r.slice(),chordScales:Kt(i,o," ")}}}var zn=(t,n)=>{let e=s(t),r=s(n);return e.empty||r.empty?0:r.coord[0]-e.coord[0]},zo=vt("I II III IV V VI VII".split(" ")," m m m dim".split(" "),"maj7 m7 m7 maj7 7 m7 m7b5".split(" "),"T SD T SD D T D".split(" "),"major,dorian,phrygian,lydian,mixolydian,minor,locrian".split(",")),Bo=vt("I II bIII IV V bVI bVII".split(" "),"m dim m m ".split(" "),"m7 m7b5 maj7 m7 m7 maj7 7".split(" "),"T SD T SD D SD SD".split(" "),"minor,locrian,major,dorian,phrygian,lydian,mixolydian".split(",")),Uo=vt("I II bIII IV V bVI VII".split(" "),"m dim aug m dim".split(" "),"mMaj7 m7b5 +maj7 m7 7 maj7 o7".split(" "),"T SD T SD D SD D".split(" "),"harmonic minor,locrian 6,major augmented,lydian diminished,phrygian dominant,lydian #9,ultralocrian".split(",")),Ho=vt("I II bIII IV V VI VII".split(" "),"m m aug dim dim".split(" "),"m6 m7 +maj7 7 7 m7b5 m7b5".split(" "),"T SD T SD D ".split(" "),"melodic minor,dorian b2,lydian augmented,lydian dominant,mixolydian b6,locrian #2,altered".split(","));function Ko(t){let n=s(t).pc;if(!n)return Go;let e=zo(n),r=zn("C",n),o=a=>{let m=g(a);return m.empty?"":u(t,m.interval)+m.chordType};return{...e,type:"major",minorRelative:u(n,"-3m"),alteration:r,keySignature:w(r),secondaryDominants:"- VI7 VII7 I7 II7 III7 -".split(" ").map(o),secondaryDominantsMinorRelative:"- IIIm7b5 IV#m7 Vm7 VIm7 VIIm7b5 -".split(" ").map(o),substituteDominants:"- bIII7 IV7 bV7 bVI7 bVII7 -".split(" ").map(o),substituteDominantsMinorRelative:"- IIIm7 Im7 IIbm7 VIm7 IVm7 -".split(" ").map(o)}}function Xo(t){let n=s(t).pc;if(!n)return Lo;let e=zn("C",n)-3;return{type:"minor",tonic:n,relativeMajor:u(n,"3m"),alteration:e,keySignature:w(e),natural:Bo(n),harmonic:Uo(n),melodic:Ho(n)}}function Qo(t){return typeof t=="number"?nt("C",t):typeof t=="string"&&/^b+|#+$/.test(t)?nt("C",R(t)):null}var Bn={majorKey:Ko,majorTonicFromKeySignature:Qo,minorKey:Xo};var Qt=[[0,2773,0,"ionian","","Maj7","major"],[1,2902,2,"dorian","m","m7"],[2,3418,4,"phrygian","m","m7"],[3,2741,-1,"lydian","","Maj7"],[4,2774,1,"mixolydian","","7"],[5,2906,3,"aeolian","m","m7","minor"],[6,3434,5,"locrian","dim","m7b5"]],Un={...S,name:"",alt:0,modeNum:NaN,triad:"",seventh:"",aliases:[]},Jt=Qt.map(Yo),Xt={};Jt.forEach(t=>{Xt[t.name]=t,t.aliases.forEach(n=>{Xt[n]=t})});function G(t){return typeof t=="string"?Xt[t.toLowerCase()]||Un:t&&t.name?G(t.name):Un}var Jo=f("Mode.mode","Mode.get",G);function Hn(){return Jt.slice()}var Zo=f("Mode.mode","Mode.all",Hn);function Wo(){return Jt.map(t=>t.name)}function Yo(t){let[n,e,r,o,a,m,i]=t,c=i?[i]:[],d=Number(e).toString(2);return{empty:!1,intervals:K(o).intervals,modeNum:n,chroma:d,normalized:d,name:o,setNum:e,alt:r,triad:a,seventh:m,aliases:c}}function ta(t,n){return G(t).intervals.map(e=>u(n,e))}function Kn(t){return(n,e)=>{let r=G(n);if(r.empty)return[];let o=x(r.modeNum,t),a=r.intervals.map(m=>u(e,m));return o.map((m,i)=>a[i]+m)}}var na=Kn(Qt.map(t=>t[4])),ea=Kn(Qt.map(t=>t[5]));function Xn(t,n){let e=G(n),r=G(t);return e.empty||r.empty?"":kt($t("1P",r.alt-e.alt))}function ra(t,n,e){return u(e,Xn(t,n))}var Qn={get:G,names:Wo,all:Hn,distance:Xn,relativeTonic:ra,notes:ta,triads:na,seventhChords:ea,entries:Zo,mode:Jo};function oa(t,n){return n.map(g).map(r=>u(t,l(r))+r.chordType)}function aa(t,n){return n.map(e=>{let[r,o]=Y(e),a=I(t,r);return g(l(a)).name+o})}var Jn={fromRomanNumerals:oa,toRomanNumerals:aa};function Zn(t){let n=Z(t.map(e=>typeof e=="number"?e:qt(e)));return!t.length||n.length!==t.length?[]:n.reduce((e,r)=>{let o=e[e.length-1];return e.concat(O(o,r).slice(1))},[n[0]])}function ma(t,n){return Zn(t).map(e=>T(e,n))}var yt={numeric:Zn,chromatic:ma};var ia={empty:!0,name:"",type:"",tonic:null,setNum:NaN,chroma:"",normalized:"",aliases:[],notes:[],intervals:[]};function Wn(t){if(typeof t!="string")return["",""];let n=t.indexOf(" "),e=s(t.substring(0,n));if(e.empty){let o=s(t);return o.empty?["",t]:[o.name,""]}let r=t.substring(e.name.length+1);return[e.name,r.length?r:""]}var sa=Vt;function j(t){let n=Array.isArray(t)?t:Wn(t),e=s(n[0]).name,r=K(n[1]);if(r.empty)return ia;let o=r.name,a=e?r.intervals.map(i=>u(e,i)):[],m=e?e+" "+o:o;return{...r,name:m,type:o,tonic:e,notes:a}}var ca=f("Scale.scale","Scale.get",j);function ua(t,n={}){let e=Et(t),r=s(n.tonic??t[0]??""),o=r.chroma;if(o===void 0)return[];let a=e.split("");a[o]="1";let m=x(o,a).join(""),i=E().find(d=>d.chroma===m),c=[];return i&&c.push(r.name+" "+i.name),n.match==="exact"||Yn(m).forEach(d=>{c.push(r.name+" "+d)}),c}function la(t){let n=j(t),e=B(n.chroma);return C().filter(r=>e(r.chroma)).map(r=>r.aliases[0])}function Yn(t){let n=it(t)?t:j(t).chroma,e=U(n);return E().filter(r=>e(r.chroma)).map(r=>r.name)}function da(t){let n=B(j(t).chroma);return E().filter(e=>n(e.chroma)).map(e=>e.name)}function te(t){let n=t.map(o=>s(o).pc).filter(o=>o),e=n[0],r=Ut(n);return x(r.indexOf(e),r)}function fa(t){let n=j(t);if(n.empty)return[];let e=n.tonic?n.notes:n.intervals;return W(n.chroma).map((r,o)=>{let a=j(r).name;return a?[e[o],a]:["",""]}).filter(r=>r[0])}function pa(t){let n=Array.isArray(t)?te(t):j(t).notes,e=n.map(r=>s(r).chroma);return r=>{let o=typeof r=="number"?s(zt(r)):s(r),a=o.height;if(a===void 0)return;let m=a%12,i=e.indexOf(m);if(i!==-1)return Ht(o.name,n[i])}}function Ma(t){let n=pa(t);return(e,r)=>{let o=s(e).height,a=s(r).height;return o===void 0||a===void 0?[]:O(o,a).map(n).filter(m=>m)}}function Pa(t){let{intervals:n,tonic:e}=j(t),r=V(n,e);return o=>o?r(o>0?o-1:o):""}function ha(t){let{intervals:n,tonic:e}=j(t);return V(n,e)}var ne={degrees:Pa,detect:ua,extended:Yn,get:j,modeNames:fa,names:sa,rangeOf:Ma,reduced:da,scaleChords:la,scaleNotes:te,steps:ha,tokenize:Wn,scale:ca};var va={empty:!0,name:"",upper:void 0,lower:void 0,type:void 0,additive:[]},ya=["4/4","3/4","2/4","2/2","12/8","9/8","6/8","3/8"];function ba(){return ya.slice()}var Aa=/^(\d*\d(?:\+\d)*)\/(\d+)$/,ee=new Map;function ga(t){let n=JSON.stringify(t),e=ee.get(n);if(e)return e;let r=Ia(Zt(t));return ee.set(n,r),r}function Zt(t){if(typeof t=="string"){let[a,m,i]=Aa.exec(t)||[];return Zt([m,i])}let[n,e]=t,r=+e;if(typeof n=="number")return[n,r];let o=n.split("+").map(a=>+a);return o.length===1?[o[0],r]:[o,r]}var re={names:ba,parse:Zt,get:ga},Na=t=>Math.log(t)/Math.log(2)%1===0;function Ia([t,n]){let e=Array.isArray(t)?t.reduce((i,c)=>i+c,0):t,r=n;if(e===0||r===0)return va;let o=Array.isArray(t)?`${t.join("+")}/${n}`:`${t}/${n}`,a=Array.isArray(t)?t:[],m=r===4||r===2?"simple":r===8&&e%3===0?"compound":Na(r)?"irregular":"irrational";return{empty:!1,name:o,type:m,upper:e,lower:r,additive:a}}var Sa=(t,n)=>{if(!n||!n.length)return t[0];let e=o=>v.midi(o[o.length-1])||0,r=o=>Math.abs(e(n)-e(o));return t.sort((o,a)=>r(o)-r(a))[0]},bt={topNoteDiff:Sa};var Ta={M:["1P 3M 5P","3M 5P 8P","5P 8P 10M"],m:["1P 3m 5P","3m 5P 8P","5P 8P 10m"],o:["1P 3m 5d","3m 5d 8P","5d 8P 10m"],aug:["1P 3m 5A","3m 5A 8P","5A 8P 10m"]},oe={m7:["3m 5P 7m 9M","7m 9M 10m 12P"],7:["3M 6M 7m 9M","7m 9M 10M 13M"],"^7":["3M 5P 7M 9M","7M 9M 10M 12P"],69:["3M 5P 6A 9M"],m7b5:["3m 5d 7m 8P","7m 8P 10m 12d"],"7b9":["3M 6m 7m 9m","7m 9m 10M 13m"],"7b13":["3M 6m 7m 9m","7m 9m 10M 13m"],o7:["1P 3m 5d 6M","5d 6M 8P 10m"],"7#11":["7m 9M 11A 13A"],"7#9":["3M 7m 9A"],mM7:["3m 5P 7M 9M","7M 9M 10m 12P"],m6:["3m 5P 6M 9M","6M 9M 10m 12P"]},ja={M:["1P 3M 5P","3M 5P 8P","5P 8P 10M"],m:["1P 3m 5P","3m 5P 8P","5P 8P 10m"],o:["1P 3m 5d","3m 5d 8P","5d 8P 10m"],aug:["1P 3m 5A","3m 5A 8P","5A 8P 10m"],m7:["3m 5P 7m 9M","7m 9M 10m 12P"],7:["3M 6M 7m 9M","7m 9M 10M 13M"],"^7":["3M 5P 7M 9M","7M 9M 10M 12P"],69:["3M 5P 6A 9M"],m7b5:["3m 5d 7m 8P","7m 8P 10m 12d"],"7b9":["3M 6m 7m 9m","7m 9m 10M 13m"],"7b13":["3M 6m 7m 9m","7m 9m 10M 13m"],o7:["1P 3m 5d 6M","5d 6M 8P 10m"],"7#11":["7m 9M 11A 13A"],"7#9":["3M 7m 9A"],mM7:["3m 5P 7M 9M","7M 9M 10m 12P"],m6:["3m 5P 6M 9M","6M 9M 10m 12P"]},ae=oe;function xa(t,n=ae){if(n[t])return n[t];let{aliases:e}=X.get("C"+t),r=Object.keys(n).find(o=>e.includes(o))||"";if(r!==void 0)return n[r]}var Q={lookup:xa,lefthand:oe,triads:Ta,all:ja,defaultDictionary:ae};var Wt=["C3","C5"],me=Q.all,ie=bt.topNoteDiff;function se(t,n=Wt,e=me,r=ie,o){let a=ce(t,n,e);return!o||!o.length?a[0]:r(a,o)}function ce(t,n=Wt,e=Q.triads){let[r,o]=X.tokenize(t),a=Q.lookup(o,e);if(!a)return[];let m=a.map(c=>c.split(" ")),i=yt.chromatic(n);return m.reduce((c,d)=>{let h=d.map(M=>pt.substract(M,d[0])||""),b=v.transpose(r,d[0]),N=i.filter(M=>v.chroma(M)===v.chroma(b)).filter(M=>(v.midi(v.transpose(M,h[h.length-1]))||0)<=(v.midi(n[1])||0)).map(M=>v.enharmonic(M,b)).map(M=>h.map(et=>v.transpose(M,et)));return c.concat(N)},[])}function Ca(t,n=Wt,e=me,r=ie,o){let{voicings:a}=t.reduce(({voicings:m,lastVoicing:i},c)=>{let d=se(c,n,e,r,i);return i=d,m.push(d),{voicings:m,lastVoicing:i}},{voicings:[],lastVoicing:o});return a}var ue={get:se,search:ce,sequence:Ca};var Ea=at,Da=Dt,_a=_t,wa=Ft;return Me(Va);})();
|
|
1
|
+
"use strict";var Tonal=(()=>{var Nt=Object.defineProperty;var Ae=Object.getOwnPropertyDescriptor;var Ne=Object.getOwnPropertyNames;var Ie=Object.prototype.hasOwnProperty;var It=(t,n)=>{for(var e in n)Nt(t,e,{get:n[e],enumerable:!0})},Se=(t,n,e,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of Ne(n))!Ie.call(t,o)&&o!==e&&Nt(t,o,{get:()=>n[o],enumerable:!(r=Ae(n,o))||r.enumerable});return t};var Te=t=>Se(Nt({},"__esModule",{value:!0}),t);var Ya={};It(Ya,{AbcNotation:()=>yn,Array:()=>Dt,Chord:()=>Q,ChordDictionary:()=>Za,ChordType:()=>Ft,Collection:()=>jn,Core:()=>st,DurationValue:()=>On,Interval:()=>dt,Key:()=>Wn,Midi:()=>qn,Mode:()=>re,Note:()=>y,PcSet:()=>Qa,Pcset:()=>Vt,Progression:()=>oe,Range:()=>gt,RomanNumeral:()=>Jn,Scale:()=>ce,ScaleDictionary:()=>Wa,ScaleType:()=>Gt,TimeSignature:()=>le,Tonal:()=>Ja,VoiceLeading:()=>At,Voicing:()=>ve,VoicingDictionary:()=>Z,accToAlt:()=>q,altToAcc:()=>V,chroma:()=>on,coordToInterval:()=>$,coordToNote:()=>ot,coordinates:()=>w,deprecate:()=>P,distance:()=>A,fillStr:()=>Sn,height:()=>St,interval:()=>d,isNamed:()=>it,isNamedPitch:()=>S,isPitch:()=>T,midi:()=>an,note:()=>s,pitch:()=>k,stepToLetter:()=>Ct,tokenizeInterval:()=>jt,tokenizeNote:()=>U,tonicIntervalsTransposer:()=>F,transpose:()=>u});function S(t){return t!==null&&typeof t=="object"&&"name"in t&&typeof t.name=="string"}var rn=[0,2,4,5,7,9,11],on=({step:t,alt:n})=>(rn[t]+n+120)%12,St=({step:t,alt:n,oct:e,dir:r=1})=>r*(rn[t]+n+12*(e===void 0?-100:e)),an=t=>{let n=St(t);return t.oct!==void 0&&n>=-12&&n<=115?n+12:null};function T(t){return t!==null&&typeof t=="object"&&"step"in t&&typeof t.step=="number"&&"alt"in t&&typeof t.alt=="number"&&!isNaN(t.step)&&!isNaN(t.alt)}var mn=[0,2,4,-1,1,3,5],sn=mn.map(t=>Math.floor(t*7/12));function w(t){let{step:n,alt:e,oct:r,dir:o=1}=t,a=mn[n]+7*e;if(r===void 0)return[o*a];let m=r-sn[n]-4*e;return[o*a,o*m]}var je=[3,0,4,1,5,2,6];function k(t){let[n,e,r]=t,o=je[xe(n)],a=Math.floor((n+1)/7);if(e===void 0)return{step:o,alt:a,dir:r};let m=e+4*a+sn[o];return{step:o,alt:a,oct:m,dir:r}}function xe(t){let n=(t+1)%7;return n<0?7+n:n}var cn=(t,n)=>Array(Math.abs(n)+1).join(t),Tt=Object.freeze({empty:!0,name:"",num:NaN,q:"",type:"",step:NaN,alt:NaN,dir:NaN,simple:NaN,semitones:NaN,chroma:NaN,coord:[],oct:NaN}),Ce="([-+]?\\d+)(d{1,4}|m|M|P|A{1,4})",Ee="(AA|A|P|M|m|d|dd)([-+]?\\d+)",De=new RegExp("^"+Ce+"|"+Ee+"$");function jt(t){let n=De.exec(`${t}`);return n===null?["",""]:n[1]?[n[1],n[2]]:[n[4],n[3]]}var un={};function d(t){return typeof t=="string"?un[t]||(un[t]=_e(t)):T(t)?d(Ve(t)):S(t)?d(t.name):Tt}var ln=[0,2,4,5,7,9,11],fn="PMMPPMM";function _e(t){let n=jt(t);if(n[0]==="")return Tt;let e=+n[0],r=n[1],o=(Math.abs(e)-1)%7,a=fn[o];if(a==="M"&&r==="P")return Tt;let m=a==="M"?"majorable":"perfectable",i=""+e+r,c=e<0?-1:1,f=e===8||e===-8?e:c*(o+1),p=we(m,r),v=Math.floor((Math.abs(e)-1)/7),l=c*(ln[o]+p+12*v),b=(c*(ln[o]+p)%12+12)%12,M=w({step:o,alt:p,oct:v,dir:c});return{empty:!1,name:i,num:e,q:r,step:o,alt:p,dir:c,type:m,simple:f,semitones:l,chroma:b,coord:M,oct:v}}function $(t,n){let[e,r=0]=t,o=e*7+r*12<0,a=n||o?[-e,-r,-1]:[e,r,1];return d(k(a))}function we(t,n){return n==="M"&&t==="majorable"||n==="P"&&t==="perfectable"?0:n==="m"&&t==="majorable"?-1:/^A+$/.test(n)?n.length:/^d+$/.test(n)?-1*(t==="perfectable"?n.length:n.length+1):0}function Ve(t){let{step:n,alt:e,oct:r=0,dir:o}=t;if(!o)return"";let a=n+1+7*r,m=a===0?n+1:a,i=o<0?"-":"",c=fn[n]==="M"?"majorable":"perfectable";return i+m+Fe(c,e)}function Fe(t,n){return n===0?t==="majorable"?"M":"P":n===-1&&t==="majorable"?"m":n>0?cn("A",n):cn("d",t==="perfectable"?n:n+1)}var dn=(t,n)=>Array(Math.abs(n)+1).join(t),Mn=Object.freeze({empty:!0,name:"",letter:"",acc:"",pc:"",step:NaN,alt:NaN,chroma:NaN,height:NaN,coord:[],midi:null,freq:null}),pn=new Map,Ct=t=>"CDEFGAB".charAt(t),V=t=>t<0?dn("b",-t):dn("#",t),q=t=>t[0]==="b"?-t.length:t.length;function s(t){let n=JSON.stringify(t),e=pn.get(n);if(e)return e;let r=typeof t=="string"?ke(t):T(t)?s($e(t)):S(t)?s(t.name):Mn;return pn.set(n,r),r}var Re=/^([a-gA-G]?)(#{1,}|b{1,}|x{1,}|)(-?\d*)\s*(.*)$/;function U(t){let n=Re.exec(t);return n?[n[1].toUpperCase(),n[2].replace(/x/g,"##"),n[3],n[4]]:["","","",""]}function ot(t){return s(k(t))}var Oe=(t,n)=>(t%n+n)%n,xt=[0,2,4,5,7,9,11];function ke(t){let n=U(t);if(n[0]===""||n[3]!=="")return Mn;let e=n[0],r=n[1],o=n[2],a=(e.charCodeAt(0)+3)%7,m=q(r),i=o.length?+o:void 0,c=w({step:a,alt:m,oct:i}),f=e+r+o,p=e+r,v=(xt[a]+m+120)%12,l=i===void 0?Oe(xt[a]+m,12)-12*99:xt[a]+m+12*(i+1),b=l>=0&&l<=127?l:null,M=i===void 0?null:Math.pow(2,(l-69)/12)*440;return{empty:!1,acc:r,alt:m,chroma:v,coord:c,freq:M,height:l,letter:e,midi:b,name:f,oct:i,pc:p,step:a}}function $e(t){let{step:n,alt:e,oct:r}=t,o=Ct(n);if(!o)return"";let a=o+V(e);return r||r===0?a+r:a}function u(t,n){let e=s(t),r=Array.isArray(n)?n:d(n).coord;if(e.empty||!r||r.length<2)return"";let o=e.coord,a=o.length===1?[o[0]+r[0]]:[o[0]+r[0],o[1]+r[1]];return ot(a).name}function F(t,n){let e=t.length;return r=>{if(!n)return"";let o=r<0?(e- -r%e)%e:r%e,a=Math.floor(r/e),m=u(n,[0,a]);return u(m,t[o])}}function A(t,n){let e=s(t),r=s(n);if(e.empty||r.empty)return"";let o=e.coord,a=r.coord,m=a[0]-o[0],i=o.length===2&&a.length===2?a[1]-o[1]:-Math.floor(m*7/12),c=r.height===e.height&&r.midi!==null&&e.midi!==null&&e.step>r.step;return $([m,i],c).name}var Pn=(t,n)=>Array(n+1).join(t),qe=/^(_{1,}|=|\^{1,}|)([abcdefgABCDEFG])([,']*)$/;function hn(t){let n=qe.exec(t);return n?[n[1],n[2],n[3]]:["","",""]}function at(t){let[n,e,r]=hn(t);if(e==="")return"";let o=4;for(let m=0;m<r.length;m++)o+=r.charAt(m)===","?-1:1;let a=n[0]==="_"?n.replace(/_/g,"b"):n[0]==="^"?n.replace(/\^/g,"#"):"";return e.charCodeAt(0)>96?e.toUpperCase()+a+(o+1):e+a+o}function vn(t){let n=s(t);if(n.empty||!n.oct&&n.oct!==0)return"";let{letter:e,acc:r,oct:o}=n,a=r[0]==="b"?r.replace(/b/g,"_"):r.replace(/#/g,"^"),m=o>4?e.toLowerCase():e,i=o===5?"":o>4?Pn("'",o-5):Pn(",",4-o);return a+m+i}function Ge(t,n){return vn(u(at(t),n))}function Le(t,n){return A(at(t),at(n))}var yn={abcToScientificNotation:at,scientificToAbcNotation:vn,tokenize:hn,transpose:Ge,distance:Le};var Dt={};It(Dt,{compact:()=>nr,permutations:()=>In,range:()=>Ye,rotate:()=>tr,shuffle:()=>rr,sortedNoteNames:()=>Nn,sortedUniqNoteNames:()=>er});var bn=(t,n)=>Array(Math.abs(n)+1).join(t),An={empty:!0,name:"",pc:"",acc:""},gn=new Map,ze=t=>"CDEFGAB".charAt(t),Be=t=>t<0?bn("b",-t):bn("#",t),Ue=t=>t[0]==="b"?-t.length:t.length;function mt(t){let n=JSON.stringify(t),e=gn.get(n);if(e)return e;let r=typeof t=="string"?Je(t):T(t)?mt(Qe(t)):S(t)?mt(t.name):An;return gn.set(n,r),r}var He=/^([a-gA-G]?)(#{1,}|b{1,}|x{1,}|)(-?\d*)\s*(.*)$/;function Xe(t){let n=He.exec(t);return[n[1].toUpperCase(),n[2].replace(/x/g,"##"),n[3],n[4]]}var Ke=(t,n)=>(t%n+n)%n,Et=[0,2,4,5,7,9,11];function Je(t){let n=Xe(t);if(n[0]===""||n[3]!=="")return An;let e=n[0],r=n[1],o=n[2],a=(e.charCodeAt(0)+3)%7,m=Ue(r),i=o.length?+o:void 0,c=w({step:a,alt:m,oct:i}),f=e+r+o,p=e+r,v=(Et[a]+m+120)%12,l=i===void 0?Ke(Et[a]+m,12)-12*99:Et[a]+m+12*(i+1),b=l>=0&&l<=127?l:null,M=i===void 0?null:Math.pow(2,(l-69)/12)*440;return{empty:!1,acc:r,alt:m,chroma:v,coord:c,freq:M,height:l,letter:e,midi:b,name:f,oct:i,pc:p,step:a}}function Qe(t){let{step:n,alt:e,oct:r}=t,o=ze(n);if(!o)return"";let a=o+Be(e);return r||r===0?a+r:a}function Ze(t,n){let e=[];for(;n--;e[n]=n+t);return e}function We(t,n){let e=[];for(;n--;e[n]=t-n);return e}function Ye(t,n){return t<n?Ze(t,n-t+1):We(t,t-n+1)}function tr(t,n){let e=n.length,r=(t%e+e)%e;return n.slice(r,e).concat(n.slice(0,r))}function nr(t){return t.filter(n=>n===0||n)}function Nn(t){return t.map(e=>mt(e)).filter(e=>!e.empty).sort((e,r)=>e.height-r.height).map(e=>e.name)}function er(t){return Nn(t).filter((n,e,r)=>e===0||n!==r[e-1])}function rr(t,n=Math.random){let e,r,o=t.length;for(;o;)e=Math.floor(n()*o--),r=t[o],t[o]=t[e],t[e]=r;return t}function In(t){return t.length===0?[[]]:In(t.slice(1)).reduce((n,e)=>n.concat(t.map((r,o)=>{let a=e.slice();return a.splice(o,0,t[0]),a})),[])}var st={};It(st,{accToAlt:()=>q,altToAcc:()=>V,chroma:()=>on,coordToInterval:()=>$,coordToNote:()=>ot,coordinates:()=>w,deprecate:()=>P,distance:()=>A,fillStr:()=>Sn,height:()=>St,interval:()=>d,isNamed:()=>it,isNamedPitch:()=>S,isPitch:()=>T,midi:()=>an,note:()=>s,pitch:()=>k,stepToLetter:()=>Ct,tokenizeInterval:()=>jt,tokenizeNote:()=>U,tonicIntervalsTransposer:()=>F,transpose:()=>u});var Sn=(t,n)=>Array(Math.abs(n)+1).join(t);function P(t,n,e){return function(...r){return console.warn(`${t} is deprecated. Use ${n}.`),e.apply(this,r)}}var it=P("isNamed","isNamedPitch",S);function or(t,n){let e=[];for(;n--;e[n]=n+t);return e}function ar(t,n){let e=[];for(;n--;e[n]=t-n);return e}function G(t,n){return t<n?or(t,n-t+1):ar(t,t-n+1)}function E(t,n){let e=n.length,r=(t%e+e)%e;return n.slice(r,e).concat(n.slice(0,r))}function W(t){return t.filter(n=>n===0||n)}function mr(t,n=Math.random){let e,r,o=t.length;for(;o;)e=Math.floor(n()*o--),r=t[o],t[o]=t[e],t[e]=r;return t}function Tn(t){return t.length===0?[[]]:Tn(t.slice(1)).reduce((n,e)=>n.concat(t.map((r,o)=>{let a=e.slice();return a.splice(o,0,t[0]),a})),[])}var jn={compact:W,permutations:Tn,range:G,rotate:E,shuffle:mr};var j={empty:!0,name:"",setNum:0,chroma:"000000000000",normalized:"000000000000",intervals:[]},_t=t=>Number(t).toString(2).padStart(12,"0"),xn=t=>parseInt(t,2),ir=/^[01]{12}$/;function ct(t){return ir.test(t)}var sr=t=>typeof t=="number"&&t>=0&&t<=4095,cr=t=>t&&ct(t.chroma),Cn={[j.chroma]:j};function h(t){let n=ct(t)?t:sr(t)?_t(t):Array.isArray(t)?gr(t):cr(t)?t.chroma:j.chroma;return Cn[n]=Cn[n]||br(n)}var ur=P("Pcset.pcset","Pcset.get",h),wt=t=>h(t).chroma,lr=t=>h(t).intervals,fr=t=>h(t).setNum,dr=["1P","2m","2M","3m","3M","4P","5d","5P","6m","6M","7m","7M"];function pr(t){let n=[];for(let e=0;e<12;e++)t.charAt(e)==="1"&&n.push(dr[e]);return n}function Mr(t){return h(t).intervals.map(n=>u("C",n))}function Pr(){return G(2048,4095).map(_t)}function Y(t,n=!0){let r=h(t).chroma.split("");return W(r.map((o,a)=>{let m=E(a,r);return n&&m[0]==="0"?null:m.join("")}))}function hr(t,n){return h(t).setNum===h(n).setNum}function H(t){let n=h(t).setNum;return e=>{let r=h(e).setNum;return n&&n!==r&&(r&n)===r}}function X(t){let n=h(t).setNum;return e=>{let r=h(e).setNum;return n&&n!==r&&(r|n)===r}}function En(t){let n=h(t);return e=>{let r=s(e);return n&&!r.empty&&n.chroma.charAt(r.chroma)==="1"}}function vr(t){let n=En(t);return e=>e.filter(n)}var Vt={get:h,chroma:wt,num:fr,intervals:lr,chromas:Pr,isSupersetOf:X,isSubsetOf:H,isNoteIncludedIn:En,isEqual:hr,filter:vr,modes:Y,notes:Mr,pcset:ur};function yr(t){let n=t.split("");return n.map((e,r)=>E(r,n).join(""))}function br(t){let n=xn(t),e=yr(t).map(xn).filter(a=>a>=2048).sort()[0],r=_t(e),o=pr(t);return{empty:!1,name:"",setNum:n,chroma:t,normalized:r,intervals:o}}function gr(t){if(t.length===0)return j.chroma;let n,e=[0,0,0,0,0,0,0,0,0,0,0,0];for(let r=0;r<t.length;r++)n=s(t[r]),n.empty&&(n=d(t[r])),n.empty||(e[n.chroma]=1);return e.join("")}var Ar=[["1P 3M 5P","major","M ^ maj"],["1P 3M 5P 7M","major seventh","maj7 \u0394 ma7 M7 Maj7 ^7"],["1P 3M 5P 7M 9M","major ninth","maj9 \u03949 ^9"],["1P 3M 5P 7M 9M 13M","major thirteenth","maj13 Maj13 ^13"],["1P 3M 5P 6M","sixth","6 add6 add13 M6"],["1P 3M 5P 6M 9M","sixth added ninth","6add9 6/9 69 M69"],["1P 3M 6m 7M","major seventh flat sixth","M7b6 ^7b6"],["1P 3M 5P 7M 11A","major seventh sharp eleventh","maj#4 \u0394#4 \u0394#11 M7#11 ^7#11 maj7#11"],["1P 3m 5P","minor","m min -"],["1P 3m 5P 7m","minor seventh","m7 min7 mi7 -7"],["1P 3m 5P 7M","minor/major seventh","m/ma7 m/maj7 mM7 mMaj7 m/M7 -\u03947 m\u0394 -^7 -maj7"],["1P 3m 5P 6M","minor sixth","m6 -6"],["1P 3m 5P 7m 9M","minor ninth","m9 -9"],["1P 3m 5P 7M 9M","minor/major ninth","mM9 mMaj9 -^9"],["1P 3m 5P 7m 9M 11P","minor eleventh","m11 -11"],["1P 3m 5P 7m 9M 13M","minor thirteenth","m13 -13"],["1P 3m 5d","diminished","dim \xB0 o"],["1P 3m 5d 7d","diminished seventh","dim7 \xB07 o7"],["1P 3m 5d 7m","half-diminished","m7b5 \xF8 -7b5 h7 h"],["1P 3M 5P 7m","dominant seventh","7 dom"],["1P 3M 5P 7m 9M","dominant ninth","9"],["1P 3M 5P 7m 9M 13M","dominant thirteenth","13"],["1P 3M 5P 7m 11A","lydian dominant seventh","7#11 7#4"],["1P 3M 5P 7m 9m","dominant flat ninth","7b9"],["1P 3M 5P 7m 9A","dominant sharp ninth","7#9"],["1P 3M 7m 9m","altered","alt7"],["1P 4P 5P","suspended fourth","sus4 sus"],["1P 2M 5P","suspended second","sus2"],["1P 4P 5P 7m","suspended fourth seventh","7sus4 7sus"],["1P 5P 7m 9M 11P","eleventh","11"],["1P 4P 5P 7m 9m","suspended fourth flat ninth","b9sus phryg 7b9sus 7b9sus4"],["1P 5P","fifth","5"],["1P 3M 5A","augmented","aug + +5 ^#5"],["1P 3m 5A","minor augmented","m#5 -#5 m+"],["1P 3M 5A 7M","augmented seventh","maj7#5 maj7+5 +maj7 ^7#5"],["1P 3M 5P 7M 9M 11A","major sharp eleventh (lydian)","maj9#11 \u03949#11 ^9#11"],["1P 2M 4P 5P","","sus24 sus4add9"],["1P 3M 5A 7M 9M","","maj9#5 Maj9#5"],["1P 3M 5A 7m","","7#5 +7 7+ 7aug aug7"],["1P 3M 5A 7m 9A","","7#5#9 7#9#5 7alt"],["1P 3M 5A 7m 9M","","9#5 9+"],["1P 3M 5A 7m 9M 11A","","9#5#11"],["1P 3M 5A 7m 9m","","7#5b9 7b9#5"],["1P 3M 5A 7m 9m 11A","","7#5b9#11"],["1P 3M 5A 9A","","+add#9"],["1P 3M 5A 9M","","M#5add9 +add9"],["1P 3M 5P 6M 11A","","M6#11 M6b5 6#11 6b5"],["1P 3M 5P 6M 7M 9M","","M7add13"],["1P 3M 5P 6M 9M 11A","","69#11"],["1P 3m 5P 6M 9M","","m69 -69"],["1P 3M 5P 6m 7m","","7b6"],["1P 3M 5P 7M 9A 11A","","maj7#9#11"],["1P 3M 5P 7M 9M 11A 13M","","M13#11 maj13#11 M13+4 M13#4"],["1P 3M 5P 7M 9m","","M7b9"],["1P 3M 5P 7m 11A 13m","","7#11b13 7b5b13"],["1P 3M 5P 7m 13M","","7add6 67 7add13"],["1P 3M 5P 7m 9A 11A","","7#9#11 7b5#9 7#9b5"],["1P 3M 5P 7m 9A 11A 13M","","13#9#11"],["1P 3M 5P 7m 9A 11A 13m","","7#9#11b13"],["1P 3M 5P 7m 9A 13M","","13#9"],["1P 3M 5P 7m 9A 13m","","7#9b13"],["1P 3M 5P 7m 9M 11A","","9#11 9+4 9#4"],["1P 3M 5P 7m 9M 11A 13M","","13#11 13+4 13#4"],["1P 3M 5P 7m 9M 11A 13m","","9#11b13 9b5b13"],["1P 3M 5P 7m 9m 11A","","7b9#11 7b5b9 7b9b5"],["1P 3M 5P 7m 9m 11A 13M","","13b9#11"],["1P 3M 5P 7m 9m 11A 13m","","7b9b13#11 7b9#11b13 7b5b9b13"],["1P 3M 5P 7m 9m 13M","","13b9"],["1P 3M 5P 7m 9m 13m","","7b9b13"],["1P 3M 5P 7m 9m 9A","","7b9#9"],["1P 3M 5P 9M","","Madd9 2 add9 add2"],["1P 3M 5P 9m","","Maddb9"],["1P 3M 5d","","Mb5"],["1P 3M 5d 6M 7m 9M","","13b5"],["1P 3M 5d 7M","","M7b5"],["1P 3M 5d 7M 9M","","M9b5"],["1P 3M 5d 7m","","7b5"],["1P 3M 5d 7m 9M","","9b5"],["1P 3M 7m","","7no5"],["1P 3M 7m 13m","","7b13"],["1P 3M 7m 9M","","9no5"],["1P 3M 7m 9M 13M","","13no5"],["1P 3M 7m 9M 13m","","9b13"],["1P 3m 4P 5P","","madd4"],["1P 3m 5P 6m 7M","","mMaj7b6"],["1P 3m 5P 6m 7M 9M","","mMaj9b6"],["1P 3m 5P 7m 11P","","m7add11 m7add4"],["1P 3m 5P 9M","","madd9"],["1P 3m 5d 6M 7M","","o7M7"],["1P 3m 5d 7M","","oM7"],["1P 3m 6m 7M","","mb6M7"],["1P 3m 6m 7m","","m7#5"],["1P 3m 6m 7m 9M","","m9#5"],["1P 3m 5A 7m 9M 11P","","m11A"],["1P 3m 6m 9m","","mb6b9"],["1P 2M 3m 5d 7m","","m9b5"],["1P 4P 5A 7M","","M7#5sus4"],["1P 4P 5A 7M 9M","","M9#5sus4"],["1P 4P 5A 7m","","7#5sus4"],["1P 4P 5P 7M","","M7sus4"],["1P 4P 5P 7M 9M","","M9sus4"],["1P 4P 5P 7m 9M","","9sus4 9sus"],["1P 4P 5P 7m 9M 13M","","13sus4 13sus"],["1P 4P 5P 7m 9m 13m","","7sus4b9b13 7b9b13sus4"],["1P 4P 7m 10m","","4 quartal"],["1P 5P 7m 9m 11P","","11b9"]],Nr=Ar,Ir={...j,name:"",quality:"Unknown",intervals:[],aliases:[]},K=[],L={};function ut(t){return L[t]||Ir}var Sr=P("ChordType.chordType","ChordType.get",ut);function Tr(){return K.map(t=>t.name).filter(t=>t)}function jr(){return K.map(t=>t.aliases[0]).filter(t=>t)}function xr(){return Object.keys(L)}function D(){return K.slice()}var Cr=P("ChordType.entries","ChordType.all",D);function Er(){K=[],L={}}function Dn(t,n,e){let r=_r(t),o={...h(t),name:e||"",quality:r,intervals:t,aliases:n};K.push(o),o.name&&(L[o.name]=o),L[o.setNum]=o,L[o.chroma]=o,o.aliases.forEach(a=>Dr(o,a))}function Dr(t,n){L[n]=t}function _r(t){let n=e=>t.indexOf(e)!==-1;return n("5A")?"Augmented":n("3M")?"Major":n("5d")?"Diminished":n("3m")?"Minor":"Unknown"}Nr.forEach(([t,n,e])=>Dn(t.split(" "),e.split(" "),n));K.sort((t,n)=>t.setNum-n.setNum);var Ft={names:Tr,symbols:jr,get:ut,all:D,add:Dn,removeAll:Er,keys:xr,entries:Cr,chordType:Sr};var wr=t=>{let n=t.reduce((e,r)=>{let o=s(r).chroma;return o!==void 0&&(e[o]=e[o]||s(r).name),e},{});return e=>n[e]};function Rt(t,n={}){let e=t.map(o=>s(o).pc).filter(o=>o);return s.length===0?[]:qr(e,1,n).filter(o=>o.weight).sort((o,a)=>a.weight-o.weight).map(o=>o.name)}var lt={anyThirds:384,perfectFifth:16,nonPerfectFifths:40,anySeventh:3},ft=t=>n=>!!(n&t),Vr=ft(lt.anyThirds),Fr=ft(lt.perfectFifth),Rr=ft(lt.anySeventh),Or=ft(lt.nonPerfectFifths);function kr(t){let n=parseInt(t.chroma,2);return Vr(n)&&Fr(n)&&Rr(n)}function $r(t){let n=parseInt(t,2);return Or(n)?t:(n|16).toString(2)}function qr(t,n,e){let r=t[0],o=s(r).chroma,a=wr(t),m=Y(t,!1),i=[];return m.forEach((c,f)=>{let p=e.assumePerfectFifth&&$r(c);D().filter(l=>e.assumePerfectFifth&&kr(l)?l.chroma===p:l.chroma===c).forEach(l=>{let b=l.aliases[0],M=a(f);f!==o?i.push({weight:.5*n,name:`${M}${b}/${r}`}):i.push({weight:1*n,name:`${M}${b}`})})}),i}function Gr(){return"1P 2M 3M 4P 5P 6m 7m".split(" ")}var _n=d,Lr=t=>d(t).name,zr=t=>d(t).semitones,Br=t=>d(t).q,Ur=t=>d(t).num;function Ot(t){let n=d(t);return n.empty?"":n.simple+n.q}function Hr(t){let n=d(t);if(n.empty)return"";let e=(7-n.step)%7,r=n.type==="perfectable"?-n.alt:-(n.alt+1);return d({step:e,alt:r,oct:n.oct,dir:n.dir}).name}var Xr=[1,2,2,3,3,4,5,5,6,6,7,7],Kr="P m M m M P d P m M m M".split(" ");function Jr(t){let n=t<0?-1:1,e=Math.abs(t),r=e%12,o=Math.floor(e/12);return n*(Xr[r]+7*o)+Kr[r]}var Qr=A,wn=Vn((t,n)=>[t[0]+n[0],t[1]+n[1]]),Zr=t=>n=>wn(t,n),kt=Vn((t,n)=>[t[0]-n[0],t[1]-n[1]]);function $t(t,n){let e=_n(t);if(e.empty)return"";let[r,o,a]=e.coord;return $([r+n,o,a]).name}var dt={names:Gr,get:_n,name:Lr,num:Ur,semitones:zr,quality:Br,fromSemitones:Jr,distance:Qr,invert:Hr,simplify:Ot,add:wn,addTo:Zr,subtract:kt,transposeFifths:$t};function Vn(t){return(n,e)=>{let r=d(n).coord,o=d(e).coord;if(r&&o){let a=t(r,o);return $(a).name}}}var Wr=[["1P 2M 3M 5P 6M","major pentatonic","pentatonic"],["1P 2M 3M 4P 5P 6M 7M","major","ionian"],["1P 2M 3m 4P 5P 6m 7m","minor","aeolian"],["1P 2M 3m 3M 5P 6M","major blues"],["1P 3m 4P 5d 5P 7m","minor blues","blues"],["1P 2M 3m 4P 5P 6M 7M","melodic minor"],["1P 2M 3m 4P 5P 6m 7M","harmonic minor"],["1P 2M 3M 4P 5P 6M 7m 7M","bebop"],["1P 2M 3m 4P 5d 6m 6M 7M","diminished","whole-half diminished"],["1P 2M 3m 4P 5P 6M 7m","dorian"],["1P 2M 3M 4A 5P 6M 7M","lydian"],["1P 2M 3M 4P 5P 6M 7m","mixolydian","dominant"],["1P 2m 3m 4P 5P 6m 7m","phrygian"],["1P 2m 3m 4P 5d 6m 7m","locrian"],["1P 3M 4P 5P 7M","ionian pentatonic"],["1P 3M 4P 5P 7m","mixolydian pentatonic","indian"],["1P 2M 4P 5P 6M","ritusen"],["1P 2M 4P 5P 7m","egyptian"],["1P 3M 4P 5d 7m","neopolitan major pentatonic"],["1P 3m 4P 5P 6m","vietnamese 1"],["1P 2m 3m 5P 6m","pelog"],["1P 2m 4P 5P 6m","kumoijoshi"],["1P 2M 3m 5P 6m","hirajoshi"],["1P 2m 4P 5d 7m","iwato"],["1P 2m 4P 5P 7m","in-sen"],["1P 3M 4A 5P 7M","lydian pentatonic","chinese"],["1P 3m 4P 6m 7m","malkos raga"],["1P 3m 4P 5d 7m","locrian pentatonic","minor seven flat five pentatonic"],["1P 3m 4P 5P 7m","minor pentatonic","vietnamese 2"],["1P 3m 4P 5P 6M","minor six pentatonic"],["1P 2M 3m 5P 6M","flat three pentatonic","kumoi"],["1P 2M 3M 5P 6m","flat six pentatonic"],["1P 2m 3M 5P 6M","scriabin"],["1P 3M 5d 6m 7m","whole tone pentatonic"],["1P 3M 4A 5A 7M","lydian #5P pentatonic"],["1P 3M 4A 5P 7m","lydian dominant pentatonic"],["1P 3m 4P 5P 7M","minor #7M pentatonic"],["1P 3m 4d 5d 7m","super locrian pentatonic"],["1P 2M 3m 4P 5P 7M","minor hexatonic"],["1P 2A 3M 5P 5A 7M","augmented"],["1P 2M 4P 5P 6M 7m","piongio"],["1P 2m 3M 4A 6M 7m","prometheus neopolitan"],["1P 2M 3M 4A 6M 7m","prometheus"],["1P 2m 3M 5d 6m 7m","mystery #1"],["1P 2m 3M 4P 5A 6M","six tone symmetric"],["1P 2M 3M 4A 5A 6A","whole tone","messiaen's mode #1"],["1P 2m 4P 4A 5P 7M","messiaen's mode #5"],["1P 2M 3M 4P 5d 6m 7m","locrian major","arabian"],["1P 2m 3M 4A 5P 6m 7M","double harmonic lydian"],["1P 2m 2A 3M 4A 6m 7m","altered","super locrian","diminished whole tone","pomeroy"],["1P 2M 3m 4P 5d 6m 7m","locrian #2","half-diminished","aeolian b5"],["1P 2M 3M 4P 5P 6m 7m","mixolydian b6","melodic minor fifth mode","hindu"],["1P 2M 3M 4A 5P 6M 7m","lydian dominant","lydian b7","overtone"],["1P 2M 3M 4A 5A 6M 7M","lydian augmented"],["1P 2m 3m 4P 5P 6M 7m","dorian b2","phrygian #6","melodic minor second mode"],["1P 2m 3m 4d 5d 6m 7d","ultralocrian","superlocrian bb7","superlocrian diminished"],["1P 2m 3m 4P 5d 6M 7m","locrian 6","locrian natural 6","locrian sharp 6"],["1P 2A 3M 4P 5P 5A 7M","augmented heptatonic"],["1P 2M 3m 4A 5P 6M 7m","dorian #4","ukrainian dorian","romanian minor","altered dorian"],["1P 2M 3m 4A 5P 6M 7M","lydian diminished"],["1P 2M 3M 4A 5A 7m 7M","leading whole tone"],["1P 2M 3M 4A 5P 6m 7m","lydian minor"],["1P 2m 3M 4P 5P 6m 7m","phrygian dominant","spanish","phrygian major"],["1P 2m 3m 4P 5P 6m 7M","balinese"],["1P 2m 3m 4P 5P 6M 7M","neopolitan major"],["1P 2M 3M 4P 5P 6m 7M","harmonic major"],["1P 2m 3M 4P 5P 6m 7M","double harmonic major","gypsy"],["1P 2M 3m 4A 5P 6m 7M","hungarian minor"],["1P 2A 3M 4A 5P 6M 7m","hungarian major"],["1P 2m 3M 4P 5d 6M 7m","oriental"],["1P 2m 3m 3M 4A 5P 7m","flamenco"],["1P 2m 3m 4A 5P 6m 7M","todi raga"],["1P 2m 3M 4P 5d 6m 7M","persian"],["1P 2m 3M 5d 6m 7m 7M","enigmatic"],["1P 2M 3M 4P 5A 6M 7M","major augmented","major #5","ionian augmented","ionian #5"],["1P 2A 3M 4A 5P 6M 7M","lydian #9"],["1P 2m 2M 4P 4A 5P 6m 7M","messiaen's mode #4"],["1P 2m 3M 4P 4A 5P 6m 7M","purvi raga"],["1P 2m 3m 3M 4P 5P 6m 7m","spanish heptatonic"],["1P 2M 3m 3M 4P 5P 6M 7m","bebop minor"],["1P 2M 3M 4P 5P 5A 6M 7M","bebop major"],["1P 2m 3m 4P 5d 5P 6m 7m","bebop locrian"],["1P 2M 3m 4P 5P 6m 7m 7M","minor bebop"],["1P 2M 3M 4P 5d 5P 6M 7M","ichikosucho"],["1P 2M 3m 4P 5P 6m 6M 7M","minor six diminished"],["1P 2m 3m 3M 4A 5P 6M 7m","half-whole diminished","dominant diminished","messiaen's mode #2"],["1P 3m 3M 4P 5P 6M 7m 7M","kafi raga"],["1P 2M 3M 4P 4A 5A 6A 7M","messiaen's mode #6"],["1P 2M 3m 3M 4P 5d 5P 6M 7m","composite blues"],["1P 2M 3m 3M 4A 5P 6m 7m 7M","messiaen's mode #3"],["1P 2m 2M 3m 4P 4A 5P 6m 6M 7M","messiaen's mode #7"],["1P 2m 2M 3m 3M 4P 5d 5P 6m 6M 7m 7M","chromatic"]],Yr=Wr,to={...j,intervals:[],aliases:[]},pt=[],z={};function qt(){return pt.map(t=>t.name)}function J(t){return z[t]||to}var no=P("ScaleDictionary.scaleType","ScaleType.get",J);function _(){return pt.slice()}var eo=P("ScaleDictionary.entries","ScaleType.all",_);function ro(){return Object.keys(z)}function oo(){pt=[],z={}}function Fn(t,n,e=[]){let r={...h(t),name:n,intervals:t,aliases:e};return pt.push(r),z[r.name]=r,z[r.setNum]=r,z[r.chroma]=r,r.aliases.forEach(o=>ao(r,o)),r}function ao(t,n){z[n]=t}Yr.forEach(([t,n,...e])=>Fn(t.split(" "),n,e));var Gt={names:qt,get:J,all:_,add:Fn,removeAll:oo,keys:ro,entries:eo,scaleType:no};var Rn={empty:!0,name:"",symbol:"",root:"",bass:"",rootDegree:0,type:"",tonic:null,setNum:NaN,quality:"Unknown",chroma:"",normalized:"",aliases:[],notes:[],intervals:[]};function tt(t){let[n,e,r,o]=U(t);return n===""?Lt("",t):n==="A"&&o==="ug"?Lt("","aug"):Lt(n+e,r+o)}function Lt(t,n){let e=n.split("/");if(e.length===1)return[t,e[0],""];let[r,o,a,m]=U(e[1]);return r!==""&&a===""&&m===""?[t,e[0],r+o]:[t,n,""]}function R(t){if(Array.isArray(t))return Mt(t[1]||"",t[0],t[2]);if(t==="")return Rn;{let[n,e,r]=tt(t),o=Mt(e,n,r);return o.empty?Mt(t):o}}function Mt(t,n,e){let r=ut(t),o=s(n||""),a=s(e||"");if(r.empty||n&&o.empty||e&&a.empty)return Rn;let m=A(o.pc,a.pc),i=r.intervals.indexOf(m),c=i>=0,f=c?a:s(""),p=i===-1?NaN:i+1,v=a.pc&&a.pc!==o.pc,l=Array.from(r.intervals);if(c)for(let O=1;O<p;O++){let ye=l[0][0],be=l[0][1],ge=parseInt(ye,10)+7;l.push(`${ge}${be}`),l.shift()}else if(v){let O=kt(A(o.pc,a.pc),"8P");O&&l.unshift(O)}let b=o.empty?[]:l.map(O=>u(o.pc,O));t=r.aliases.indexOf(t)!==-1?t:r.aliases[0];let M=`${o.empty?"":o.pc}${t}${c&&p>1?"/"+f.pc:v?"/"+a.pc:""}`,rt=`${n?o.pc+" ":""}${r.name}${c&&p>1?" over "+f.pc:v?" over "+a.pc:""}`;return{...r,name:rt,symbol:M,tonic:o.pc,type:r.name,root:f.pc,bass:v?a.pc:"",intervals:l,rootDegree:p,notes:b}}var mo=R;function io(t,n){let[e,r,o]=tt(t);if(!e)return t;let a=u(o,n),m=a?"/"+a:"";return u(e,n)+r+m}function so(t){let n=R(t),e=X(n.chroma);return _().filter(r=>e(r.chroma)).map(r=>r.name)}function co(t){let n=R(t),e=X(n.chroma);return D().filter(r=>e(r.chroma)).map(r=>n.tonic+r.aliases[0])}function uo(t){let n=R(t),e=H(n.chroma);return D().filter(r=>e(r.chroma)).map(r=>n.tonic+r.aliases[0])}function lo(t,n){let e=R(t),r=n||e.tonic;return!r||e.empty?[]:e.intervals.map(o=>u(r,o))}function fo(t,n){let e=R(t),r=n||e.tonic,o=F(e.intervals,r);return a=>a?o(a>0?a-1:a):""}function po(t,n){let e=R(t),r=n||e.tonic;return F(e.intervals,r)}var Q={getChord:Mt,get:R,detect:Rt,chordScales:so,extended:co,reduced:uo,tokenize:tt,transpose:io,degrees:fo,steps:po,notes:lo,chord:mo};var Mo=[[.125,"dl",["large","duplex longa","maxima","octuple","octuple whole"]],[.25,"l",["long","longa"]],[.5,"d",["double whole","double","breve"]],[1,"w",["whole","semibreve"]],[2,"h",["half","minim"]],[4,"q",["quarter","crotchet"]],[8,"e",["eighth","quaver"]],[16,"s",["sixteenth","semiquaver"]],[32,"t",["thirty-second","demisemiquaver"]],[64,"sf",["sixty-fourth","hemidemisemiquaver"]],[128,"h",["hundred twenty-eighth"]],[256,"th",["two hundred fifty-sixth"]]],Po=Mo,Pt=[];Po.forEach(([t,n,e])=>No(t,n,e));var ho={empty:!0,name:"",value:0,fraction:[0,0],shorthand:"",dots:"",names:[]};function vo(){return Pt.reduce((t,n)=>(n.names.forEach(e=>t.push(e)),t),[])}function yo(){return Pt.map(t=>t.shorthand)}var bo=/^([^.]+)(\.*)$/;function zt(t){let[n,e,r]=bo.exec(t)||[],o=Pt.find(i=>i.shorthand===e||i.names.includes(e));if(!o)return ho;let a=Io(o.fraction,r.length),m=a[0]/a[1];return{...o,name:t,dots:r,value:m,fraction:a}}var go=t=>zt(t).value,Ao=t=>zt(t).fraction,On={names:vo,shorthands:yo,get:zt,value:go,fraction:Ao};function No(t,n,e){Pt.push({empty:!1,dots:"",name:"",value:1/t,fraction:t<1?[1/t,1]:[1,t],shorthand:n,names:e})}function Io(t,n){let e=Math.pow(2,n),r=t[0]*e,o=t[1]*e,a=r;for(let m=0;m<n;m++)r+=a/Math.pow(2,m+1);for(;r%2===0&&o%2===0;)r/=2,o/=2;return[r,o]}function kn(t){return+t>=0&&+t<=127}function Bt(t){if(kn(t))return+t;let n=s(t);return n.empty?null:n.midi}function So(t,n=440){return Math.pow(2,(t-69)/12)*n}var To=Math.log(2),jo=Math.log(440);function ht(t){let n=12*(Math.log(t)-jo)/To+69;return Math.round(n*100)/100}var xo="C C# D D# E F F# G G# A A# B".split(" "),Co="C Db D Eb E F Gb G Ab A Bb B".split(" ");function x(t,n={}){if(isNaN(t)||t===-1/0||t===1/0)return"";t=Math.round(t);let r=(n.sharps===!0?xo:Co)[t%12];if(n.pitchClass)return r;let o=Math.floor(t/12)-1;return r+o}function Ut(t){return t%12}function Eo(t){return t.split("").reduce((n,e,r)=>(r<12&&e==="1"&&n.push(r),n),[])}function Do(t){return t.map(Ut).sort((n,e)=>n-e).filter((n,e,r)=>e===0||n!==r[e-1])}function Ht(t){return Array.isArray(t)?Do(t):Eo(t)}function _o(t){let n=Ht(t);return e=>{let r=Ut(e);for(let o=0;o<12;o++){if(n.includes(r+o))return e+o;if(n.includes(r-o))return e-o}}}function $n(t,n){let e=Ht(t),r=e.length;return o=>{let a=o<0?(r- -o%r)%r:o%r,m=Math.floor(o/r);return e[a]+m*12+n}}function wo(t,n){let e=$n(t,n);return r=>{if(r!==0)return e(r>0?r-1:r)}}var qn={chroma:Ut,freqToMidi:ht,isMidi:kn,midiToFreq:So,midiToNoteName:x,pcsetNearest:_o,pcset:Ht,pcsetDegrees:wo,pcsetSteps:$n,toMidi:Bt};var Vo=["C","D","E","F","G","A","B"],Gn=t=>t.name,Ln=t=>t.map(s).filter(n=>!n.empty);function Fo(t){return t===void 0?Vo.slice():Array.isArray(t)?Ln(t).map(Gn):[]}var N=s,Ro=t=>N(t).name,Oo=t=>N(t).pc,ko=t=>N(t).acc,$o=t=>N(t).oct,qo=t=>N(t).midi,Go=t=>N(t).freq,Lo=t=>N(t).chroma;function Xt(t){return x(t)}function zo(t){return x(ht(t))}function Bo(t){return x(ht(t),{sharps:!0})}function Uo(t){return x(t,{sharps:!0})}var nt=u,Ho=u,zn=t=>n=>nt(n,t),Xo=zn,Bn=t=>n=>nt(t,n),Ko=Bn;function et(t,n){return nt(t,[n,0])}var Jo=et;function Qo(t,n){return nt(t,[0,n])}var Kt=(t,n)=>t.height-n.height,Zo=(t,n)=>n.height-t.height;function Un(t,n){return n=n||Kt,Ln(t).sort(n).map(Gn)}function Jt(t){return Un(t,Kt).filter((n,e,r)=>e===0||n!==r[e-1])}var Wo=t=>{let n=N(t);return n.empty?"":x(n.midi||n.chroma,{sharps:n.alt>0,pitchClass:n.midi===null})};function Qt(t,n){let e=N(t);if(e.empty)return"";let r=N(n||x(e.midi||e.chroma,{sharps:e.alt<0,pitchClass:!0}));if(r.empty||r.chroma!==e.chroma)return"";if(e.oct===void 0)return r.pc;let o=e.chroma-e.alt,a=r.chroma-r.alt,m=o>11||a<0?-1:o<0||a>11?1:0,i=e.oct+m;return r.pc+i}var y={names:Fo,get:N,name:Ro,pitchClass:Oo,accidentals:ko,octave:$o,midi:qo,ascending:Kt,descending:Zo,sortedNames:Un,sortedUniqNames:Jt,fromMidi:Xt,fromMidiSharps:Uo,freq:Go,fromFreq:zo,fromFreqSharps:Bo,chroma:Lo,transpose:nt,tr:Ho,transposeBy:zn,trBy:Xo,transposeFrom:Bn,trFrom:Ko,transposeFifths:et,transposeOctaves:Qo,trFifths:Jo,simplify:Wo,enharmonic:Qt};var Xn={empty:!0,name:"",chordType:""},Hn={};function I(t){return typeof t=="string"?Hn[t]||(Hn[t]=aa(t)):typeof t=="number"?I(vt[t]||""):T(t)?na(t):it(t)?I(t.name):Xn}var Yo=P("RomanNumeral.romanNumeral","RomanNumeral.get",I);function ta(t=!0){return(t?vt:oa).slice()}function na(t){return I(V(t.alt)+vt[t.step])}var ea=/^(#{1,}|b{1,}|x{1,}|)(IV|I{1,3}|VI{0,2}|iv|i{1,3}|vi{0,2})([^IViv]*)$/;function ra(t){return ea.exec(t)||["","","",""]}var Kn="I II III IV V VI VII",vt=Kn.split(" "),oa=Kn.toLowerCase().split(" ");function aa(t){let[n,e,r,o]=ra(t);if(!r)return Xn;let a=r.toUpperCase(),m=vt.indexOf(a),i=q(e),c=1;return{empty:!1,name:n,roman:r,interval:d({step:m,alt:i,dir:c}).name,acc:e,chordType:o,alt:i,step:m,major:r===a,oct:0,dir:c}}var Jn={names:ta,get:I,romanNumeral:Yo};var g=Object.freeze([]),Qn={type:"major",tonic:"",alteration:0,keySignature:""},yt={tonic:"",grades:g,intervals:g,scale:g,triads:g,chords:g,chordsHarmonicFunction:g,chordScales:g},ma={...Qn,...yt,type:"major",minorRelative:"",scale:g,secondaryDominants:g,secondaryDominantsMinorRelative:g,substituteDominants:g,substituteDominantsMinorRelative:g},ia={...Qn,type:"minor",relativeMajor:"",natural:yt,harmonic:yt,melodic:yt},Zt=(t,n,e="")=>n.map((r,o)=>`${t[o]}${e}${r}`);function bt(t,n,e,r,o){return a=>{let m=t.map(c=>I(c).interval||""),i=m.map(c=>u(a,c));return{tonic:a,grades:t,intervals:m,scale:i,triads:Zt(i,n),chords:Zt(i,e),chordsHarmonicFunction:r.slice(),chordScales:Zt(i,o," ")}}}var Zn=(t,n)=>{let e=s(t),r=s(n);return e.empty||r.empty?0:r.coord[0]-e.coord[0]},sa=bt("I II III IV V VI VII".split(" ")," m m m dim".split(" "),"maj7 m7 m7 maj7 7 m7 m7b5".split(" "),"T SD T SD D T D".split(" "),"major,dorian,phrygian,lydian,mixolydian,minor,locrian".split(",")),ca=bt("I II bIII IV V bVI bVII".split(" "),"m dim m m ".split(" "),"m7 m7b5 maj7 m7 m7 maj7 7".split(" "),"T SD T SD D SD SD".split(" "),"minor,locrian,major,dorian,phrygian,lydian,mixolydian".split(",")),ua=bt("I II bIII IV V bVI VII".split(" "),"m dim aug m dim".split(" "),"mMaj7 m7b5 +maj7 m7 7 maj7 o7".split(" "),"T SD T SD D SD D".split(" "),"harmonic minor,locrian 6,major augmented,lydian diminished,phrygian dominant,lydian #9,ultralocrian".split(",")),la=bt("I II bIII IV V VI VII".split(" "),"m m aug dim dim".split(" "),"m6 m7 +maj7 7 7 m7b5 m7b5".split(" "),"T SD T SD D ".split(" "),"melodic minor,dorian b2,lydian augmented,lydian dominant,mixolydian b6,locrian #2,altered".split(","));function fa(t){let n=s(t).pc;if(!n)return ma;let e=sa(n),r=Zn("C",n),o=a=>{let m=I(a);return m.empty?"":u(t,m.interval)+m.chordType};return{...e,type:"major",minorRelative:u(n,"-3m"),alteration:r,keySignature:V(r),secondaryDominants:"- VI7 VII7 I7 II7 III7 -".split(" ").map(o),secondaryDominantsMinorRelative:"- IIIm7b5 IV#m7 Vm7 VIm7 VIIm7b5 -".split(" ").map(o),substituteDominants:"- bIII7 IV7 bV7 bVI7 bVII7 -".split(" ").map(o),substituteDominantsMinorRelative:"- IIIm7 Im7 IIbm7 VIm7 IVm7 -".split(" ").map(o)}}function da(t){let n=s(t).pc;if(!n)return ia;let e=Zn("C",n)-3;return{type:"minor",tonic:n,relativeMajor:u(n,"3m"),alteration:e,keySignature:V(e),natural:ca(n),harmonic:ua(n),melodic:la(n)}}function pa(t){return typeof t=="number"?et("C",t):typeof t=="string"&&/^b+|#+$/.test(t)?et("C",q(t)):null}var Wn={majorKey:fa,majorTonicFromKeySignature:pa,minorKey:da};var Yt=[[0,2773,0,"ionian","","Maj7","major"],[1,2902,2,"dorian","m","m7"],[2,3418,4,"phrygian","m","m7"],[3,2741,-1,"lydian","","Maj7"],[4,2774,1,"mixolydian","","7"],[5,2906,3,"aeolian","m","m7","minor"],[6,3434,5,"locrian","dim","m7b5"]],Yn={...j,name:"",alt:0,modeNum:NaN,triad:"",seventh:"",aliases:[]},tn=Yt.map(va),Wt={};tn.forEach(t=>{Wt[t.name]=t,t.aliases.forEach(n=>{Wt[n]=t})});function B(t){return typeof t=="string"?Wt[t.toLowerCase()]||Yn:t&&t.name?B(t.name):Yn}var Ma=P("Mode.mode","Mode.get",B);function te(){return tn.slice()}var Pa=P("Mode.mode","Mode.all",te);function ha(){return tn.map(t=>t.name)}function va(t){let[n,e,r,o,a,m,i]=t,c=i?[i]:[],f=Number(e).toString(2);return{empty:!1,intervals:J(o).intervals,modeNum:n,chroma:f,normalized:f,name:o,setNum:e,alt:r,triad:a,seventh:m,aliases:c}}function ya(t,n){return B(t).intervals.map(e=>u(n,e))}function ne(t){return(n,e)=>{let r=B(n);if(r.empty)return[];let o=E(r.modeNum,t),a=r.intervals.map(m=>u(e,m));return o.map((m,i)=>a[i]+m)}}var ba=ne(Yt.map(t=>t[4])),ga=ne(Yt.map(t=>t[5]));function ee(t,n){let e=B(n),r=B(t);return e.empty||r.empty?"":Ot($t("1P",r.alt-e.alt))}function Aa(t,n,e){return u(e,ee(t,n))}var re={get:B,names:ha,all:te,distance:ee,relativeTonic:Aa,notes:ya,triads:ba,seventhChords:ga,entries:Pa,mode:Ma};function Na(t,n){return n.map(I).map(r=>u(t,d(r))+r.chordType)}function Ia(t,n){return n.map(e=>{let[r,o]=tt(e),a=A(t,r);return I(d(a)).name+o})}var oe={fromRomanNumerals:Na,toRomanNumerals:Ia};function ae(t){let n=W(t.map(e=>typeof e=="number"?e:Bt(e)));return!t.length||n.length!==t.length?[]:n.reduce((e,r)=>{let o=e[e.length-1];return e.concat(G(o,r).slice(1))},[n[0]])}function Sa(t,n){return ae(t).map(e=>x(e,n))}var gt={numeric:ae,chromatic:Sa};var Ta={empty:!0,name:"",type:"",tonic:null,setNum:NaN,chroma:"",normalized:"",aliases:[],notes:[],intervals:[]};function me(t){if(typeof t!="string")return["",""];let n=t.indexOf(" "),e=s(t.substring(0,n));if(e.empty){let o=s(t);return o.empty?["",t]:[o.name,""]}let r=t.substring(e.name.length+1);return[e.name,r.length?r:""]}var ja=qt;function C(t){let n=Array.isArray(t)?t:me(t),e=s(n[0]).name,r=J(n[1]);if(r.empty)return Ta;let o=r.name,a=e?r.intervals.map(i=>u(e,i)):[],m=e?e+" "+o:o;return{...r,name:m,type:o,tonic:e,notes:a}}var xa=P("Scale.scale","Scale.get",C);function Ca(t,n={}){let e=wt(t),r=s(n.tonic??t[0]??""),o=r.chroma;if(o===void 0)return[];let a=e.split("");a[o]="1";let m=E(o,a).join(""),i=_().find(f=>f.chroma===m),c=[];return i&&c.push(r.name+" "+i.name),n.match==="exact"||ie(m).forEach(f=>{c.push(r.name+" "+f)}),c}function Ea(t){let n=C(t),e=H(n.chroma);return D().filter(r=>e(r.chroma)).map(r=>r.aliases[0])}function ie(t){let n=ct(t)?t:C(t).chroma,e=X(n);return _().filter(r=>e(r.chroma)).map(r=>r.name)}function Da(t){let n=H(C(t).chroma);return _().filter(e=>n(e.chroma)).map(e=>e.name)}function se(t){let n=t.map(o=>s(o).pc).filter(o=>o),e=n[0],r=Jt(n);return E(r.indexOf(e),r)}function _a(t){let n=C(t);if(n.empty)return[];let e=n.tonic?n.notes:n.intervals;return Y(n.chroma).map((r,o)=>{let a=C(r).name;return a?[e[o],a]:["",""]}).filter(r=>r[0])}function wa(t){let n=Array.isArray(t)?se(t):C(t).notes,e=n.map(r=>s(r).chroma);return r=>{let o=typeof r=="number"?s(Xt(r)):s(r),a=o.height;if(a===void 0)return;let m=a%12,i=e.indexOf(m);if(i!==-1)return Qt(o.name,n[i])}}function Va(t){let n=wa(t);return(e,r)=>{let o=s(e).height,a=s(r).height;return o===void 0||a===void 0?[]:G(o,a).map(n).filter(m=>m)}}function Fa(t){let{intervals:n,tonic:e}=C(t),r=F(n,e);return o=>o?r(o>0?o-1:o):""}function Ra(t){let{intervals:n,tonic:e}=C(t);return F(n,e)}var ce={degrees:Fa,detect:Ca,extended:ie,get:C,modeNames:_a,names:ja,rangeOf:Va,reduced:Da,scaleChords:Ea,scaleNotes:se,steps:Ra,tokenize:me,scale:xa};var Oa={empty:!0,name:"",upper:void 0,lower:void 0,type:void 0,additive:[]},ka=["4/4","3/4","2/4","2/2","12/8","9/8","6/8","3/8"];function $a(){return ka.slice()}var qa=/^(\d*\d(?:\+\d)*)\/(\d+)$/,ue=new Map;function Ga(t){let n=JSON.stringify(t),e=ue.get(n);if(e)return e;let r=za(nn(t));return ue.set(n,r),r}function nn(t){if(typeof t=="string"){let[a,m,i]=qa.exec(t)||[];return nn([m,i])}let[n,e]=t,r=+e;if(typeof n=="number")return[n,r];let o=n.split("+").map(a=>+a);return o.length===1?[o[0],r]:[o,r]}var le={names:$a,parse:nn,get:Ga},La=t=>Math.log(t)/Math.log(2)%1===0;function za([t,n]){let e=Array.isArray(t)?t.reduce((i,c)=>i+c,0):t,r=n;if(e===0||r===0)return Oa;let o=Array.isArray(t)?`${t.join("+")}/${n}`:`${t}/${n}`,a=Array.isArray(t)?t:[],m=r===4||r===2?"simple":r===8&&e%3===0?"compound":La(r)?"irregular":"irrational";return{empty:!1,name:o,type:m,upper:e,lower:r,additive:a}}var Ba=(t,n)=>{if(!n||!n.length)return t[0];let e=o=>y.midi(o[o.length-1])||0,r=o=>Math.abs(e(n)-e(o));return t.sort((o,a)=>r(o)-r(a))[0]},At={topNoteDiff:Ba};var Ua={M:["1P 3M 5P","3M 5P 8P","5P 8P 10M"],m:["1P 3m 5P","3m 5P 8P","5P 8P 10m"],o:["1P 3m 5d","3m 5d 8P","5d 8P 10m"],aug:["1P 3m 5A","3m 5A 8P","5A 8P 10m"]},fe={m7:["3m 5P 7m 9M","7m 9M 10m 12P"],7:["3M 6M 7m 9M","7m 9M 10M 13M"],"^7":["3M 5P 7M 9M","7M 9M 10M 12P"],69:["3M 5P 6A 9M"],m7b5:["3m 5d 7m 8P","7m 8P 10m 12d"],"7b9":["3M 6m 7m 9m","7m 9m 10M 13m"],"7b13":["3M 6m 7m 9m","7m 9m 10M 13m"],o7:["1P 3m 5d 6M","5d 6M 8P 10m"],"7#11":["7m 9M 11A 13A"],"7#9":["3M 7m 9A"],mM7:["3m 5P 7M 9M","7M 9M 10m 12P"],m6:["3m 5P 6M 9M","6M 9M 10m 12P"]},Ha={M:["1P 3M 5P","3M 5P 8P","5P 8P 10M"],m:["1P 3m 5P","3m 5P 8P","5P 8P 10m"],o:["1P 3m 5d","3m 5d 8P","5d 8P 10m"],aug:["1P 3m 5A","3m 5A 8P","5A 8P 10m"],m7:["3m 5P 7m 9M","7m 9M 10m 12P"],7:["3M 6M 7m 9M","7m 9M 10M 13M"],"^7":["3M 5P 7M 9M","7M 9M 10M 12P"],69:["3M 5P 6A 9M"],m7b5:["3m 5d 7m 8P","7m 8P 10m 12d"],"7b9":["3M 6m 7m 9m","7m 9m 10M 13m"],"7b13":["3M 6m 7m 9m","7m 9m 10M 13m"],o7:["1P 3m 5d 6M","5d 6M 8P 10m"],"7#11":["7m 9M 11A 13A"],"7#9":["3M 7m 9A"],mM7:["3m 5P 7M 9M","7M 9M 10m 12P"],m6:["3m 5P 6M 9M","6M 9M 10m 12P"]},de=fe;function Xa(t,n=de){if(n[t])return n[t];let{aliases:e}=Q.get("C"+t),r=Object.keys(n).find(o=>e.includes(o))||"";if(r!==void 0)return n[r]}var Z={lookup:Xa,lefthand:fe,triads:Ua,all:Ha,defaultDictionary:de};var en=["C3","C5"],pe=Z.all,Me=At.topNoteDiff;function Pe(t,n=en,e=pe,r=Me,o){let a=he(t,n,e);return!o||!o.length?a[0]:r(a,o)}function he(t,n=en,e=Z.triads){let[r,o]=Q.tokenize(t),a=Z.lookup(o,e);if(!a)return[];let m=a.map(c=>c.split(" ")),i=gt.chromatic(n);return m.reduce((c,f)=>{let p=f.map(M=>dt.subtract(M,f[0])||""),v=y.transpose(r,f[0]),b=i.filter(M=>y.chroma(M)===y.chroma(v)).filter(M=>(y.midi(y.transpose(M,p[p.length-1]))||0)<=(y.midi(n[1])||0)).map(M=>y.enharmonic(M,v)).map(M=>p.map(rt=>y.transpose(M,rt)));return c.concat(b)},[])}function Ka(t,n=en,e=pe,r=Me,o){let{voicings:a}=t.reduce(({voicings:m,lastVoicing:i},c)=>{let f=Pe(c,n,e,r,i);return i=f,m.push(f),{voicings:m,lastVoicing:i}},{voicings:[],lastVoicing:o});return a}var ve={get:Pe,search:he,sequence:Ka};var Ja=st,Qa=Vt,Za=Ft,Wa=Gt;return Te(Ya);})();
|
|
2
2
|
//# sourceMappingURL=tonal.min.js.map
|