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