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