tonal 5.1.0 → 5.1.3

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.
@@ -1,2 +1,2 @@
1
- "use strict";var Tonal=(()=>{var bt=Object.defineProperty;var oe=Object.getOwnPropertyDescriptor;var ae=Object.getOwnPropertyNames;var me=Object.prototype.hasOwnProperty;var At=(t,n)=>{for(var e in n)bt(t,e,{get:n[e],enumerable:!0})},ie=(t,n,e,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of ae(n))!me.call(t,o)&&o!==e&&bt(t,o,{get:()=>n[o],enumerable:!(r=oe(n,o))||r.enumerable});return t};var se=t=>ie(bt({},"__esModule",{value:!0}),t);var Ta={};At(Ta,{AbcNotation:()=>cn,Array:()=>jt,Chord:()=>K,ChordDictionary:()=>Na,ChordType:()=>Dt,Collection:()=>fn,Core:()=>ot,DurationValue:()=>yn,Interval:()=>ft,Key:()=>On,Midi:()=>Sn,Mode:()=>Ln,Note:()=>v,PcSet:()=>Ia,Pcset:()=>Et,Progression:()=>zn,Range:()=>vt,RomanNumeral:()=>Vn,Scale:()=>Xn,ScaleDictionary:()=>Sa,ScaleType:()=>Vt,TimeSignature:()=>Jn,Tonal:()=>ga,VoiceLeading:()=>yt,Voicing:()=>re,VoicingDictionary:()=>X,accToAlt:()=>w,altToAcc:()=>D,coordToInterval:()=>L,coordToNote:()=>St,decode:()=>rt,deprecate:()=>p,distance:()=>N,encode:()=>et,fillStr:()=>$,interval:()=>l,isNamed:()=>q,isPitch:()=>G,note:()=>s,stepToLetter:()=>Nt,tokenizeInterval:()=>Tt,tokenizeNote:()=>Q,tonicIntervalsTransposer:()=>_,transpose:()=>u});var ot={};At(ot,{accToAlt:()=>w,altToAcc:()=>D,coordToInterval:()=>L,coordToNote:()=>St,decode:()=>rt,deprecate:()=>p,distance:()=>N,encode:()=>et,fillStr:()=>$,interval:()=>l,isNamed:()=>q,isPitch:()=>G,note:()=>s,stepToLetter:()=>Nt,tokenizeInterval:()=>Tt,tokenizeNote:()=>Q,tonicIntervalsTransposer:()=>_,transpose:()=>u});var $=(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)}}function q(t){return t!==null&&typeof t=="object"&&"name"in t&&typeof t.name=="string"}function G(t){return t!==null&&typeof t=="object"&&"step"in t&&typeof t.step=="number"&&"alt"in t&&typeof t.alt=="number"}var nn=[0,2,4,-1,1,3,5],en=nn.map(t=>Math.floor(t*7/12));function et(t){let{step:n,alt:e,oct:r,dir:o=1}=t,a=nn[n]+7*e;if(r===void 0)return[o*a];let m=r-en[n]-4*e;return[o*a,o*m]}var ce=[3,0,4,1,5,2,6];function rt(t){let[n,e,r]=t,o=ce[ue(n)],a=Math.floor((n+1)/7);if(e===void 0)return{step:o,alt:a,dir:r};let m=e+4*a+en[o];return{step:o,alt:a,oct:m,dir:r}}function ue(t){let n=(t+1)%7;return n<0?7+n:n}var rn={empty:!0,name:"",pc:"",acc:""},Yt=new Map,Nt=t=>"CDEFGAB".charAt(t),D=t=>t<0?$("b",-t):$("#",t),w=t=>t[0]==="b"?-t.length:t.length;function s(t){let n=JSON.stringify(t),e=Yt.get(n);if(e)return e;let r=typeof t=="string"?fe(t):G(t)?s(pe(t)):q(t)?s(t.name):rn;return Yt.set(n,r),r}var le=/^([a-gA-G]?)(#{1,}|b{1,}|x{1,}|)(-?\d*)\s*(.*)$/;function Q(t){let n=le.exec(t);return[n[1].toUpperCase(),n[2].replace(/x/g,"##"),n[3],n[4]]}function St(t){return s(rt(t))}var de=(t,n)=>(t%n+n)%n,gt=[0,2,4,5,7,9,11];function fe(t){let n=Q(t);if(n[0]===""||n[3]!=="")return rn;let e=n[0],r=n[1],o=n[2],a=(e.charCodeAt(0)+3)%7,m=w(r),i=o.length?+o:void 0,c=et({step:a,alt:m,oct:i}),d=e+r+o,h=e+r,b=(gt[a]+m+120)%12,f=i===void 0?de(gt[a]+m,12)-12*99:gt[a]+m+12*(i+1),I=f>=0&&f<=127?f:null,M=i===void 0?null:Math.pow(2,(f-69)/12)*440;return{empty:!1,acc:r,alt:m,chroma:b,coord:c,freq:M,height:f,letter:e,midi:I,name:d,oct:i,pc:h,step:a}}function pe(t){let{step:n,alt:e,oct:r}=t,o=Nt(n);if(!o)return"";let a=o+D(e);return r||r===0?a+r:a}var It={empty:!0,name:"",acc:""},Me="([-+]?\\d+)(d{1,4}|m|M|P|A{1,4})",Pe="(AA|A|P|M|m|d|dd)([-+]?\\d+)",he=new RegExp("^"+Me+"|"+Pe+"$");function Tt(t){let n=he.exec(`${t}`);return n===null?["",""]:n[1]?[n[1],n[2]]:[n[4],n[3]]}var Zt={};function l(t){return typeof t=="string"?Zt[t]||(Zt[t]=ve(t)):G(t)?l(be(t)):q(t)?l(t.name):It}var tn=[0,2,4,5,7,9,11],on="PMMPPMM";function ve(t){let n=Tt(t);if(n[0]==="")return It;let e=+n[0],r=n[1],o=(Math.abs(e)-1)%7,a=on[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=ye(m,r),b=Math.floor((Math.abs(e)-1)/7),f=c*(tn[o]+h+12*b),I=(c*(tn[o]+h)%12+12)%12,M=et({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:f,chroma:I,coord:M,oct:b}}function L(t,n){let[e,r=0]=t,o=e*7+r*12<0,a=n||o?[-e,-r,-1]:[e,r,1];return l(rt(a))}function ye(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 be(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=on[n]==="M"?"majorable":"perfectable";return i+m+Ae(c,e)}function Ae(t,n){return n===0?t==="majorable"?"M":"P":n===-1&&t==="majorable"?"m":n>0?$("A",n):$("d",t==="perfectable"?n:n+1)}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 St(a).name}function _(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 N(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 L([m,i],c).name}var an=(t,n)=>Array(n+1).join(t),ge=/^(_{1,}|=|\^{1,}|)([abcdefgABCDEFG])([,']*)$/;function mn(t){let n=ge.exec(t);return n?[n[1],n[2],n[3]]:["","",""]}function at(t){let[n,e,r]=mn(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 sn(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?an("'",o-5):an(",",4-o);return a+m+i}function Ie(t,n){return sn(u(at(t),n))}function Ne(t,n){return N(at(t),at(n))}var cn={abcToScientificNotation:at,scientificToAbcNotation:sn,tokenize:mn,transpose:Ie,distance:Ne};var jt={};At(jt,{compact:()=>Ce,permutations:()=>ln,range:()=>je,rotate:()=>xe,shuffle:()=>De,sortedNoteNames:()=>un,sortedUniqNoteNames:()=>Ee});function Se(t,n){let e=[];for(;n--;e[n]=n+t);return e}function Te(t,n){let e=[];for(;n--;e[n]=t-n);return e}function je(t,n){return t<n?Se(t,n-t+1):Te(t,t-n+1)}function xe(t,n){let e=n.length,r=(t%e+e)%e;return n.slice(r,e).concat(n.slice(0,r))}function Ce(t){return t.filter(n=>n===0||n)}function un(t){return t.map(e=>s(e)).filter(e=>!e.empty).sort((e,r)=>e.height-r.height).map(e=>e.name)}function Ee(t){return un(t).filter((n,e,r)=>e===0||n!==r[e-1])}function De(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 ln(t){return t.length===0?[[]]:ln(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 we(t,n){let e=[];for(;n--;e[n]=t-n);return e}function V(t,n){return t<n?_e(t,n-t+1):we(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 J(t){return t.filter(n=>n===0||n)}function Ve(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 dn(t){return t.length===0?[[]]:dn(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 fn={compact:J,permutations:dn,range:V,rotate:x,shuffle:Ve};var S={empty:!0,name:"",setNum:0,chroma:"000000000000",normalized:"000000000000",intervals:[]},xt=t=>Number(t).toString(2).padStart(12,"0"),pn=t=>parseInt(t,2),Fe=/^[01]{12}$/;function mt(t){return Fe.test(t)}var Re=t=>typeof t=="number"&&t>=0&&t<=4095,Oe=t=>t&&mt(t.chroma),Mn={[S.chroma]:S};function P(t){let n=mt(t)?t:Re(t)?xt(t):Array.isArray(t)?Xe(t):Oe(t)?t.chroma:S.chroma;return Mn[n]=Mn[n]||Ke(n)}var ke=p("Pcset.pcset","Pcset.get",P),Ct=t=>P(t).chroma,$e=t=>P(t).intervals,qe=t=>P(t).setNum,Ge=["1P","2m","2M","3m","3M","4P","5d","5P","6m","6M","7m","7M"];function Le(t){let n=[];for(let e=0;e<12;e++)t.charAt(e)==="1"&&n.push(Ge[e]);return n}function ze(){return V(2048,4095).map(xt)}function W(t,n=!0){let r=P(t).chroma.split("");return J(r.map((o,a)=>{let m=x(a,r);return n&&m[0]==="0"?null:m.join("")}))}function Be(t,n){return P(t).setNum===P(n).setNum}function z(t){let n=P(t).setNum;return e=>{let r=P(e).setNum;return n&&n!==r&&(r&n)===r}}function B(t){let n=P(t).setNum;return e=>{let r=P(e).setNum;return n&&n!==r&&(r|n)===r}}function Pn(t){let n=P(t);return e=>{let r=s(e);return n&&!r.empty&&n.chroma.charAt(r.chroma)==="1"}}function Ue(t){let n=Pn(t);return e=>e.filter(n)}var Et={get:P,chroma:Ct,num:qe,intervals:$e,chromas:ze,isSupersetOf:B,isSubsetOf:z,isNoteIncludedIn:Pn,isEqual:Be,filter:Ue,modes:W,pcset:ke};function He(t){let n=t.split("");return n.map((e,r)=>x(r,n).join(""))}function Ke(t){let n=pn(t),e=He(t).map(pn).filter(a=>a>=2048).sort()[0],r=xt(e),o=Le(t);return{empty:!1,name:"",setNum:n,chroma:t,normalized:r,intervals:o}}function Xe(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 Qe=[["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"]],Je=Qe,We={...S,name:"",quality:"Unknown",intervals:[],aliases:[]},U=[],F={};function it(t){return F[t]||We}var Ye=p("ChordType.chordType","ChordType.get",it);function Ze(){return U.map(t=>t.name).filter(t=>t)}function tr(){return U.map(t=>t.aliases[0]).filter(t=>t)}function nr(){return Object.keys(F)}function C(){return U.slice()}var er=p("ChordType.entries","ChordType.all",C);function rr(){U=[],F={}}function hn(t,n,e){let r=ar(t),o={...P(t),name:e||"",quality:r,intervals:t,aliases:n};U.push(o),o.name&&(F[o.name]=o),F[o.setNum]=o,F[o.chroma]=o,o.aliases.forEach(a=>or(o,a))}function or(t,n){F[n]=t}function ar(t){let n=e=>t.indexOf(e)!==-1;return n("5A")?"Augmented":n("3M")?"Major":n("5d")?"Diminished":n("3m")?"Minor":"Unknown"}Je.forEach(([t,n,e])=>hn(t.split(" "),e.split(" "),n));U.sort((t,n)=>t.setNum-n.setNum);var Dt={names:Ze,symbols:tr,get:it,all:C,add:hn,removeAll:rr,keys:nr,entries:er,chordType:Ye};var mr=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 _t(t,n={}){let e=t.map(o=>s(o).pc).filter(o=>o);return s.length===0?[]:fr(e,1,n).filter(o=>o.weight).sort((o,a)=>a.weight-o.weight).map(o=>o.name)}var st={anyThirds:384,perfectFifth:16,nonPerfectFifths:40,anySeventh:3},ct=t=>n=>!!(n&t),ir=ct(st.anyThirds),sr=ct(st.perfectFifth),cr=ct(st.anySeventh),ur=ct(st.nonPerfectFifths);function lr(t){let n=parseInt(t.chroma,2);return ir(n)&&sr(n)&&cr(n)}function dr(t){let n=parseInt(t,2);return ur(n)?t:(n|16).toString(2)}function fr(t,n,e){let r=t[0],o=s(r).chroma,a=mr(t),m=W(t,!1),i=[];return m.forEach((c,d)=>{let h=e.assumePerfectFifth&&dr(c);C().filter(f=>e.assumePerfectFifth&&lr(f)?f.chroma===h:f.chroma===c).forEach(f=>{let I=f.aliases[0],M=a(d);d!==o?i.push({weight:.5*n,name:`${M}${I}/${r}`}):i.push({weight:1*n,name:`${M}${I}`})})}),i}var pr=[["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"]],Mr=pr,Pr={...S,intervals:[],aliases:[]},ut=[],R={};function wt(){return ut.map(t=>t.name)}function H(t){return R[t]||Pr}var hr=p("ScaleDictionary.scaleType","ScaleType.get",H);function E(){return ut.slice()}var vr=p("ScaleDictionary.entries","ScaleType.all",E);function yr(){return Object.keys(R)}function br(){ut=[],R={}}function vn(t,n,e=[]){let r={...P(t),name:n,intervals:t,aliases:e};return ut.push(r),R[r.name]=r,R[r.setNum]=r,R[r.chroma]=r,r.aliases.forEach(o=>Ar(r,o)),r}function Ar(t,n){R[n]=t}Mr.forEach(([t,n,...e])=>vn(t.split(" "),n,e));var Vt={names:wt,get:H,all:E,add:vn,removeAll:br,keys:yr,entries:vr,scaleType:hr};var Ft={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]=Q(t);return n===""?["",t]:n==="A"&&o==="ug"?["","aug"]:[n+e,r+o]}function O(t){if(t==="")return Ft;if(Array.isArray(t)&&t.length===2)return lt(t[1],t[0]);{let[n,e]=Y(t),r=lt(e,n);return r.empty?lt(t):r}}function lt(t,n,e){let r=it(t),o=s(n||""),a=s(e||"");if(r.empty||n&&o.empty||e&&a.empty)return Ft;let m=N(o.pc,a.pc),i=r.intervals.indexOf(m)+1;if(!a.empty&&!i)return Ft;let c=Array.from(r.intervals);for(let f=1;f<i;f++){let I=c[0][0],M=c[0][1],nt=parseInt(I,10)+7;c.push(`${nt}${M}`),c.shift()}let d=o.empty?[]:c.map(f=>u(o,f));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 gr=p("Chord.chord","Chord.get",O);function Ir(t,n){let[e,r]=Y(t);return e?u(e,n)+r:t}function Nr(t){let n=O(t),e=B(n.chroma);return E().filter(r=>e(r.chroma)).map(r=>r.name)}function Sr(t){let n=O(t),e=B(n.chroma);return C().filter(r=>e(r.chroma)).map(r=>n.tonic+r.aliases[0])}function Tr(t){let n=O(t),e=z(n.chroma);return C().filter(r=>e(r.chroma)).map(r=>n.tonic+r.aliases[0])}function jr(t){let{intervals:n,tonic:e}=O(t),r=_(n,e);return o=>o?r(o>0?o-1:o):""}function xr(t){let{intervals:n,tonic:e}=O(t);return _(n,e)}var K={getChord:lt,get:O,detect:_t,chordScales:Nr,extended:Sr,reduced:Tr,tokenize:Y,transpose:Ir,degrees:jr,steps:xr,chord:gr};var Cr=[[.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"]]],Er=Cr,dt=[];Er.forEach(([t,n,e])=>Or(t,n,e));var Dr={empty:!0,name:"",value:0,fraction:[0,0],shorthand:"",dots:"",names:[]};function _r(){return dt.reduce((t,n)=>(n.names.forEach(e=>t.push(e)),t),[])}function wr(){return dt.map(t=>t.shorthand)}var Vr=/^([^.]+)(\.*)$/;function Rt(t){let[n,e,r]=Vr.exec(t)||[],o=dt.find(i=>i.shorthand===e||i.names.includes(e));if(!o)return Dr;let a=kr(o.fraction,r.length),m=a[0]/a[1];return{...o,name:t,dots:r,value:m,fraction:a}}var Fr=t=>Rt(t).value,Rr=t=>Rt(t).fraction,yn={names:_r,shorthands:wr,get:Rt,value:Fr,fraction:Rr};function Or(t,n,e){dt.push({empty:!1,dots:"",name:"",value:1/t,fraction:t<1?[1/t,1]:[1,t],shorthand:n,names:e})}function kr(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 $r(){return"1P 2M 3M 4P 5P 6m 7m".split(" ")}var bn=l,qr=t=>l(t).name,Gr=t=>l(t).semitones,Lr=t=>l(t).q,zr=t=>l(t).num;function Ot(t){let n=l(t);return n.empty?"":n.simple+n.q}function Br(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 Ur=[1,2,2,3,3,4,5,5,6,6,7,7],Hr="P m M m M P d P m M m M".split(" ");function Kr(t){let n=t<0?-1:1,e=Math.abs(t),r=e%12,o=Math.floor(e/12);return n*(Ur[r]+7*o)+Hr[r]}var Xr=N,An=gn((t,n)=>[t[0]+n[0],t[1]+n[1]]),Qr=t=>n=>An(t,n),Jr=gn((t,n)=>[t[0]-n[0],t[1]-n[1]]);function kt(t,n){let e=bn(t);if(e.empty)return"";let[r,o,a]=e.coord;return L([r+n,o,a]).name}var ft={names:$r,get:bn,name:qr,num:zr,semitones:Gr,quality:Lr,fromSemitones:Kr,distance:Xr,invert:Br,simplify:Ot,add:An,addTo:Qr,substract:Jr,transposeFifths:kt};function gn(t){return(n,e)=>{let r=l(n).coord,o=l(e).coord;if(r&&o){let a=t(r,o);return L(a).name}}}function In(t){return+t>=0&&+t<=127}function $t(t){if(In(t))return+t;let n=s(t);return n.empty?null:n.midi}function Wr(t,n=440){return Math.pow(2,(t-69)/12)*n}var Yr=Math.log(2),Zr=Math.log(440);function pt(t){let n=12*(Math.log(t)-Zr)/Yr+69;return Math.round(n*100)/100}var to="C C# D D# E F F# G G# A A# B".split(" "),no="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?to:no)[t%12];if(n.pitchClass)return r;let o=Math.floor(t/12)-1;return r+o}function qt(t){return t%12}function eo(t){return t.split("").reduce((n,e,r)=>(r<12&&e==="1"&&n.push(r),n),[])}function ro(t){return t.map(qt).sort((n,e)=>n-e).filter((n,e,r)=>e===0||n!==r[e-1])}function Gt(t){return Array.isArray(t)?ro(t):eo(t)}function oo(t){let n=Gt(t);return e=>{let r=qt(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 Nn(t,n){let e=Gt(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 ao(t,n){let e=Nn(t,n);return r=>{if(r!==0)return e(r>0?r-1:r)}}var Sn={chroma:qt,freqToMidi:pt,isMidi:In,midiToFreq:Wr,midiToNoteName:T,pcsetNearest:oo,pcset:Gt,pcsetDegrees:ao,pcsetSteps:Nn,toMidi:$t};var mo=["C","D","E","F","G","A","B"],Tn=t=>t.name,jn=t=>t.map(s).filter(n=>!n.empty);function io(t){return t===void 0?mo.slice():Array.isArray(t)?jn(t).map(Tn):[]}var A=s,so=t=>A(t).name,co=t=>A(t).pc,uo=t=>A(t).acc,lo=t=>A(t).oct,fo=t=>A(t).midi,po=t=>A(t).freq,Mo=t=>A(t).chroma;function Lt(t){return T(t)}function Po(t){return T(pt(t))}function ho(t){return T(pt(t),{sharps:!0})}function vo(t){return T(t,{sharps:!0})}var Z=u,yo=u,xn=t=>n=>Z(n,t),bo=xn,Cn=t=>n=>Z(t,n),Ao=Cn;function tt(t,n){return Z(t,[n,0])}var go=tt;function Io(t,n){return Z(t,[0,n])}var zt=(t,n)=>t.height-n.height,No=(t,n)=>n.height-t.height;function En(t,n){return n=n||zt,jn(t).sort(n).map(Tn)}function Bt(t){return En(t,zt).filter((n,e,r)=>e===0||n!==r[e-1])}var So=t=>{let n=A(t);return n.empty?"":T(n.midi||n.chroma,{sharps:n.alt>0,pitchClass:n.midi===null})};function Ut(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:io,get:A,name:so,pitchClass:co,accidentals:uo,octave:lo,midi:fo,ascending:zt,descending:No,sortedNames:En,sortedUniqNames:Bt,fromMidi:Lt,fromMidiSharps:vo,freq:po,fromFreq:Po,fromFreqSharps:ho,chroma:Mo,transpose:Z,tr:yo,transposeBy:xn,trBy:bo,transposeFrom:Cn,trFrom:Ao,transposeFifths:tt,transposeOctaves:Io,trFifths:go,simplify:So,enharmonic:Ut};var _n={empty:!0,name:"",chordType:""},Dn={};function g(t){return typeof t=="string"?Dn[t]||(Dn[t]=_o(t)):typeof t=="number"?g(Mt[t]||""):G(t)?xo(t):q(t)?g(t.name):_n}var To=p("RomanNumeral.romanNumeral","RomanNumeral.get",g);function jo(t=!0){return(t?Mt:Do).slice()}function xo(t){return g(D(t.alt)+Mt[t.step])}var Co=/^(#{1,}|b{1,}|x{1,}|)(IV|I{1,3}|VI{0,2}|iv|i{1,3}|vi{0,2})([^IViv]*)$/;function Eo(t){return Co.exec(t)||["","","",""]}var wn="I II III IV V VI VII",Mt=wn.split(" "),Do=wn.toLowerCase().split(" ");function _o(t){let[n,e,r,o]=Eo(t);if(!r)return _n;let a=r.toUpperCase(),m=Mt.indexOf(a),i=w(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 Vn={names:jo,get:g,romanNumeral:To};var y=Object.freeze([]),Fn={type:"major",tonic:"",alteration:0,keySignature:""},Pt={tonic:"",grades:y,intervals:y,scale:y,triads:y,chords:y,chordsHarmonicFunction:y,chordScales:y},wo={...Fn,...Pt,type:"major",minorRelative:"",scale:y,secondaryDominants:y,secondaryDominantsMinorRelative:y,substituteDominants:y,substituteDominantsMinorRelative:y},Vo={...Fn,type:"minor",relativeMajor:"",natural:Pt,harmonic:Pt,melodic:Pt},Ht=(t,n,e="")=>n.map((r,o)=>`${t[o]}${e}${r}`);function ht(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:Ht(i,n),chords:Ht(i,e),chordsHarmonicFunction:r.slice(),chordScales:Ht(i,o," ")}}}var Rn=(t,n)=>{let e=s(t),r=s(n);return e.empty||r.empty?0:r.coord[0]-e.coord[0]},Fo=ht("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(",")),Ro=ht("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(",")),Oo=ht("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(",")),ko=ht("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 $o(t){let n=s(t).pc;if(!n)return wo;let e=Fo(n),r=Rn("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:D(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 qo(t){let n=s(t).pc;if(!n)return Vo;let e=Rn("C",n)-3;return{type:"minor",tonic:n,relativeMajor:u(n,"3m"),alteration:e,keySignature:D(e),natural:Ro(n),harmonic:Oo(n),melodic:ko(n)}}function Go(t){return typeof t=="number"?tt("C",t):typeof t=="string"&&/^b+|#+$/.test(t)?tt("C",w(t)):null}var On={majorKey:$o,majorTonicFromKeySignature:Go,minorKey:qo};var Xt=[[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"]],kn={...S,name:"",alt:0,modeNum:NaN,triad:"",seventh:"",aliases:[]},Qt=Xt.map(Uo),Kt={};Qt.forEach(t=>{Kt[t.name]=t,t.aliases.forEach(n=>{Kt[n]=t})});function k(t){return typeof t=="string"?Kt[t.toLowerCase()]||kn:t&&t.name?k(t.name):kn}var Lo=p("Mode.mode","Mode.get",k);function $n(){return Qt.slice()}var zo=p("Mode.mode","Mode.all",$n);function Bo(){return Qt.map(t=>t.name)}function Uo(t){let[n,e,r,o,a,m,i]=t,c=i?[i]:[],d=Number(e).toString(2);return{empty:!1,intervals:H(o).intervals,modeNum:n,chroma:d,normalized:d,name:o,setNum:e,alt:r,triad:a,seventh:m,aliases:c}}function Ho(t,n){return k(t).intervals.map(e=>u(n,e))}function qn(t){return(n,e)=>{let r=k(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 Ko=qn(Xt.map(t=>t[4])),Xo=qn(Xt.map(t=>t[5]));function Gn(t,n){let e=k(n),r=k(t);return e.empty||r.empty?"":Ot(kt("1P",r.alt-e.alt))}function Qo(t,n,e){return u(e,Gn(t,n))}var Ln={get:k,names:Bo,all:$n,distance:Gn,relativeTonic:Qo,notes:Ho,triads:Ko,seventhChords:Xo,entries:zo,mode:Lo};function Jo(t,n){return n.map(g).map(r=>u(t,l(r))+r.chordType)}function Wo(t,n){return n.map(e=>{let[r,o]=Y(e),a=N(t,r);return g(l(a)).name+o})}var zn={fromRomanNumerals:Jo,toRomanNumerals:Wo};function Bn(t){let n=J(t.map(e=>typeof e=="number"?e:$t(e)));return!t.length||n.length!==t.length?[]:n.reduce((e,r)=>{let o=e[e.length-1];return e.concat(V(o,r).slice(1))},[n[0]])}function Yo(t,n){return Bn(t).map(e=>T(e,n))}var vt={numeric:Bn,chromatic:Yo};var Zo={empty:!0,name:"",type:"",tonic:null,setNum:NaN,chroma:"",normalized:"",aliases:[],notes:[],intervals:[]};function Un(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 ta=wt;function j(t){let n=Array.isArray(t)?t:Un(t),e=s(n[0]).name,r=H(n[1]);if(r.empty)return Zo;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 na=p("Scale.scale","Scale.get",j);function ea(t,n={}){let e=Ct(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"||Hn(m).forEach(d=>{c.push(r.name+" "+d)}),c}function ra(t){let n=j(t),e=z(n.chroma);return C().filter(r=>e(r.chroma)).map(r=>r.aliases[0])}function Hn(t){let n=mt(t)?t:j(t).chroma,e=B(n);return E().filter(r=>e(r.chroma)).map(r=>r.name)}function oa(t){let n=z(j(t).chroma);return E().filter(e=>n(e.chroma)).map(e=>e.name)}function Kn(t){let n=t.map(o=>s(o).pc).filter(o=>o),e=n[0],r=Bt(n);return x(r.indexOf(e),r)}function aa(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 ma(t){let n=Array.isArray(t)?Kn(t):j(t).notes,e=n.map(r=>s(r).chroma);return r=>{let o=typeof r=="number"?s(Lt(r)):s(r),a=o.height;if(a===void 0)return;let m=a%12,i=e.indexOf(m);if(i!==-1)return Ut(o.name,n[i])}}function ia(t){let n=ma(t);return(e,r)=>{let o=s(e).height,a=s(r).height;return o===void 0||a===void 0?[]:V(o,a).map(n).filter(m=>m)}}function sa(t){let{intervals:n,tonic:e}=j(t),r=_(n,e);return o=>o?r(o>0?o-1:o):""}function ca(t){let{intervals:n,tonic:e}=j(t);return _(n,e)}var Xn={degrees:sa,detect:ea,extended:Hn,get:j,modeNames:aa,names:ta,rangeOf:ia,reduced:oa,scaleChords:ra,scaleNotes:Kn,steps:ca,tokenize:Un,scale:na};var ua={empty:!0,name:"",upper:void 0,lower:void 0,type:void 0,additive:[]},la=["4/4","3/4","2/4","2/2","12/8","9/8","6/8","3/8"];function da(){return la.slice()}var fa=/^(\d*\d(?:\+\d)*)\/(\d+)$/,Qn=new Map;function pa(t){let n=JSON.stringify(t),e=Qn.get(n);if(e)return e;let r=Pa(Jt(t));return Qn.set(n,r),r}function Jt(t){if(typeof t=="string"){let[a,m,i]=fa.exec(t)||[];return Jt([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 Jn={names:da,parse:Jt,get:pa},Ma=t=>Math.log(t)/Math.log(2)%1===0;function Pa([t,n]){let e=Array.isArray(t)?t.reduce((i,c)=>i+c,0):t,r=n;if(e===0||r===0)return ua;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":Ma(r)?"irregular":"irrational";return{empty:!1,name:o,type:m,upper:e,lower:r,additive:a}}var ha=(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]},yt={topNoteDiff:ha};var va={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"]},Wn={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"]},ya={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"]},Yn=Wn;function ba(t,n=Yn){if(n[t])return n[t];let{aliases:e}=K.get("C"+t),r=Object.keys(n).find(o=>e.includes(o))||"";if(r!==void 0)return n[r]}var X={lookup:ba,lefthand:Wn,triads:va,all:ya,defaultDictionary:Yn};var Wt=["C3","C5"],Zn=X.all,te=yt.topNoteDiff;function ne(t,n=Wt,e=Zn,r=te,o){let a=ee(t,n,e);return!o||!o.length?a[0]:r(a,o)}function ee(t,n=Wt,e=X.triads){let[r,o]=K.tokenize(t),a=X.lookup(o,e);if(!a)return[];let m=a.map(c=>c.split(" ")),i=vt.chromatic(n);return m.reduce((c,d)=>{let h=d.map(M=>ft.substract(M,d[0])||""),b=v.transpose(r,d[0]),I=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(nt=>v.transpose(M,nt)));return c.concat(I)},[])}function Aa(t,n=Wt,e=Zn,r=te,o){let{voicings:a}=t.reduce(({voicings:m,lastVoicing:i},c)=>{let d=ne(c,n,e,r,i);return i=d,m.push(d),{voicings:m,lastVoicing:i}},{voicings:[],lastVoicing:o});return a}var re={get:ne,search:ee,sequence:Aa};var ga=ot,Ia=Et,Na=Dt,Sa=Vt;return se(Ta);})();
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 wa={};gt(wa,{AbcNotation:()=>Pn,Array:()=>xt,Chord:()=>X,ChordDictionary:()=>Da,ChordType:()=>_t,Collection:()=>bn,Core:()=>at,DurationValue:()=>Tn,Interval:()=>pt,Key:()=>Bn,Midi:()=>_n,Mode:()=>Qn,Note:()=>v,PcSet:()=>Ea,Pcset:()=>Dt,Progression:()=>Jn,Range:()=>yt,RomanNumeral:()=>Gn,Scale:()=>ne,ScaleDictionary:()=>_a,ScaleType:()=>Ft,TimeSignature:()=>re,Tonal:()=>Ca,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:()=>u,isNamed:()=>ot,isNamedPitch:()=>D,isPitch:()=>_,midi:()=>nn,note:()=>s,pitch:()=>z,stepToLetter:()=>jt,tokenizeInterval:()=>St,tokenizeNote:()=>J,tonicIntervalsTransposer:()=>V,transpose:()=>l});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:()=>u,isNamed:()=>ot,isNamedPitch:()=>D,isPitch:()=>_,midi:()=>nn,note:()=>s,pitch:()=>z,stepToLetter:()=>jt,tokenizeInterval:()=>St,tokenizeNote:()=>J,tonicIntervalsTransposer:()=>V,transpose:()=>l});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 u(t){return typeof t=="string"?an[t]||(an[t]=Ae(t)):_(t)?u(Ne(t)):D(t)?u(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 u(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 l(t,n){let e=s(t),r=Array.isArray(n)?n:u(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=l(n,[0,a]);return l(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(l(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)?nr(t):Be(t)?t.chroma:S.chroma;return gn[n]=gn[n]||tr(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(){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 Ze(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 We(t){let n=Nn(t);return e=>e.filter(n)}var Dt={get:P,chroma:Et,num:Ke,intervals:He,chromas:Je,isSupersetOf:U,isSubsetOf:B,isNoteIncludedIn:Nn,isEqual:Ze,filter:We,modes:W,pcset:Ue};function Ye(t){let n=t.split("");return n.map((e,r)=>x(r,n).join(""))}function tr(t){let n=An(t),e=Ye(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 nr(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=u(t[r])),n.empty||(e[n.chroma]=1);return e.join("")}var er=[["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"]],rr=er,or={...S,name:"",quality:"Unknown",intervals:[],aliases:[]},H=[],k={};function st(t){return k[t]||or}var ar=f("ChordType.chordType","ChordType.get",st);function mr(){return H.map(t=>t.name).filter(t=>t)}function ir(){return H.map(t=>t.aliases[0]).filter(t=>t)}function sr(){return Object.keys(k)}function C(){return H.slice()}var cr=f("ChordType.entries","ChordType.all",C);function ur(){H=[],k={}}function In(t,n,e){let r=dr(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=>lr(o,a))}function lr(t,n){k[n]=t}function dr(t){let n=e=>t.indexOf(e)!==-1;return n("5A")?"Augmented":n("3M")?"Major":n("5d")?"Diminished":n("3m")?"Minor":"Unknown"}rr.forEach(([t,n,e])=>In(t.split(" "),e.split(" "),n));H.sort((t,n)=>t.setNum-n.setNum);var _t={names:mr,symbols:ir,get:st,all:C,add:In,removeAll:ur,keys:sr,entries:cr,chordType:ar};var fr=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?[]:br(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),pr=ut(ct.anyThirds),Mr=ut(ct.perfectFifth),Pr=ut(ct.anySeventh),hr=ut(ct.nonPerfectFifths);function vr(t){let n=parseInt(t.chroma,2);return pr(n)&&Mr(n)&&Pr(n)}function yr(t){let n=parseInt(t,2);return hr(n)?t:(n|16).toString(2)}function br(t,n,e){let r=t[0],o=s(r).chroma,a=fr(t),m=W(t,!1),i=[];return m.forEach((c,d)=>{let h=e.assumePerfectFifth&&yr(c);C().filter(p=>e.assumePerfectFifth&&vr(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 Ar=[["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"]],gr=Ar,Nr={...S,intervals:[],aliases:[]},lt=[],$={};function Vt(){return lt.map(t=>t.name)}function K(t){return $[t]||Nr}var Ir=f("ScaleDictionary.scaleType","ScaleType.get",K);function E(){return lt.slice()}var Sr=f("ScaleDictionary.entries","ScaleType.all",E);function Tr(){return Object.keys($)}function jr(){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=>xr(r,o)),r}function xr(t,n){$[n]=t}gr.forEach(([t,n,...e])=>Sn(t.split(" "),n,e));var Ft={names:Vt,get:K,all:E,add:Sn,removeAll:jr,keys:Tr,entries:Sr,scaleType:Ir};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=>l(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 Cr=f("Chord.chord","Chord.get",q);function Er(t,n){let[e,r]=Y(t);return e?l(e,n)+r:t}function Dr(t){let n=q(t),e=U(n.chroma);return E().filter(r=>e(r.chroma)).map(r=>r.name)}function _r(t){let n=q(t),e=U(n.chroma);return C().filter(r=>e(r.chroma)).map(r=>n.tonic+r.aliases[0])}function wr(t){let n=q(t),e=B(n.chroma);return C().filter(r=>e(r.chroma)).map(r=>n.tonic+r.aliases[0])}function Vr(t){let{intervals:n,tonic:e}=q(t),r=V(n,e);return o=>o?r(o>0?o-1:o):""}function Fr(t){let{intervals:n,tonic:e}=q(t);return V(n,e)}var X={getChord:dt,get:q,detect:wt,chordScales:Dr,extended:_r,reduced:wr,tokenize:Y,transpose:Er,degrees:Vr,steps:Fr,chord:Cr};var Rr=[[.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"]]],Or=Rr,ft=[];Or.forEach(([t,n,e])=>Br(t,n,e));var kr={empty:!0,name:"",value:0,fraction:[0,0],shorthand:"",dots:"",names:[]};function $r(){return ft.reduce((t,n)=>(n.names.forEach(e=>t.push(e)),t),[])}function qr(){return ft.map(t=>t.shorthand)}var Gr=/^([^.]+)(\.*)$/;function Ot(t){let[n,e,r]=Gr.exec(t)||[],o=ft.find(i=>i.shorthand===e||i.names.includes(e));if(!o)return kr;let a=Ur(o.fraction,r.length),m=a[0]/a[1];return{...o,name:t,dots:r,value:m,fraction:a}}var Lr=t=>Ot(t).value,zr=t=>Ot(t).fraction,Tn={names:$r,shorthands:qr,get:Ot,value:Lr,fraction:zr};function Br(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 Ur(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 Hr(){return"1P 2M 3M 4P 5P 6m 7m".split(" ")}var jn=u,Kr=t=>u(t).name,Xr=t=>u(t).semitones,Qr=t=>u(t).q,Jr=t=>u(t).num;function kt(t){let n=u(t);return n.empty?"":n.simple+n.q}function Zr(t){let n=u(t);if(n.empty)return"";let e=(7-n.step)%7,r=n.type==="perfectable"?-n.alt:-(n.alt+1);return u({step:e,alt:r,oct:n.oct,dir:n.dir}).name}var Wr=[1,2,2,3,3,4,5,5,6,6,7,7],Yr="P m M m M P d P m M m M".split(" ");function to(t){let n=t<0?-1:1,e=Math.abs(t),r=e%12,o=Math.floor(e/12);return n*(Wr[r]+7*o)+Yr[r]}var no=I,xn=Cn((t,n)=>[t[0]+n[0],t[1]+n[1]]),eo=t=>n=>xn(t,n),ro=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:Hr,get:jn,name:Kr,num:Jr,semitones:Xr,quality:Qr,fromSemitones:to,distance:no,invert:Zr,simplify:kt,add:xn,addTo:eo,substract:ro,transposeFifths:$t};function Cn(t){return(n,e)=>{let r=u(n).coord,o=u(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 oo(t,n=440){return Math.pow(2,(t-69)/12)*n}var ao=Math.log(2),mo=Math.log(440);function Mt(t){let n=12*(Math.log(t)-mo)/ao+69;return Math.round(n*100)/100}var io="C C# D D# E F F# G G# A A# B".split(" "),so="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?io:so)[t%12];if(n.pitchClass)return r;let o=Math.floor(t/12)-1;return r+o}function Gt(t){return t%12}function co(t){return t.split("").reduce((n,e,r)=>(r<12&&e==="1"&&n.push(r),n),[])}function uo(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)?uo(t):co(t)}function lo(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 fo(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:oo,midiToNoteName:T,pcsetNearest:lo,pcset:Lt,pcsetDegrees:fo,pcsetSteps:Dn,toMidi:qt};var po=["C","D","E","F","G","A","B"],wn=t=>t.name,Vn=t=>t.map(s).filter(n=>!n.empty);function Mo(t){return t===void 0?po.slice():Array.isArray(t)?Vn(t).map(wn):[]}var A=s,Po=t=>A(t).name,ho=t=>A(t).pc,vo=t=>A(t).acc,yo=t=>A(t).oct,bo=t=>A(t).midi,Ao=t=>A(t).freq,go=t=>A(t).chroma;function zt(t){return T(t)}function No(t){return T(Mt(t))}function Io(t){return T(Mt(t),{sharps:!0})}function So(t){return T(t,{sharps:!0})}var tt=l,To=l,Fn=t=>n=>tt(n,t),jo=Fn,Rn=t=>n=>tt(t,n),xo=Rn;function nt(t,n){return tt(t,[n,0])}var Co=nt;function Eo(t,n){return tt(t,[0,n])}var Bt=(t,n)=>t.height-n.height,Do=(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 _o=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:Mo,get:A,name:Po,pitchClass:ho,accidentals:vo,octave:yo,midi:bo,ascending:Bt,descending:Do,sortedNames:On,sortedUniqNames:Ut,fromMidi:zt,fromMidiSharps:So,freq:Ao,fromFreq:No,fromFreqSharps:Io,chroma:go,transpose:tt,tr:To,transposeBy:Fn,trBy:jo,transposeFrom:Rn,trFrom:xo,transposeFifths:nt,transposeOctaves:Eo,trFifths:Co,simplify:_o,enharmonic:Ht};var $n={empty:!0,name:"",chordType:""},kn={};function g(t){return typeof t=="string"?kn[t]||(kn[t]=$o(t)):typeof t=="number"?g(Pt[t]||""):_(t)?Fo(t):ot(t)?g(t.name):$n}var wo=f("RomanNumeral.romanNumeral","RomanNumeral.get",g);function Vo(t=!0){return(t?Pt:ko).slice()}function Fo(t){return g(w(t.alt)+Pt[t.step])}var Ro=/^(#{1,}|b{1,}|x{1,}|)(IV|I{1,3}|VI{0,2}|iv|i{1,3}|vi{0,2})([^IViv]*)$/;function Oo(t){return Ro.exec(t)||["","","",""]}var qn="I II III IV V VI VII",Pt=qn.split(" "),ko=qn.toLowerCase().split(" ");function $o(t){let[n,e,r,o]=Oo(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:u({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:Vo,get:g,romanNumeral:wo};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},qo={...Ln,...ht,type:"major",minorRelative:"",scale:y,secondaryDominants:y,secondaryDominantsMinorRelative:y,substituteDominants:y,substituteDominantsMinorRelative:y},Go={...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=>l(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]},Lo=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(",")),zo=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(",")),Bo=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(",")),Uo=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 Ho(t){let n=s(t).pc;if(!n)return qo;let e=Lo(n),r=zn("C",n),o=a=>{let m=g(a);return m.empty?"":l(t,m.interval)+m.chordType};return{...e,type:"major",minorRelative:l(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 Ko(t){let n=s(t).pc;if(!n)return Go;let e=zn("C",n)-3;return{type:"minor",tonic:n,relativeMajor:l(n,"3m"),alteration:e,keySignature:w(e),natural:zo(n),harmonic:Bo(n),melodic:Uo(n)}}function Xo(t){return typeof t=="number"?nt("C",t):typeof t=="string"&&/^b+|#+$/.test(t)?nt("C",R(t)):null}var Bn={majorKey:Ho,majorTonicFromKeySignature:Xo,minorKey:Ko};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(Wo),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 Qo=f("Mode.mode","Mode.get",G);function Hn(){return Jt.slice()}var Jo=f("Mode.mode","Mode.all",Hn);function Zo(){return Jt.map(t=>t.name)}function Wo(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 Yo(t,n){return G(t).intervals.map(e=>l(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=>l(e,m));return o.map((m,i)=>a[i]+m)}}var ta=Kn(Qt.map(t=>t[4])),na=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 ea(t,n,e){return l(e,Xn(t,n))}var Qn={get:G,names:Zo,all:Hn,distance:Xn,relativeTonic:ea,notes:Yo,triads:ta,seventhChords:na,entries:Jo,mode:Qo};function ra(t,n){return n.map(g).map(r=>l(t,u(r))+r.chordType)}function oa(t,n){return n.map(e=>{let[r,o]=Y(e),a=I(t,r);return g(u(a)).name+o})}var Jn={fromRomanNumerals:ra,toRomanNumerals:oa};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 aa(t,n){return Zn(t).map(e=>T(e,n))}var yt={numeric:Zn,chromatic:aa};var ma={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 ia=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 ma;let o=r.name,a=e?r.intervals.map(i=>l(e,i)):[],m=e?e+" "+o:o;return{...r,name:m,type:o,tonic:e,notes:a}}var sa=f("Scale.scale","Scale.get",j);function ca(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 ua(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 la(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 da(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 fa(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 pa(t){let n=fa(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 Ma(t){let{intervals:n,tonic:e}=j(t),r=V(n,e);return o=>o?r(o>0?o-1:o):""}function Pa(t){let{intervals:n,tonic:e}=j(t);return V(n,e)}var ne={degrees:Ma,detect:ca,extended:Yn,get:j,modeNames:da,names:ia,rangeOf:pa,reduced:la,scaleChords:ua,scaleNotes:te,steps:Pa,tokenize:Wn,scale:sa};var ha={empty:!0,name:"",upper:void 0,lower:void 0,type:void 0,additive:[]},va=["4/4","3/4","2/4","2/2","12/8","9/8","6/8","3/8"];function ya(){return va.slice()}var ba=/^(\d*\d(?:\+\d)*)\/(\d+)$/,ee=new Map;function Aa(t){let n=JSON.stringify(t),e=ee.get(n);if(e)return e;let r=Na(Zt(t));return ee.set(n,r),r}function Zt(t){if(typeof t=="string"){let[a,m,i]=ba.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:ya,parse:Zt,get:Aa},ga=t=>Math.log(t)/Math.log(2)%1===0;function Na([t,n]){let e=Array.isArray(t)?t.reduce((i,c)=>i+c,0):t,r=n;if(e===0||r===0)return ha;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":ga(r)?"irregular":"irrational";return{empty:!1,name:o,type:m,upper:e,lower:r,additive:a}}var Ia=(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:Ia};var Sa={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"]},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"],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 ja(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:ja,lefthand:oe,triads:Sa,all:Ta,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 xa(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:xa};var Ca=at,Ea=Dt,Da=_t,_a=Ft;return Me(wa);})();
2
2
  //# sourceMappingURL=tonal.min.js.map